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. Differences between the previous post, v2.9, and this post, v2.10: * Rebase * Check the size of nx_action_mpls_ttl. nx_action_pop_mpls was being checked due to a cut-and-paste error Key differences between v2.8 and v2.9 * Rebase and fix tests accordingly * Always update MPLS bos pointer when VLAN pop is performed in kernel datapath. Key differences between v2.7 and v2.8 * Rebase Key differences between v2.6 and v2.7 * When encoding TTL actions (the last 4 patches) for an OpenFlow 1.1+ message, encode them as OpenFlow 1.1+ actions. Previously they were encoded as NX matches. Key differences between v2.5 and v2.6 * 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. Key differences between v2.4 and v2.5 * Various clean-ups and fises to "User-Space MPLS actions and matches" as noted in its changelog. * New patches to add support for TLS actions * Inclusion of Justin Pettit's patch "flow: Set ttl in flow_compose()", which is a dependency of the "Add support for copy_ttl_out action" patch. Key differences between v2.3 and v2.4 * Minor cleanup to "User-Space MPLS actions and matches" as detailed in its changelog. * A new patch at the end of the series "Add support for set_mpls_ttl action" Changes are detailed 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 8f5cb995c2d5175ab56145528a70ad0ea297e253: INSTALL.RHEL: Explain how to work around RHEL 6 kernel-devel bug. (2012-12-03 14:54:16 -0800) are available in the git repository at: git://github.com/horms/openvswitch.git devel/next for you to fetch changes up to 17328d0c20fecd1088228af2447dd24a51bebb98: Add support for copy_ttl_in action (2012-12-04 13:47:00 +0900) ---------------------------------------------------------------- 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 | 84 ++++++++++++- datapath/datapath.c | 53 ++++++++ datapath/datapath.h | 7 ++ datapath/flow.c | 30 +++++ datapath/flow.h | 7 ++ datapath/vport.c | 2 + include/linux/openvswitch.h | 32 +++++ include/openflow/nicira-ext.h | 39 ++++++ lib/dpif-netdev.c | 13 ++ lib/flow.c | 126 ++++++++++++++++--- lib/flow.h | 17 ++- 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 | 196 +++++++++++++++++++++++++++++- lib/ofp-actions.h | 31 +++++ lib/ofp-parse.c | 48 +++++++- lib/ofp-print.c | 9 +- lib/ofp-util.c | 31 ++++- lib/ofp-util.def | 12 ++ lib/ofpbuf.c | 8 +- lib/ofpbuf.h | 1 + lib/packets.c | 267 ++++++++++++++++++++++++++++++++++++++++- lib/packets.h | 91 ++++++++++++++ ofproto/ofproto-dpif.c | 166 ++++++++++++++++++++++++- tests/odp.at | 13 ++ tests/ofproto-dpif.at | 232 +++++++++++++++++++++++++++++++++++ tests/test-bundle.c | 1 + tests/test-multipath.c | 1 + utilities/ovs-dpctl.c | 18 ++- utilities/ovs-ofctl.8.in | 45 +++++++ 34 files changed, 1951 insertions(+), 47 deletions(-) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev