Hi Ben, Hi All, this series adds infrastructure and message endoding 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/ This is a trimmed down set of patches, I have many more, but rather than sending an enourmous patch-bomb I wanted to send something a bit more easily digested. I believe this seris is ready for review. Base ---- This series is based the of1.1 branch of git://benpfaff.org/openvswitch, commit 43dc5f654a39c3bb52d04ba5452d6c27bf53a0a7 (ofp-util: Work on decoding OF1.1 flow_mods.). It also depends on "ofp-util: Add OFPUTIL_P_OF12 and NXFF_OPENFLOW12" which was merged into the master branch of the upstream git tree earlier today. Patches ------- Patches 1-3 could be applied the master branch though some conflict resolution may be required. I can rebase and resumbit if desired (though I would rather if of1.1 could be merged upstream). [PATCH 01/24] ofp-util: Reduce scope of variables in [PATCH 02/24] nx-match: Do not include NXM only matches when putting [PATCH 03/24] nx-match: Separate raw match and header/pad pull/put Patches 4-23 depend on the of1.1 branch directly or indirectly (though I may have missed one or two that could be applied upstream, again, I'd be happu if of1.1 was merged). [PATCH 04/24] ofp-util: Add ofputil_pull_ofp12_match() [PATCH 05/24] ofp-util: Allow decoder to use [PATCH 06/24] ofp-util: Allow encoding of Open Flow 1.1 & 1.2 [PATCH 07/24] ofp-util: Make ofperr_encode_msg__() use correct Open [PATCH 08/24] ofp-util: Make make_echo_request() aware of different [PATCH 09/24] ofp-print: Use the prevailing protocol to call [PATCH 10/24] learning-switch: Call ofputil_encode_flow_mod() with [PATCH 11/24] ovs-controller: Make sure vconn is connected before [PATCH 12/24] learning-switch: Send Features Request and Set Config [PATCH 13/24] ofp-util: Allow encoding of Open Flow 1.2 Flow Mod [PATCH 14/24] ofp-util: Allow decoding of Open Flow 1.2 Flow Mod [PATCH 15/24] ofp-util: Update ofputil_capabilities for Open Flow [PATCH 16/24] ofp-util: Update OFPC_COMMON and add [PATCH 17/24] ofp-util: Allow encoding of Open Flow 1.2 Packet In [PATCH 18/24] ofp-util: Allow decoding of Open Flow 1.2 Packet In [PATCH 19/24] ofp-msgs: Update OFPRAW_OFPT_SET_CONFIG for OpenFlow [PATCH 20/24] ofp-util: Prepare Packet Out decoder for other Open [PATCH 21/24] ofp-util: Allow decoding of Open Flow 1.1 and 1.2 [PATCH 22/24] ofp-util: Prepare Packet Out encoder for other Open [PATCH 23/24] ofp-util: Allow encoding of Open Flow 1.1 and 1.2 This is a hack to allow my ovs-controller and Ryu testing to work. It should not be applied, ever. [PATCH 24/24] Local Hack: Allow Open Flow 1.2 session to be Overall Diffstat (Excluding patch 24) ------------------------------------- lib/learning-switch.c | 21 +- lib/nx-match.c | 256 +++++++++++++++++++++++--- lib/nx-match.h | 17 + lib/ofp-errors.c | 30 +-- lib/ofp-errors.h | 2 lib/ofp-msgs.c | 3 lib/ofp-msgs.h | 5 lib/ofp-print.c | 13 + lib/ofp-util.c | 419 ++++++++++++++++++++++++++++++++------------ lib/ofp-util.h | 23 +- lib/rconn.c | 7 lib/vconn.c | 7 ofproto/connmgr.c | 3 utilities/ovs-controller.c | 20 ++ utilities/ovs-ofctl.c | 49 +++-- 15 files changed, 687 insertions(+), 188 deletions(-) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev