[ovs-dev] [PATCH/RFC 0/8] Recirculation for MPLS

Simon Horman horms at verge.net.au
Tue Mar 25 21:24:33 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.


This series, unlike previous versions of this work, is based on Andy Zhou's
recirculation work. This allows this series to be significantly simpler
than its predecessors.

This series requires some more work.  In particular there are a number of
remarks labeled "XXX"in the patch "ofproto-dpif: MPLS recirculatio" which
need to be addressed or removed.

This series depends on the following, both of which I expect to
be changed before being merged:

[PATCH/RFC] ofproto-dpif-upcall: Filter translated mask using flow
[bond megaflow v4 4/4 rebased] ofproto/bond: Implement bond megaflow using recirculation

To aid review this series and its dependencies are available in git

https://github.com/horms/openvswitch devel/recirculation-andy-v4+mpls


Simon Horman (8):
  flow: Add mf_is_l3_or_higher()
  odp-util: Add odp_put_recirc_action() helper
  ofproto-dpif: Add idle_timeout parameter to
    ofproto_dpif_add_internal_flow()
  ofproto-dpif: Add recirc_id field to struct rule_dpif
  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/odp-util.c               |  16 +
 lib/odp-util.h               |   2 +
 lib/ofp-actions.c            |   6 -
 ofproto/bond.c               |   2 +-
 ofproto/ofproto-dpif-xlate.c | 189 +++++++++-
 ofproto/ofproto-dpif.c       |  37 +-
 ofproto/ofproto-dpif.h       |   2 +
 tests/ofproto-dpif.at        | 878 +++++++++++++++++++++++++++++++++++++------
 9 files changed, 991 insertions(+), 149 deletions(-)

-- 
1.8.4




More information about the dev mailing list