On Sat, Mar 18, 2017 at 9:45 AM, Renato Westphal <renato@opensourcerouting.org> wrote:
On Sat, Mar 18, 2017 at 2:27 AM, Roopa Prabhu <roopa@cumulusnetworks.com> wrote:
On 3/17/17, 10:19 PM, Vivek Venkatraman wrote:
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.
This behavior should already be supported.
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.
yes, correct. terminating a label and performing a route lookup is not supported today.
The exception being the ipv4/ipv6 explicit null labels. Please take a look: https://github.com/torvalds/linux/blob/master/net/mpls/af_mpls.c#L1872
Correction.. the explicit-null labels don't seem to work on Linux. Using ldpd, if I configure the "label local advertise explicit-null" command in all nodes of a network, all LDP sessions flap every 3 minutes (the default holdtime). I can't even ping a directly attached Linux LSR if I push an explicit-null label. It's like the kernel just drops all incoming packets that have an explicit-null label. I'm using an relatively old kernel (v4.4.0) so maybe this was fixed already, will check later. -- Renato Westphal