[ovs-dev] [RFC v4 00/63] Preliminary Open Flow 1.2 Message Support
Simon Horman
horms at verge.net.au
Wed Jun 27 08:24:00 UTC 2012
On Wed, Jun 27, 2012 at 05:19:36PM +0900, Simon Horman wrote:
> Hi Ben,
>
> this series is based on v2 of your Open Flow 1.1 work.
> Please let me know if you feel that I should rebase on top of v3.
>
> Also, I apologise for not having reviewed v3 of your patches yet,
> I will try to get to it before the weekend.
>
>
> In terms of features, I believe that this series brings the
> Open Flow 1.2 implementation to the same level as the Open Flow 1.0
> implementation. However, it is not complete as Open Flow 1.2 includes
> features not present in Open Flow 1.1.
>
> Although this series adds some Open Flow 1.1 support is is not as complete
> as the Open Flow 1.2 implementation. It should not be difficult to fill in
> the gaps, however, it is not a priority for me at this time.
>
>
> Key Changes since v3:
>
> * Fix decoding of flow status messages. There was an error in the
> calculation of the instructions length for all but the last flow. Thus if
> there was more than one flow present decoding would fail.
>
> * Add support for encoding and decoding
> - Port Statistics
> - Port Desc Status (actually introduced in Open Flow 1.3)
> - Queue Statistics
>
> * Correct pretty printing of Open Flow 1.1 and 1.2 variants of
> various messages
>
>
> I have performed limited testing of this series using:
>
> * ovs-controller as the controller for ovs-vswitchd
>
> * ryu as the controller for ovs-vswitchd
> - www.osrg.net/ryu/
>
> * Using the dump-* targets of ovs-ofctl
Sorry for forgetting to include the git information in my post.
I have made my patches available in the (rebased) devel/of12 branch of
git://github.com/horms/openvswitch.git. The current head is
dd1cf6fe49d0839e692d8bafbd9cb70eeb41771a.
> Patch List:
>
> [PATCH 01/63] Local Fix: ofp-util: Work on decoding OF1.1 flow_mods.
> [PATCH 02/63] nx-match: Take into account leading header when
> [PATCH 03/63] ofp-util: Add OFPUTIL_P_OF12 and NXFF_OPENFLOW12
> [PATCH 04/63] ofp-util: Allow decoder to use
> [PATCH 05/63] ofp-util: Make put_openflow_xid() aware of different
> [PATCH 06/63] ovs-controller: Make sure vconn is connected before
> [PATCH 07/63] ofp-util: Make make_openflow() aware of different
> [PATCH 08/63] ofp-util: Make make_openflow_xid() aware of different
> [PATCH 09/63] ofp-util: Make put_openflow() aware of different
> [PATCH 10/63] ofp-util: Make dump_transaction() aware of different
> [PATCH 11/63] ofp-util: Make put_stats*__() aware of different
> [PATCH 12/63] ofp-util: Make ofputil_make_stats_request() aware of
> [PATCH 13/63] ofp-util: Allow encoding of Open Flow 1.1 & 1.2
> [PATCH 14/63] ofp-util: Make ofperr_encode_msg__() use correct Open
> [PATCH 15/63] ofp-util: Make make_echo_request() aware of different
> [PATCH 16/63] openflow: Add Open Flow 1.2 to ofp_to_string__()
> [PATCH 17/63] ofp-util: Add ofputil_put_match()
> [PATCH 18/63] ofp-actions: Enhance ofpacts_to_openflow11 to encode
> [PATCH 19/63] ofp-print: Use the prevailing protocol to call
> [PATCH 20/63] learning-switch: Call ofputil_encode_flow_mod() with
> [PATCH 21/63] ofp-util: Reduce scope of variables in
> [PATCH 22/63] ofp-util: Allow encoding of Open Flow 1.2 Flow Mod
> [PATCH 23/63] ofp-util: Add ofputil_ofp12_decode_match()
> [PATCH 24/63] ofp-util: Allow decoding of Open Flow 1.2 Flow Mod
> [PATCH 25/63] ofp-util: Allow encoding of Open Flow 1.2 Flow Removed
> [PATCH 26/63] ofp-util: Allow decoding of Open Flow 1.2 Flow Removed
> [PATCH 27/63] ofp-util: Allow encoding Open Flow 1.2 Flow Stats
> [PATCH 28/63] ofp-util: Allow encoding of Open Flow 1.2 Port Mod
> [PATCH 29/63] ofp-util: Allow decoding of Open Flow 1.2 Port Mod
> [PATCH 30/63] ofp-util: Update ofputil_capabilities for Open Flow
> [PATCH 31/63] ofp-util: Update OFPC_COMMON and add
> [PATCH 32/63] ofp-util: Allow decoding of Open Flow 1.2 Features
> [PATCH 33/63] ofp-util: Allow encoding of Open Flow 1.2 Packet In
> [PATCH 34/63] ofp-util: Allow decoding of Open Flow 1.2 Packet In
> [PATCH 35/63] ofp-util: Prepare Packet Out decoder for other Open
> [PATCH 36/63] ofp-util: Allow decoding of Open Flow 1.1 and 1.2
> [PATCH 37/63] ofp-util: Prepare Packet Out encoder for other Open
> [PATCH 38/63] ofp-util: Allow encoding of Open Flow 1.1 and 1.2
> [PATCH 39/63] ofp-util: Enable decoding of more Open Flow 1.1 and
> [PATCH 40/63] ofp-util: Allow encoding of Open Flow 1.2 Flow
> [PATCH 41/63] ofp-util: Allow decoding of Open Flow 1.2 Flow
> [PATCH 42/63] ofp-util: Allow decoding of Open Flow 1.2 Flow
> [PATCH 43/63] openflow: Rename ofp_aggregate_stats_reply as
> [PATCH 44/63] ofp-print: Allow display of Open Flow 1.1 & 1.2 Flow
> [PATCH 45/63] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Flow
> [PATCH 46/63] ofp-print: Enable display of Open Flow 1.1 & 1.2 Table
> [PATCH 47/63] nxast: Use ofp11_aggregate_stats_reply for NXAST
> [PATCH 48/63] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Table
> [PATCH 49/63] ofp-util: Allow encoding of Open Flow 1.1 & 1.2 Port
> [PATCH 50/63] ovs-ofctl: Make dump-ports aware of different Open
> [PATCH 51/63] ovs-ofputil: Make str_to_port_no() aware of invalid
> [PATCH 52/63] ofp-util: Pass vconn to fetch_port_by_features()
> [PATCH 53/63] ofp-print: Allow printing of Open Flow 1.1 & 1.2 Port
> [PATCH 54/63] ofp-print: Allow display of Open Flow 1.1 & 1.2 Port
> [PATCH 55/63] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Port
> [PATCH 56/63] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Port
> [PATCH 57/63] ofp-print: Enable display of Open Flow 1.1 & 1.2 Queue
> [PATCH 58/63] ofp-util: Allow encoding of Open Flow 1.1 & 1.2 Queue
> [PATCH 59/63] ofp-util: Allow decoding of Open Flow 1.1 & 1.2 Queue
> [PATCH 60/63] ovs-print: Enable display of Open Flow 1.1 & 1.2 Queue
> [PATCH 61/63] ovs-util: Enable decoding of Open Flow 1.1 & 1.2 Queue
> [PATCH 62/63] ovs-ofpctl: Enable queue-stats for Open Flow 1.1 & 1.2
> [PATCH 63/63] Local Hack: Allow Open Flow 1.2 session to be
>
> Overall diffstat:
>
>
> include/openflow/nicira-ext.h | 19
> include/openflow/openflow-1.1.h | 14
> include/openflow/openflow-1.2.h | 29
> include/openflow/openflow-common.h | 4
> lib/learning-switch.c | 21
> lib/nx-match.c | 27
> lib/nx-match.h | 14
> lib/ofp-actions.c | 36 +
> lib/ofp-actions.h | 3
> lib/ofp-errors.c | 35 -
> lib/ofp-errors.h | 2
> lib/ofp-print.c | 419 ++++++++++++--
> lib/ofp-util.c | 1058 ++++++++++++++++++++++++++++--------
> lib/ofp-util.h | 52 +
> lib/rconn.c | 7
> lib/vconn.c | 20
> ofproto/connmgr.c | 5
> ofproto/ofproto-dpif.c | 32 -
> ofproto/ofproto-provider.h | 71 ++
> ofproto/ofproto.c | 306 +++++++++-
> utilities/ovs-controller.c | 20
> utilities/ovs-ofctl.c | 225 +++++--
> 22 files changed, 1940 insertions(+), 479 deletions(-)
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
More information about the dev
mailing list