GRE tunnel support This is version 7 of GRE tunnel support. Major change is avoid blocking in direct datapath handler (and drop unnecessary patches).
1, 2: ovs lib To catch up the upstream of OVS. 3: ryu/controller/dispatcher: introduce thread based event queue patch reorder: Move up in the patch. And monir fixes. 4: ryu/controller/handler_util.py: utility class for event queue Newly introduced 15: app/gre_tunnel: implement GRETunnel app Make use of handler_utils 31: app: Add quantum adapter Make use of handler_utils Other patches are not changed. The trees are available at (NOTE: only Ryu is updated. Quantum and devstack are same to v6) git://github.com/yamahata/ryu.git ryu-gre-tunnel-nov-30-2012 git://github.com/yamahata/quantum.git ryu-gre-tunnel-nov-21-2012 git://github.com/yamahata/devstack.git ryu-gre-tunnel-nov-21-2012 Changes v6 -> v7: - Introduce helper method for queue serialization and queueing/dispatching requests - avoid blocking in quantum_adapter Changes v5 -> v6: - Added rest API to associate iface-id to network-id This is necessary to drop PortBinding table from Quantum db and for quantum_adapter to pass info to gre_tunnel. - quantum-adapter - eliminate db connection to quantum db - get mac address from ovsdb - don't use monitor, but use OF port_mod event - more on thread safety avoid dead lock in quantum_adapter Changes v4 -> v5: - dropped unnecessary patches - eliminated unused code of vsctl, ovsbridge - addressed review Changes v3 -> v4: - minor bug fixes - include synchronization.py - documentation update - instance metadata Changes v2 -> v3: - pylint - fixed some race condition Changes v1 -> v2: - eliminated cork/uncork. - teash OVSVethInterfaceDriver - reorder patch series Isaku Yamahata (32): Revert "contrib/ovs/stream.py: TypeError: bad operand type for unary -: 'NoneType'" From: Ben Pfaff <b...@nicira.com> Date: Wed, 21 Nov 2012 09:00:39 -0800 Subject: [PATCH] python/ovs/stream: Fix Stream.connect() retval for incomplete connection. ryu/controller/dispatcher: introduce thread based event queue ryu/controller/handler_util.py: utility class for event queue app/rest: add requirements to path component 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 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: introduce a class to manage per-switch configuration ryu/app: REST API to set per-switch configuration ryu/app/client: support conf_switch bin/ryu-client: support switch_conf ryu/controller/network.py: add helper functions for tunnel updater 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 lib/synchronized: introduce helper decorator for synchronization app/tunnel_port_updater: application that creates/deletes tunnel ports bin/ryu-manager: import ryu.flags for common options ryu/lib/quantum_ifaces.py: track the relation of quantum iface-id rest/quantum: quantum iface REST API ryu/app/client: teach quantum iface api bin/ryu-client: teach quantum iface rest api app: Add quantum adapter docs: tunneling app bin/ryu-client | 62 +- bin/ryu-manager | 1 + doc/source/openstack.rst | 1 + doc/source/tunneling_with_openstack.rst | 312 +++++++ ryu/app/client.py | 204 ++++- ryu/app/conf_switch_key.py | 18 + ryu/app/gre_tunnel.py | 908 +++++++++++++++++++++ ryu/app/quantum_adapter.py | 430 ++++++++++ ryu/app/rest.py | 66 +- ryu/app/rest_conf_switch.py | 173 ++++ ryu/app/rest_nw_id.py | 20 +- ryu/app/rest_quantum.py | 127 +++ ryu/app/rest_tunnel.py | 210 +++++ ryu/app/tunnel_port_updater.py | 470 +++++++++++ ryu/contrib/ovs/stream.py | 30 +- ryu/controller/conf_switch.py | 105 +++ ryu/controller/dispatcher.py | 86 +- ryu/controller/dpset.py | 105 ++- ryu/controller/handler_utils.py | 164 ++++ ryu/controller/network.py | 338 ++++++-- ryu/controller/tunnels.py | 210 +++++ ryu/flags.py | 22 + ryu/lib/ovs/bridge.py | 186 +++++ ryu/lib/ovs/vsctl.py | 1351 +++++++++++++++++++++++++++++++ ryu/lib/ovs/vswitch_idl.py | 175 ++++ ryu/lib/quantum_ifaces.py | 89 ++ ryu/lib/synchronized.py | 29 + 27 files changed, 5750 insertions(+), 142 deletions(-) create mode 100644 doc/source/tunneling_with_openstack.rst 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_quantum.py create mode 100644 ryu/app/rest_tunnel.py create mode 100644 ryu/app/tunnel_port_updater.py create mode 100644 ryu/controller/conf_switch.py create mode 100644 ryu/controller/handler_utils.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/vsctl.py create mode 100644 ryu/lib/ovs/vswitch_idl.py create mode 100644 ryu/lib/quantum_ifaces.py create mode 100644 ryu/lib/synchronized.py -- 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