This is a revised version of GRE tunnel support, which is greatly simplified from the previous version. dispatcher.cork/uncork should be fixed, but I'd like to post the patch first.
Known issue: If net namespace is used, instance metadata can't be retrieved. This is because routing must be set manually. For more details, please see https://review.openstack.org/#/c/13693/1/stack.sh Changes v2 -> v3: - pylint - fixed some race condition Changes v1 -> v2: - eliminated cork/uncork. - teash OVSVethInterfaceDriver - reorder patch series quantum and openvswitch need patch. the patched trees are available for convenience. patches devstack is also avaiable. git://github.com/yamahata/ryu.git ryu-gre-tunnel-sep-28-2012 git://github.com/yamahata/openvswitch.git ryu-gre-tunnel-sep-28-2012 git://github.com/yamahata/quantum.git ryu-gre-tunnel-sep-28-2012 git://github.com/yamahata/devstack.git ryu-gre-tunnel-sep-26-2012 thanks, Isaku Yamahata (32): utils: avoid double import and don't append sys.path with same path ryu/controller/controller: add a helper method, is_reserved_port() wsgi/routes: add regex pattern for each REST component app/rest: add requirements to path component ryu/exception: introduce more exception for later use app/rest_nw_id: add port type for reserved port and vport-gre ryu/app/client: factor out rest client code app/client: add helper function to ignore NOT_FOUND, 404 controller/network: factor out network.py and add event generator for gre tunnel and helper methods dpset: add port{add, delete, modify} event for convenience and helper functions app/rest: add API to register/update mac address for a given port app/rest: add requirements to path component app/client: add mac support bin/ryu-client: support mac address tracking controller/tunnel: introduce new class that tracks infos related to tunneling app/rest_tunnel: REST API for tunnel app/client: add tunnel client bin/ryu-client: support gre tunnel client app/gre_tunnel: implement GRETunnel app controller/switch_conf: add interface to store per-switch configuration ryu/app: REST API to set per-switch configuration ryu/app/client: support conf_switch bin/ryu-client: support switch_conf exception: Add OVSBridgeNotFound exception ryu/controller/network.py: add helper functions for tunnel updater lib/ovs/db_client: library for low-level ovsdb manipulation lib/ovs: add constants for ovsdb Open_vSwitch db lib/ovs/vsctl: python reimplementation of ovs-vsctl ovs/bridge: helper class to manipulate ovs bridge app/tunnel_port_updater: application that creates/deletes tunnel ports app: Add quantum adapter bin/ryu-manager: work around gflags of quantum_adapter bin/ryu-client | 37 +- bin/ryu-manager | 4 +- ryu/app/client.py | 171 ++++- ryu/app/conf_switch_key.py | 18 + ryu/app/gre_tunnel.py | 926 +++++++++++++++++++++++ ryu/app/quantum_adapter.py | 578 +++++++++++++++ ryu/app/rest.py | 146 +++- ryu/app/rest_conf_switch.py | 173 +++++ ryu/app/rest_nw_id.py | 20 +- ryu/app/rest_tunnel.py | 210 ++++++ ryu/app/tunnel_port_updater.py | 470 ++++++++++++ ryu/app/wsgi_path.py | 18 + ryu/controller/conf_switch.py | 105 +++ ryu/controller/controller.py | 3 + ryu/controller/dpset.py | 105 ++- ryu/controller/network.py | 334 +++++++-- ryu/controller/tunnels.py | 197 +++++ ryu/exception.py | 20 + ryu/lib/dpid.py | 4 +- ryu/lib/mac.py | 2 + ryu/lib/ovs/bridge.py | 228 ++++++ ryu/lib/ovs/db_client.py | 132 ++++ ryu/lib/ovs/vsctl.py | 1601 ++++++++++++++++++++++++++++++++++++++++ ryu/lib/ovs/vswitch_idl.py | 172 +++++ ryu/utils.py | 27 +- 25 files changed, 5576 insertions(+), 125 deletions(-) create mode 100644 ryu/app/conf_switch_key.py create mode 100644 ryu/app/gre_tunnel.py create mode 100644 ryu/app/quantum_adapter.py create mode 100644 ryu/app/rest_conf_switch.py create mode 100644 ryu/app/rest_tunnel.py create mode 100644 ryu/app/tunnel_port_updater.py create mode 100644 ryu/app/wsgi_path.py create mode 100644 ryu/controller/conf_switch.py create mode 100644 ryu/controller/tunnels.py create mode 100644 ryu/lib/ovs/__init__.py create mode 100644 ryu/lib/ovs/bridge.py create mode 100644 ryu/lib/ovs/db_client.py create mode 100644 ryu/lib/ovs/vsctl.py create mode 100644 ryu/lib/ovs/vswitch_idl.py -- 1.7.10.4 ------------------------------------------------------------------------------ Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
