[ovs-dev] [PATCH v2.34] datapath: Add basic MPLS support to kernel

Simon Horman horms at verge.net.au
Tue Jul 2 04:16:28 UTC 2013


On Mon, Jul 01, 2013 at 04:42:46PM -0700, Jesse Gross wrote:
> On Wed, Jun 26, 2013 at 1:18 AM, Simon Horman <horms at verge.net.au> wrote:
> > Allow datapath to recognize and extract MPLS labels into flow keys
> > and execute actions which push, pop, and set labels on packets.
> >
> > Based heavily on work by Leo Alterman, Ravi K, Isaku Yamahata and Joe Stringer.
> >
> > Cc: Ravi K <rkerur at gmail.com>
> > Cc: Leo Alterman <lalterman at nicira.com>
> > Cc: Isaku Yamahata <yamahata at valinux.co.jp>
> > Cc: Joe Stringer <joe at wand.net.nz>
> > Signed-off-by: Simon Horman <horms at verge.net.au>
> 
> Simon, have you thought any more about the header ordering issues? I
> don't think we've reached a conclusion at this point.

I believe that you then raised the issue of QinQ, which somehow
I failed to respond to, I apologise for that.

In particular, my understanding is that you are concerned the code will
miss-calculate the end of L2 headers in the presence of multiple VLAN tags.
Thus resulting in an MPLS push action inserting an MPLS LSE after the first
rather than the last VLAN tag. And that would likely change if QinQ support
was added to Open vSwtich.

I wonder if a good way forwards is to enhance the calculation
of the end of L2 headers (mac_len) and the beginning of L3 headers
(network_header) in ovs_flow_extract() such that it takes into
account the presence of more than one VLAN tag.



More information about the dev mailing list