-----Original Message-----
From: Ben Pfaff [mailto:b...@nicira.com] 
Sent: Friday, March 23, 2012 9:44 AM
To: Kerur, Ravi
Cc: dev@openvswitch.org; bda...@nicira.com
Subject: Re: MPLS important comments (was: Re: [ovs-dev] Patch for MPLS)

On Thu, Mar 22, 2012 at 11:03:10AM -0700, Ben Pfaff wrote:
> On Tue, Mar 13, 2012 at 08:13:11PM +0100, ravi.ke...@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?

<rk> Typically in a SP mpls network you have customer-edge, provider-edge and 
provider nodes. IPv4 addresses is converted to vpnv4 address and routing is 
handled via mp-bgp protocol. 

Coming back to IPv6 question it was more to do with ipv6 only tunnels than 
vlan/ipv6. Since you asked the question why if vlan header is present, non-ipv4 
packets are not handled? I replied I haven't seen a use case where in the 
network you have vlan/ipv6 packets and it requires to push a mpls label. 
Infact, if you look at push_mpls case(first patch) it doesn't handle ipv6 at 
all. Since ipv6 has its own flow label, pure ipv6 tunnels can be setup without 
requiring a mpls shim header. If ipv6 packets are tunneled via ipv4 and later 
traverse mpls tunnels in a service provider network then it's handled by 
pushing new mpls header. If ipv6 traffic has to traverse mpls tunnels (i.e pure 
ipv6 islands go through a service provider mpls network), I mentioned that I 
haven't see such a use-case. With the assumption it's a possibility, I handled 
pushing mpls shim header onto ipv6 packet as well.

Thanks
Ravi

Thanks,

Ben.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to