[ovs-dev] MPLS important comments (was: Re: Patch for MPLS)

Ben Pfaff blp at nicira.com
Fri Mar 23 16:44:05 UTC 2012


On Thu, Mar 22, 2012 at 11:03:10AM -0700, Ben Pfaff wrote:
> On Tue, Mar 13, 2012 at 08:13:11PM +0100, Ravi.Kerur at telekom.com wrote:
> > > It appears that push_mpls() refuses to add an MPLS header if there is
> > > a VLAN tag and the inner Ethertype is not IPv4.  Why?
> > >
> > > <rk> I didn't think any other L3 protocol would fit into the
> > > use-case. For IPV6, it has its own label and I am not sure there
> > > would be a case for <VLAN/IPV6> packet to push a new MPLS
> > > label. Make sense? Or are you referring to other L3 protocol aka
> > > IPX...?
> >
> > Do you mean that there is a different Ethertype for IPv6-in-MPLS?  Or
> > do you mean something different?
> >
> > <rk> I meant to say I don't know of any use case where MPLS shim
> > header would be pushed on an IPv6 packet since IPv6 has its own flow
> > label. Ethtype is the same for all layer-3 protocols. I will add
> > IPv6 support with the assumption that there might be a use case
> > which requires MPLS shim header for IPv6 packets. Please let me know
> > if I have misunderstood your question.
>
> I'm not sure.  I'm going to separately take this up with Bruce
> Davie.  I bet that he can help me figure it out.  Thanks.

I spoke to Bruce (added on CC so he can correct me if I say anything
wrong).  He explained it to me this way: MPLS headers do not say what
protocol is encapsulated, so the sender and receiver must agree on
what it is.  They can agree that the encapsulated protocol is IPv4 or
IPv6 or something else.  We could not figure out why the presence of a
VLAN header would rule out encapsulating IPv6 in MPLS.  Can you
explain further?

Thanks,

Ben.



More information about the dev mailing list