This patch series implements an ryu application which support gre tunneling.
The first part (1-6) is simpley trivial bug fix, refactoring. The second part (7-15) is for openflow parser/serializer imporvement. The thirt part (16-30) is preparation for gre tunneling the last port(31-32) is real implementation. For convenience I uploaded the sources at [email protected]:yamahata/ryu.git ryu-gre-tunnel-apr-04-2012 [email protected]:yamahata/quantum.git ryu-gre-tunnel-apr-04-2012 [email protected]:yamahata/nova.git ryu-gre-tunnel-apr-04-2012 USAGE ----- Basically GRE tunneling app can be used in same way to simple isolation. The compute/network node has single ip address. The difference is - nova - a small patch is necessary - nova.conf The options, libvirt_ovs_ryu_api_host and linuxnet_ovs_ryu_api, are deprecated. They are just ignored. - ryu.ini The new options are introduced to specify ip address for gre tunneling. "tunnel_ip" and "physical_interface". - tunnel_ip = ip address for GRE tunneling. - physical_interface = network physical interface. IP address is derived from this interface. One of them can be specified for IP address of the gre tunnel. If neither of them are specified, the host IP address is guessed in same way of nova. thanks Isaku Yamahata (32): app/simple_isolation: unbreak nx patch add missing super().__init__() app/wsapi/WSPathArbitraryString: wrong indent app/wsapi: make WSPathComponent inherit object app/wspath: URI parsers and related constants ryu/app/client: factor out rest client code ofproto/ofproto_v1_0: more constants for nx ofproto/ofproto_v1_0_parser: improve NXTRequest initializer ofproto/ofproto_v1_0_parser: serializer for nxt_flow_mod_table_id ofproto/ofproto_v1_0_parser: serializer for NXActionResbumit controller, ofproto_v1_0: avoid format for argument ofproto/ofproto_v1_0_parser: make FlowMod allow meaningful default parameter ofproto/ofproto_v1_0_parser: flowmod default parameter app: use symbol instead of 32678 for default priority controller/controller: make send_flow_mod() allow default value for priority lib/mac: improve helper functions ryu/exception: introduce more exception for later user app/rest_nw_id: add type for vport-gre and RESERVED_NETWORK_IDS dpset: add port{add, delete, modify} event for convenience and helper functions controller/network: factor out network.py and add event generator for gre tunnel and helper methods app/rest: add API to register/update mac address for a given port app/client: add mac support bin/ryu-client: support mac address tracking controller/tunnel: introduce new class that tracks infos related to tunneling ryu-manager: pass tunnels as kwargs to applications app/rest_tunnel: REST API for tunnel app/client: add helper function to ignore NOT_FOUND, 404 app/client: add GRE tunnel client bin/ryu-client: support gre tunnel client bin/ryu-manager: add rest_tunnel to default applications app/gre_tunnel: implement GRETunnel app bin/ryu-manager: make GRETunnel default app, remove SimpleIsolation bin/ryu-client | 41 ++- bin/ryu-manager | 16 +- ryu/app/cbench.py | 4 +- ryu/app/client.py | 127 +++++- ryu/app/event_dumper.py | 1 + ryu/app/gre_tunnel.py | 847 ++++++++++++++++++++++++++++++++++++ ryu/app/rest.py | 126 +++++- ryu/app/rest_nw_id.py | 9 +- ryu/app/rest_tunnel.py | 230 ++++++++++ ryu/app/simple_isolation.py | 14 +- ryu/app/simple_switch.py | 4 +- ryu/app/wsapi.py | 8 +- ryu/app/wspath.py | 95 ++++ ryu/controller/controller.py | 16 +- ryu/controller/dispatcher.py | 2 + ryu/controller/dpset.py | 79 ++++- ryu/controller/mac_to_network.py | 1 + ryu/controller/mac_to_port.py | 1 + ryu/controller/network.py | 324 ++++++++++++--- ryu/controller/tunnels.py | 196 +++++++++ ryu/exception.py | 17 + ryu/lib/mac.py | 16 +- ryu/ofproto/ofproto_v1_0.py | 12 + ryu/ofproto/ofproto_v1_0_parser.py | 81 +++- 24 files changed, 2116 insertions(+), 151 deletions(-) create mode 100644 ryu/app/gre_tunnel.py create mode 100644 ryu/app/rest_tunnel.py create mode 100644 ryu/app/wspath.py create mode 100644 ryu/controller/tunnels.py ------------------------------------------------------------------------------ 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
