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 <[email protected]> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel