[ovs-dev] [PATCH v6 0/6] Flow-Based Recirculation for MPLS
Simon Horman
horms at verge.net.au
Tue May 20 09:24:15 UTC 2014
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.
Caveats:
* Packets with an in port that is not present in the datapath
(e.g. CONTROLLER, patch-ports) may not be recirculated due to limitations
in the recirculation infrastructure used by this patchset. This problem
is common to all users of recirculation (the other is bonding).
* Recirculation looses metadata fields such as registers, the stack,
and original skb priority.
Key changes between v5 and v6
* Dropped patches that have been merged (Thanks Ben!)
* Rebase
* Enhance documentation of recirc id management for no-rule case
* Clean up recirculation trigger in do_xlate_actions()
* Add more test cases to exercise the triggers in do_xlate_actions()
Key changes between v4 and v5
* Dropped patches that have been merged (Thanks Ben!)
* Rebase
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
To aid review this series and its dependencies are available in git
https://github.com/horms/openvswitch devel/mpls-flow-based-recirculation-v5
Simon Horman (6):
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: Add MPLS tests
lib/ofp-actions.c | 6 -
ofproto/bond.c | 3 +-
ofproto/ofproto-dpif-xlate.c | 182 ++++++++-
ofproto/ofproto-dpif.c | 57 ++-
ofproto/ofproto-dpif.h | 6 +
tests/dpif-netdev.at | 1 +
tests/ofproto-dpif.at | 871 +++++++++++++++++++++++++++++++++++++++++++
7 files changed, 1105 insertions(+), 21 deletions(-)
--
1.8.4
More information about the dev
mailing list