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

Reply via email to