Signed-off-by: Isaku Yamahata <yamah...@valinux.co.jp>
---
Changes v2 -> v3:
- de-GRE
---
 ryu/app/client.py |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/ryu/app/client.py b/ryu/app/client.py
index fcf1283..01a482c 100644
--- a/ryu/app/client.py
+++ b/ryu/app/client.py
@@ -96,3 +96,49 @@ class OFPClientV1_0(RyuClientBase):
 
 
 OFPClient = OFPClientV1_0
+
+
+class TunnelClientV1_0(RyuClientBase):
+    version = 'v1.0'
+
+    # /tunnels/networks/{network-id}/key/{tunnel_key}
+    # /tunnels/switches/{dpid}/ports/{port-id}/{remote_dpip}
+    path_tunnels = 'tunnels'
+    path_key = path_tunnels + '/networks/%(network_id)s/key'
+    path_tunnel_key = path_key + '/%(tunnel_key)s'
+    path_ports = path_tunnels + '/switches/%(dpid)s/ports'
+    path_port = path_ports + '/%(port_no)s'
+    path_remote_dpid = path_port + '/%(remote_dpid)s'
+
+    def __init__(self, address):
+        super(TunnelClientV1_0, self).__init__(self.version, address)
+
+    def get_tunnel_key(self, network_id):
+        return self._do_request_read('GET', self.path_key % locals())
+
+    def delete_tunnel_key(self, network_id):
+        return self._do_request_read('DELETE', self.path_key % locals())
+
+    def create_tunnel_key(self, network_id, tunnel_key):
+        self._do_request('POST', self.path_tunnel_key % locals())
+
+    def update_tunnel_key(self, network_id, tunnel_key):
+        self._do_request('PUT', self.path_tunnel_key % locals())
+
+    def list_ports(self, dpid):
+        return self._do_request_read('GET', self.path_ports % locals())
+
+    def delete_port(self, dpid, port_no):
+        return self._do_request_read('DELETE', self.path_port % locals())
+
+    def get_remote_dpid(self, dpid, port_no):
+        return self._do_request_read('GET', self.path_port % locals())
+
+    def create_remote_dpid(self, dpid, port_no, remote_dpid):
+        self._do_request('POST', self.path_remote_dpid % locals())
+
+    def update_remote_dpid(self, dpid, port_no, remote_dpid):
+        self._do_request('PUT', self.path_remote_dpid % locals())
+
+
+TunnelClient = TunnelClientV1_0
-- 
1.7.10.4


------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
TUNE You got it built. Now make it sing. Tune shows you how.
http://goparallel.sourceforge.net
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to