The motivation of this series is to allow some sequences of actions that include MPLS actions to be performed using recirculation. Sequences of actions that could not previously be handled.
For example pop_mpls:0x0800,dec_ttl. This uses recirculation after the pop_mpls action to allow access to L3 information of the inner packet which is used by the dec_ttl action. Key changes between v3 and v4 * Drop patches that add execution in userspace to allow recirculation when the in_port is not present in the datapath. This is a deeper problem than I thought and is being discussed separately. Key changes between v2 and v3 * Drop support for patch ports * Rework support for packet out - Broken out into separate patches which start by adding infrastructure and using it for recirculation for bonding Key changes between v1 and v2 * Support for: packet_out and patch ports * More tests Unlike previous versions of this patch-set this version has no pre-requisites. To aid review this series and its dependencies are available in git https://github.com/horms/openvswitch devel/mpls-flow-based-recirculation-v4 Simon Horman (9): flow: Add mf_is_l3_or_higher() ofproto-dpif: Add table_is_internal() helper ofproto-dpif: Move RECIRC_RULE_PRIORITY to common header ofproto-dpif: Add recirc_id field to struct rule_dpif ofproto-dpif: Add idle_timeout parameter to ofproto_dpif_add_internal_flow() ofproto-dpif: MPLS recirculation ofp-actions: Allow pop_mpls on MPLS packets ofproto-dpif: Break out MPLS controller tests into their own test ofproto-dpif: Add MPLS tests lib/meta-flow.h | 8 + lib/ofp-actions.c | 6 - ofproto/bond.c | 3 +- ofproto/ofproto-dpif-xlate.c | 172 +++++++- ofproto/ofproto-dpif.c | 64 ++- ofproto/ofproto-dpif.h | 8 + tests/ofproto-dpif.at | 988 ++++++++++++++++++++++++++++++++++++++----- 7 files changed, 1115 insertions(+), 134 deletions(-) -- 1.8.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev