This is a revised version of GRE tunnel support, which is greatly simplified
from the previous version.
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
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-oct-11-2012
git://github.com/yamahata/openvswitch.git ryu-gre-tunnel-oct-11-2012
git://github.com/yamahata/quantum.git ryu-gre-tunnel-oct-11-2012
git://github.com/yamahata/devstack.git ryu-gre-tunnel-oct-11-2012
thanks,
Isaku Yamahata (38):
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
lib/synchronized: introduce helper decorator to lock
app/tunnel_port_updater: application that creates/deletes tunnel
ports
app: Add quantum adapter
bin/ryu-manager: work around gflags of quantum_adapter
ryu/app/ovsdb_client: easy test app for lib/ovs/db_client.py
ryu/app/ovs_vsctl: test program for lib/ovs/vsctl.py
local: local modification to test ovsdb_client, ovs_vsctl
etc/ryu/ryu.conf: local modification
docs: tunneling app
bin/ryu-client | 37 +-
bin/ryu-manager | 9 +-
doc/source/openstack.rst | 1 +
doc/source/tunneling_with_openstack.rst | 324 ++++++
etc/ryu/ryu.conf | 5 +
ryu/app/client.py | 171 ++-
ryu/{lib/dpid.py => app/conf_switch_key.py} | 16 +-
ryu/app/gre_tunnel.py | 928 ++++++++++++++++
ryu/app/ovs_vsctl.py | 47 +
ryu/app/ovsdb_client.py | 44 +
ryu/app/quantum_adapter.py | 580 ++++++++++
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/{lib/dpid.py => app/wsgi_path.py} | 16 +-
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/lib/{dpid.py => synchronized.py} | 21 +-
ryu/utils.py | 27 +-
31 files changed, 5983 insertions(+), 165 deletions(-)
create mode 100644 doc/source/tunneling_with_openstack.rst
copy ryu/{lib/dpid.py => app/conf_switch_key.py} (69%)
create mode 100644 ryu/app/gre_tunnel.py
create mode 100644 ryu/app/ovs_vsctl.py
create mode 100644 ryu/app/ovsdb_client.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
copy ryu/{lib/dpid.py => app/wsgi_path.py} (69%)
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
copy ryu/lib/{dpid.py => synchronized.py} (69%)
--
1.7.10.4
------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel