add end point and hook up api
diff --git a/web/ons-demo/js/controller.js b/web/ons-demo/js/controller.js
index a6726bb..35df661 100644
--- a/web/ons-demo/js/controller.js
+++ b/web/ons-demo/js/controller.js
@@ -10,6 +10,11 @@
 	});
 }
 
+function MAC(dpid) {
+	var cmps = dpid.split(':');
+	var MAC = '00:00:c0:a8:' + [cmps[6], cmps[7]].join(':');
+	return MAC;
+}
 
 var controllerFunctions = {
 	linkCmd: function (cmd, link) {
@@ -26,7 +31,8 @@
 		callURL(url);
 	},
 	addFlowCmd: function (src, dst) {
-		alert('add flow')
+		var url = '/proxy/gui/addflow/' + [src.dpid, 1, dst.dpid, 1, MAC(src.dpid), MAC(dst.dpid)].join('/');
+		callURL(url);
 	},
 	delFlowCmd: function (flow) {
 		alert('delete flow')
diff --git a/web/topology_rest.py b/web/topology_rest.py
index 40e36ae..ccf9a53 100755
--- a/web/topology_rest.py
+++ b/web/topology_rest.py
@@ -127,6 +127,19 @@
   resp = Response(result, status=200, mimetype='application/json')
   return resp
 
+@app.route("/proxy/gui/addflow/<src_dpid>/<src_port>/<dst_dpid>/<dst_port>/<srcMAC>/<dstMAC>")
+def proxy_add_flow(src_dpid, src_port, dst_dpid, dst_port, srcMAC, dstMAC):
+  try:
+    command = "curl -s %s/gui/addflow/%s/%s/%s/%s/%s/%s" % (ONOS_GUI3_CONTROL_HOST, src_dpid, src_port, dst_dpid, dst_port, srcMAC, dstMAC)
+    print command
+    result = os.popen(command).read()
+  except:
+    print "REST IF has issue"
+    exit
+
+  resp = Response(result, status=200, mimetype='application/json')
+  return resp
+
 @app.route("/wm/core/topology/switches/all/json")
 def switches():
   if request.args.get('proxy') == None:
@@ -729,7 +742,7 @@
   cmd = 'up'
   result=""
 
-  for dpid in (src_dpid, dst_dpid): 
+  for dpid in (src_dpid, dst_dpid):
     if dpid in core_switches:
       host = controllers[0]
       src_ports = [1, 2, 3, 4, 5]