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
[email protected]
http://openvswitch.org/mailman/listinfo/dev