Hi Ben, Hi All,

this series adds infrastructure and message encoding and decoding
to allow Open Flow 1.2 to be used to the extent that ovs-controller
works as a learning-switch and similar logic implemented using Ryu[1].

[1] Ryu is an OpenFlow controller implemented in Python
    http://osrg.github.com/ryu/

Differing from the previous posting, this series supports encoding and
decoding of Table and Port Status request and reply messages: I incorrectly
claimed that about the previous posting too.

This series also resolves several testsuite failures and warnings
flagged by sparse.

Base
----

This series is based the current master branch


Availability
------------

This series is available in the devel/of1.2 (n.b: not devel/of12) branch
of git://github.com/horms/openvswitch.git
(a56948f1400916b0993a5423828c9077804f457d).


Patches
-------

Patches 1-9 are infrastructure patches and other supporting changes
indirectly related to Open Flow 1.2 messages.

[PATCH 01/47] ofp-util: Set switch_features actions to zero for Open
[PATCH 02/47] nx-match: Separate raw match and header/pad pull/put
[PATCH 03/47] ofp-util: Add ofputil_pull_ofp12_match()
[PATCH 04/47] ofp-util: Allow encoding of Open Flow 1.1 & 1.2
[PATCH 05/47] ofp-util: Make ofperr_encode_msg__() use correct Open
[PATCH 06/47] ofp-error: Remove ofperr_domain from external API
[PATCH 07/47] ofp-util: Make make_echo_request() aware of different
[PATCH 08/47] ofp-print: Use the prevailing protocol to call
[PATCH 09/47] learning-switch: Send Features Request and Set Config

Patches 10-44 add support for encoding and decoding of a
number of Open Flow 1.2 messages.

[PATCH 10/47] ofp-util: Allow encoding of Open Flow 1.2 Flow Mod
[PATCH 11/47] ofp-util: Allow decoding of Open Flow 1.2 Flow Mod
[PATCH 12/47] ofp-util: Allow encoding of Open Flow 1.2 Packet In
[PATCH 13/47] ofp-util: Allow decoding of Open Flow 1.2 Packet In
[PATCH 14/47] ofp-msgs: Update OFPRAW_OFPT_SET_CONFIG for OpenFlow
[PATCH 15/47] ofp-actions: Return action size
[PATCH 16/47] ofp-util: Prepare Packet Out encoder for other Open
[PATCH 17/47] ofp-util: Allow encoding of Open Flow 1.1 and 1.2
[PATCH 18/47] ofp-util: Prepare Packet Out decoder for other Open
[PATCH 19/47] ofp-util: Allow decoding of Open Flow 1.1 and 1.2
[PATCH 20/47] ofp-util: Allow encoding of Open Flow 1.2 Flow Removed
[PATCH 21/47] ofp-util: Allow encoding Open Flow 1.2 Flow Stats
[PATCH 22/47] ofp-util: Allow use of OF12 flow format
[PATCH 23/47] ofp-util: Allow encoding of Open Flow 1.2 Port Mod
[PATCH 24/47] ofp-util: Allow decoding of Open Flow 1.2 Port Mod
[PATCH 25/47] ofp-msgs: Split OFPRAW_OFPST_FLOW_{REQUEST,REPLY}
[PATCH 26/47] ofp-util: Prepare Flow Statistics Request Decoder for
[PATCH 27/47] ofp-util: Allow decoding of Open Flow 1.2 Flow
[PATCH 28/47] ofp-util: Allow encoding of Open Flow 1.2 Flow
[PATCH 29/47] ofp-util: Allow decoding of Open Flow 1.2 Flow
[PATCH 30/47] ofp-msgs: Split OFPRAW_OFPST_AGGREGATE_REQUEST
[PATCH 31/47] ofp-msgs: Allow 1.0-1.2 range
[PATCH 32/47] ofp-msgs: Split OFPRAW_OFPST_TABLE_REPLY
[PATCH 33/47] ofp-print: Enable display of Open Flow 1.1 & 1.2 Table
[PATCH 34/47] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Table
[PATCH 35/47] ovs-ofctl: Use vconn as a parameter of
[PATCH 36/47] ofp-msgs: Allow encoding and decoding of Open Flow 1.1
[PATCH 37/47] ofp-msgs: Split OFPRAW_OFPST_PORT_{REQUEST,REPLY}
[PATCH 38/47] ovs-ofputil: Make str_to_port_no() aware of invalid
[PATCH 39/47] ofp-util: Pass vconn to fetch_port_by_features()
[PATCH 40/47] ofp-util: Allow encoding of Open Flow 1.1 & 1.2 Port
[PATCH 41/47] ofp-print: Allow printing of Open Flow 1.1 & 1.2 Port
[PATCH 42/47] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Port
[PATCH 43/47] ofp-print: Allow printing of Open Flow 1.1 & 1.2 Port
[PATCH 44/47] ovs-ofctl: Teach dump-ports about Open Flow 1.1 & 1.2

The last three patches are local hacks I have been using.  They should not
be applied but are provided for reference, in particular for anyone who
wishes to try learning-switch testing. These patches should not be applied.

[PATCH 45/47] Local: learning-switch: Call ofputil_encode_flow_mod()
[PATCH 46/47] Local: ovs-controller: Make sure vconn is connected
[PATCH 47/47] Local: Allow Open Flow 1.2 session to be negotiated

Overall Diffstat (excluding patches 45-47)
------------------------------------------

 build-aux/extract-ofp-msgs      |    3 
 include/openflow/openflow-1.1.h |    4 
 include/openflow/openflow-1.2.h |    5 
 lib/learning-switch.c           |   13 
 lib/nx-match.c                  |  235 +
 lib/nx-match.h                  |   14 
 lib/ofp-actions.c               |    5 
 lib/ofp-actions.h               |    4 
 lib/ofp-errors.c                |  103 
 lib/ofp-errors.h                |   18 
 lib/ofp-msgs.h                  |   63 
 lib/ofp-print.c                 |  274 +
 lib/ofp-util.c                  |  617 ++--
 lib/ofp-util.h                  |   17 
 lib/rconn.c                     |    7 
 lib/vconn.c                     |    7 
 ofproto/connmgr.c               |    3 
 ofproto/ofproto-dpif.c          |   32 
 ofproto/ofproto-provider.h      |   71 
 ofproto/ofproto.c               |  222 +
 tests/learn.at                  |    2 
 tests/ofp-print.at              | 4602 +++++++++++++++++++++++++++++-
 tests/ofproto.at                |   12 
 utilities/ovs-ofctl.c           |  214 -
 24 files changed, 5971 insertions(+), 576 deletions(-)
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to