On Tue, Jun 2, 2015 at 2:06 PM, Robert Shearman <rshea...@brocade.com> wrote: > On 02/06/15 19:57, roopa wrote: >> >> On 6/2/15, 9:33 AM, Robert Shearman wrote: >>> >>> On 02/06/15 17:15, roopa wrote: >>>> >>>> On 6/1/15, 9:46 AM, Robert Shearman wrote: >>>>> >>>>> Allow creating an mpls device for the purposes of encapsulating IP >>>>> packets with: >>>>> >>>>> ip link add type ipmpls >>>>> >>>>> This device defines its per-nexthop encapsulation data as a stack of >>>>> labels, in the same format as for RTA_NEWST. It uses the encap data >>>>> which will have been stored in the IP route to encapsulate the packet >>>>> with that stack of labels, with the last label corresponding to a >>>>> local label that defines how the packet will be sent out. The device >>>>> sends packets over loopback to the local MPLS forwarding logic which >>>>> performs all of the work. >>>>> >>>>> >>>> Maybe a silly question, but when you loop the packet back, what does the >>>> local MPLS forwarding logic >>>> lookup with ? It probably assumes there is a mpls route with that label >>>> and nexthop. >>>> Will this need any internal labels (thinking same label stack different >>>> tunnel device etc) ? >>> >>> >>> Yes, it requires that local/internal labels have been allocated and >>> label routes installed in the label table for them. >> >> This is our only concern. >>> >>> >>> It is entirely possible to put the outgoing interface into the encap >>> data to avoid having to allocate extra labels, but I did it this way >>> in order to support PIC Core for MPLS-VPN routes. >> >> >> hmm..., is a netdevice must in this case.., can you please elaborate on >> this ?. > > > Yes, the ipmpls device would still be used to perform the encapsulation, > transitioning from the IP forwarding path to the MPLS forwarding path. >
Transitioning from IP forwarding to MPLS forwarding as you have here will certainly facilitate PIC core when another path exists to the edge. But it cannot deal with PIC edge, right? Additionally, this approach would mean that the user's (iproute2) view would be rather strange - while the actual forwarding requires labels L1 and L2 (bottom) to be pushed when forwarding to a destination, it would look as if labels L3 and L2 are pushed and then L3 is swapped with L1. A different way to achieve PIC (core and edge) without transitioning from IP forwarding to MPLS forwarding may be to introduce the concept of an alternate nexthop with something (e.g., link status) determining which nexthop is used. > Thanks, > Rob -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html