On Fri, Mar 23, 2012 at 06:31:34PM +0100, r.ke...@telekom.com wrote: > > > -----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.
I see. Thank you for adding the handling. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev