Hi, This series implements basic MPLS actions and matches based on work by Ravi K, Leo Alterman and Yamahata-san.
The main limitation of this implementation is that it only supports manipulating the outer-most MPLS label. Key difference between the previous post, v2.5: * Dropped "flow: Set ttl in flow_compose()", this is now present in the master branch * Dropped "nx-match: Do not check pre-requisites for load actions", instead, dl_type changes are tracked to allow correct pre-requisite checking in the presence of push_mpls and pop_mpls actions. Changes are details in the changelog of each patch. The testsuite passes when this series is applied on top of the current master branch. Diffstat and git information is provided to aid review. ---------------------------------------------------------------- The following changes since commit d02a5f8ea4e1da19ccc4f903026b77649472b236: ofproto: Report 0 Mbps when speed not available instead of 100 Mbps. (2012-11-03 18:00:39 -0700) are available in the git repository at: git://github.com/horms/openvswitch.git devel/mpls for you to fetch changes up to 26e5b771abc73df97df86ccfd4c7e19508cd4854: Add support for copy_ttl_in action (2012-11-05 09:27:00 +0800) ---------------------------------------------------------------- Simon Horman (6): datapath: Add basic MPLS support to kernel User-Space MPLS actions and matches Add support for dec_mpls_ttl action Add support for set_mpls_ttl action Add support for copy_ttl_out action Add support for copy_ttl_in action datapath/actions.c | 81 ++++++++++++ datapath/datapath.c | 53 ++++++++ datapath/datapath.h | 7 + datapath/flow.c | 30 +++++ datapath/flow.h | 7 + datapath/vport.c | 2 + include/linux/openvswitch.h | 34 ++++- include/openflow/nicira-ext.h | 39 ++++++ include/openflow/openflow-1.2.h | 2 + lib/dpif-netdev.c | 13 ++ lib/flow.c | 127 ++++++++++++++++--- lib/flow.h | 16 ++- lib/match.c | 88 ++++++++++++- lib/match.h | 6 + lib/meta-flow.c | 124 ++++++++++++++++++ lib/meta-flow.h | 9 ++ lib/nx-match.c | 20 ++- lib/odp-util.c | 171 ++++++++++++++++++++++++- lib/ofp-actions.c | 183 +++++++++++++++++++++++++- lib/ofp-actions.h | 31 +++++ lib/ofp-parse.c | 48 ++++++- lib/ofp-print.c | 9 +- lib/ofp-util.c | 28 +++- lib/ofp-util.def | 12 ++ lib/ofpbuf.c | 8 +- lib/ofpbuf.h | 1 + lib/packets.c | 268 ++++++++++++++++++++++++++++++++++++++- lib/packets.h | 91 +++++++++++++ ofproto/ofproto-dpif.c | 166 +++++++++++++++++++++++- tests/odp.at | 13 ++ tests/ofproto-dpif.at | 232 +++++++++++++++++++++++++++++++++ tests/test-bundle.c | 2 + tests/test-multipath.c | 2 + utilities/ovs-dpctl.c | 18 ++- utilities/ovs-ofctl.8.in | 45 +++++++ 35 files changed, 1940 insertions(+), 46 deletions(-) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev