Signed-off-by: Isaku Yamahata <[email protected]>
---
ryu/app/client.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/ryu/app/client.py b/ryu/app/client.py
index 33e280a..3003616 100644
--- a/ryu/app/client.py
+++ b/ryu/app/client.py
@@ -110,3 +110,49 @@ class OFPClientV1_0(RyuClientBase):
OFPClient = OFPClientV1_0
+
+
+class GRETunnelClientV1_0(RyuClientBase):
+ version = 'v1.0'
+
+ # /tunnels/gre/networks/{network-id}/key/{tunnel_key}
+ # /tunnels/gre/switches/{dpid}/ports/{port-id}/{remote_dpip}
+ path_gre = 'tunnels/gre'
+ path_key = path_gre + '/networks/%(network_id)s/key'
+ path_tunnel_key = path_key + '/%(tunnel_key)s'
+ path_ports = path_gre + '/switches/%(dpid)s/ports'
+ path_port = path_ports + '/%(port_no)s'
+ path_remote_dpid = path_port + '/%(remote_dpid)s'
+
+ def __init__(self, address):
+ super(GRETunnelClientV1_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())
+
+
+GRETunnelClient = GRETunnelClientV1_0
--
1.7.1.1
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel