[frr] 2 MPLS Questions
Thomas Morin
thomas.morin at orange.com
Mon Mar 20 12:38:02 EDT 2017
Hi everyone,
2017-03-18, Vincent Jardin:
>
> +Thomas to be on track.
>
Vincent, you'll tell if what is below helped or not :)
> Le 18 mars 2017 06:19:47 Vivek Venkatraman <vivek at cumulusnetworks.com>
> a écrit :
>
>> This is correct. By definition, if a router is the penultimate hop,
>> it means the actual egress is downstream and has signaled
>> (advertised) an implicit-null label to this router. The router doing
>> the PHP knows the next hop to forward to (the egress) without doing
>> any additional lookup.
(Note that with BGP/MPLS VPNs this is the typical behavior, but it is
not a mandatory behavior: the egress router may have advertise a real
label (i.e. not implicit null) in which case the penultimate router will
swap the topmost label of the stack, not seeing/touching the vpn label.
This is also a behavior that relates to the use of MPLS for transit, but
with MPLS-over-GRE or MPLS-over-UDP, MPLS can be used with IP transit,
in which case this behavior is not used).
>>
>> This behavior should already be supported.
Yes, I can confirm that forwarding via a neighbor on an interface based
on the incoming MPLS label is supported.
This is what we use in bagpipe IP VPN 'linux' driver [1].
>>
>> What is not supported (if I remember right) is the ability on the
>> egress to terminate a label and perform a (route) lookup. That is
>> needed to really be able to support any L2/L3 VPN service properly.
I think it is a requirement to have something efficient to trigger a
lookup in any {routing table, vrf interface, netns}.
I hadn't tried (because no need). I thought we might achieve something
like that by forwarding the packet on 'lo', or on a vrf interface, or on
a veth device: wouldn't this kind of next hop specification trigger a
re-enter of the packet in the IP stack after the pop operation ?
-Thomas
[1]
http://git.openstack.org/cgit/openstack/networking-bagpipe/tree/networking_bagpipe/bagpipe_bgp/vpn/ipvpn/mpls_linux_dataplane.py#n194
>>
>> On Thu, Mar 16, 2017 at 10:45 AM, Jeff Tantsura <jefftant at gmail.com
>> <mailto:jefftant at gmail.com>> wrote:
>>
>> Donald,
>>
>> Wrt PHP, this is incorrect, PHP node MUST not perform IP lookup,
>> or in fact any lookup after POP. In most cases (labeled services,
>> L2/L3 VPN) there's another label(s) in the stack, looking it up
>> would be fatal.
>>
>> Regards,
>> Jeff
>>
>> > On Mar 15, 2017, at 08:05, Donald Sharp
>> <sharpd at cumulusnetworks.com <mailto:sharpd at cumulusnetworks.com>>
>> wrote:
>> >
>> > David/Roopa -
>> >
>> > Olivier asked me about these two issues yesterday in the FRR
>> Technical
>> > Meeting. I just wanted to make sure I didn't loose track of these
>> > questions that he had:
>> >
>> > 1) More than 2 labels in the kernel at a time, when will this be
>> > allowed in the kernel?
>> >
>> > -> David is currently working on this issue. When he is done it
>> > will be upstreamed. So soonish(tm).
>> >
>> > 2) PenUltimate Hop Popping:
>> >
>> > I know this issue is not trivial to solve. In fact, once the POP
>> > instruction perform, the packet must re-enter in the IP packet
>> > processing to determine what action must apply. A possible solution
>> > would be to process this packet as a new incoming IP packet when
>> > output interface is the loopback disregarding the IP address value.
>> > But, this issue is less urgent than the first one. Our OSPF Segment
>> > Routing implementation could announce if the router works in
>> > PenUltimate Hop Poping mode or not. So, for the moment, the
>> option is
>> > force to yes.
>> >
>> > thanks!
>> >
>> > donald
>> >
>> > _______________________________________________
>> > frr mailing list
>> > frr at lists.nox.tf <mailto:frr at lists.nox.tf>
>> > https://lists.nox.tf/listinfo/frr
>> <https://lists.nox.tf/listinfo/frr>
>>
>> _______________________________________________
>> frr mailing list
>> frr at lists.nox.tf <mailto:frr at lists.nox.tf>
>> https://lists.nox.tf/listinfo/frr <https://lists.nox.tf/listinfo/frr>
>>
>>
>> _______________________________________________
>> frr mailing list
>> frr at lists.nox.tf <mailto:frr%40lists.nox.tf>
>> https://lists.nox.tf/listinfo/frr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.frrouting.org/pipermail/dev/attachments/20170320/dd685b20/attachment.html>
More information about the dev
mailing list