On Tue, Apr 22, 2014 at 05:54:48PM +0900, Simon Horman wrote: > > 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. > > > This series begins by improving the existing recirculation infrastructure > and allowing output to bonding interfaces to work with recirculation > for packet_out messages with an in_port that is not present in the > datapath. > > The series then builds on this to add recirculation for MPLS. > > > 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 > > > In order for the test-suite to pass and "ofproto-dpif: MPLS recirculation" > to apply without a minor conflict the following patches are required: > > [PATCH/RFC] ofproto-dpif-upcall: Filter translated mask using flow > [PATCH v3] ofproto: per-table statistics > > And the following patch should be reverted > 1f8675481e8cc976 "ofproto-dpif-upcall: Fix ovs-vswitchd crash."
Hi Ben, I'd like to clarify the status of this series. I believe that as it stands it is ready for review. And that the dependencies I list above only affect the reliability of tests added in the last patch of the series: they address issues that are already present in the master branch but don't manifest with the tests currently in the test-suite. > > To aid review this series and its dependencies are available in git > > https://github.com/horms/openvswitch devel/mpls-flow-based-recirculation-v3 > > > > Simon Horman (16): > ofproto-dpif: Move recirc members from struct xlate_out to struct > xlate_ctx > ofproto-dpif: Add has_recirc field to struct xlate_out > dpif: Defer recirc actions in dpif_execute_helper_cb() > dpif: Allow hash actions in dpif_execute_helper_cb() > ofproto-dpif: Execute deferred recirc actions in > ofproto_dpif_execute_actions() > ofproto-dpif: Execute with helper if recirc actions are present > ofproto-dpif: Bonding with in_port that isn't present in the datapath > 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/dpif.c | 40 +- > lib/dpif.h | 10 + > lib/meta-flow.h | 8 + > lib/ofp-actions.c | 6 - > ofproto/bond.c | 3 +- > ofproto/ofproto-dpif-xlate.c | 196 ++++++- > ofproto/ofproto-dpif-xlate.h | 4 +- > ofproto/ofproto-dpif.c | 154 ++++- > ofproto/ofproto-dpif.h | 8 + > tests/ofproto-dpif.at | 1268 > +++++++++++++++++++++++++++++++++++------- > 10 files changed, 1438 insertions(+), 259 deletions(-) > > -- > 1.8.5.2 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev