I'm doing Full Scale Lab 4 and found something strange:
routes---XR1------XR2
Both XR1 and XR2 are peering via ISIS and LDP via their POS interface.
XR1 is doing redistribution of some routes from BGP into ISIS.
XR1 is locally allocating label 16009 for FEC 10.0.0.4/32
RP/0/0/CPU0:XR1#show mpls ldp bindings
10.0.0.4/32, rev 28
Local binding: label: 16009
Remote bindings: (2 peers)
Peer Label
----------------- --------
10.0.0.5:0 22
10.0.0.20:0 16005
XR2 is receiving the redistributed routes along with LDP labels (in this case I'm looking at 10.0.0.4/32)
RP/0/3/CPU0:XR2#show ip route 10.0.0.4
Sat Aug 31 18:50:15.995 UTC
Routing entry for 10.0.0.4/32
Known via "isis 1", distance 115, metric 10, type level-2
Installed Aug 31 18:14:26.200 for 00:35:49
Routing Descriptor Blocks
10.19.20.19, from 10.0.0.19, via POS0/7/0/0.1920
XR2's LIB looks fine:
RP/0/3/CPU0:XR2#show mpls ldp bindings 10.0.0.4/32
Sat Aug 31 18:54:20.727 UTC
10.0.0.4/32, rev 23
Local binding: label: 16005
Remote bindings: (3 peers)
Peer Label
----------------- --------
10.0.0.2:0 24
10.0.0.5:0 22
10.0.0.19:0 16009
XR1 is sending it label 16009, which XR2 should be using since it's routing through XR1 to get to 10.0.0.4/32
However, XR2's LFIB shows a different story.
RP/0/3/CPU0:XR2#sh mpls forwarding
Sat Aug 31 18:55:33.967 UTC
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
----- ----------- ------------------ ------------ --------------- ------------
16005 Pop 10.0.0.4/32 PO0/7/0/0.1920 10.19.20.19 7581
Why is XR2 using imp-null label to get to 10.0.0.4/32 even though the peer that it is using to route to 10.0.0.4/32 (XR1) is sending him a regular label (as seen in the LIB).
Is there something I am missing?
XR1 has other directly connected peers, also peering via ISIS and LDP. However, they are IOS based. The IOS routers under the same conditions as XR2 are working fine (the LIB is matching up with their LFIB).
Any comments?
Thanks!