e786836 10 Posted June 7, 2016 Hello All, I am pretty new to Service Provider track, I was trying to understand the BGP (send-label) command. The command reference just says that it enables BGP to send MPLS labels with BGP routes to a neighboring BGP router. So i tried the configuration to replace the IGP + LDP scenario and I wanted to replace it completely with BGP, the configuration did not work with iBGP but it was working with eBGP when each router was in different AS and had the send-label command on it , there was no IGP and labels were being used. I am trying to understand why in iBGP scenario the combination did not work ? Can anyone help me with this scenario where we use iBGP to replace IGP + LDP Quote Share this post Link to post Share on other sites
paulno1 451 Posted June 7, 2016 RFC3107 yes should work.... Watch ATC video 28 from around 28:00 in SPv3 ATC's if you have them (Inter-AS Option C) but it describes Intra-AS iBGP+Label to replace IGP+LDP. Make sure you're iBGP RR is sending labels to it's own PE's likewise PE's have "send-label" configured facing the RR. Failing that provide your configs & topology. Regards Paul Quote Share this post Link to post Share on other sites
paulno1 451 Posted June 7, 2016 always verify with "show bgp ipv4 unicast labels" as "show mpls forwarding" will only show IGP+LDP forwarding (if you've not configured IGP+LDP then ignore this) Quote Share this post Link to post Share on other sites
e786836 10 Posted June 8, 2016 Thank you Paul for your help. I did the config with iBGP but still no luck. I saw the video and followed the same pattern but I guess there is still something that I am missing. I will share the configs with you, this is the topology : I am running eigrp just so that I can have BGP peerings, All routers: router eigrp 1 network 150.1.0.0 network 155.1.0.0 I am making R1 as the RR for IPv4 Unicast , all others peer with R1 R1: router bgp 1 neighbor 150.1.2.2 remote-as 1 neighbor 150.1.2.2 update-source Loopback0 neighbor 150.1.2.2 route-reflector-client neighbor 150.1.2.2 send-label neighbor 150.1.3.3 remote-as 1 neighbor 150.1.3.3 update-source Loopback0 neighbor 150.1.3.3 route-reflector-client neighbor 150.1.3.3 send-label neighbor 150.1.4.4 remote-as 1 neighbor 150.1.4.4 update-source Loopback0 neighbor 150.1.4.4 route-reflector-client neighbor 150.1.4.4 send-label neighbor 150.1.5.5 remote-as 1 neighbor 150.1.5.5 update-source Loopback0 neighbor 150.1.5.5 route-reflector-client neighbor 150.1.5.5 send-label neighbor 150.1.6.6 remote-as 1 neighbor 150.1.6.6 update-source Loopback0 neighbor 150.1.6.6 route-reflector-client neighbor 150.1.6.6 send-label neighbor 150.1.7.7 remote-as 1 neighbor 150.1.7.7 update-source Loopback0 neighbor 150.1.7.7 route-reflector-client neighbor 150.1.7.7 send-label neighbor 150.1.8.8 remote-as 1 neighbor 150.1.8.8 update-source Loopback0 neighbor 150.1.8.8 route-reflector-client neighbor 150.1.8.8 send-label neighbor 150.1.9.9 remote-as 1 neighbor 150.1.9.9 update-source Loopback0 neighbor 150.1.9.9 route-reflector-client neighbor 150.1.9.9 send-label neighbor 150.1.10.10 remote-as 1 neighbor 150.1.10.10 update-source Loopback0 neighbor 150.1.10.10 route-reflector-client neighbor 150.1.10.10 send-label R2 through R8: router bgp 1 bgp log-neighbor-changes neighbor 150.1.1.1 remote-as 1 neighbor 150.1.1.1 update-source Loopback0 neighbor 150.1.1.1 send-label I made a loopback on R9 and R10 which I advertised into BGP so that I can see label switched path for it. R9: interface Loopback910 ip address 99.99.99.99 255.255.255.255 R10: interface Loopback910 ip address 99.99.99.98 255.255.255.255 Their BGP Config: R9: router bgp 1 network 99.99.99.99 mask 255.255.255.255 neighbor 150.1.1.1 remote-as 1 neighbor 150.1.1.1 update-source Loopback0 neighbor 150.1.1.1 send-label R10: router bgp 1 network 99.99.99.98 mask 255.255.255.255 neighbor 150.1.1.1 remote-as 1 neighbor 150.1.1.1 update-source Loopback0 neighbor 150.1.1.1 send-label At this point I thought if I were to do a trace from R9 to R10's loopback I would get a label path but it did not happen, From R9: R9#trace 99.99.99.98 sou 99.99.99.99 Type escape sequence to abort. Tracing the route to 99.99.99.98 VRF info: (vrf in name/id, vrf out name/id) 1 155.1.79.7 1 msec 0 msec 1 msec 2 155.1.67.6 0 msec 0 msec 1 msec 3 155.1.146.4 0 msec 0 msec 1 msec 4 155.1.45.5 1 msec 1 msec 1 msec 5 155.1.58.8 1 msec 1 msec 0 msec 6 155.1.108.10 1 msec * 2 msec R9#show bgp ipv4 unicast labels Network Next Hop In label/Out label 99.99.99.98/32 150.1.10.10 nolabel/imp-null 99.99.99.99/32 0.0.0.0 imp-null/nolabel Quote Share this post Link to post Share on other sites
apraksim 12 Posted June 9, 2016 (edited) HI, I believe that there is no label in your traceroute because in you RIB you have EIGRP routes to reach destinations, not BGP one - because of lower EIGRP AD, in addition to that there is no label for IGP routes as you turned off LDP. So, if you want to use labeled BGP routes obtained via iBGP you have to build a bit more sophisticated topology, and you have to turn on LDP for you IGP. The topology in wich some routers would not know destinations via IGP, but know them via BGP via next-hops rechable via IGP with LDP/TE/SPRING label. Or you have to build IGP free network and use BGP only peerings with next-hop-self command. Check out for instance Cisco UMMT design guide to see some practical use-case scenarious about how i/eBGP+label used to build hierarchical LSP Hidden Content Give reaction to this post to see the hidden content. Edited June 9, 2016 by apraksim Quote Share this post Link to post Share on other sites
e786836 10 Posted June 9, 2016 I am actually trying to understand the logic behind it, the labels should be generated for anything that is advertised in BGP i.e. R9's and R10's Loopback. I do have /32 loopbacks , RR is also present. I also had tried the full mesh config but it still was not able to follow a LSP. Quote Share this post Link to post Share on other sites
apraksim 12 Posted June 10, 2016 R9#show bgp ipv4 unicast labels Network Next Hop In label/Out label 99.99.99.98/32 150.1.10.10 nolabel/imp-null 99.99.99.99/32 0.0.0.0 imp-null/nolabel From above you can see that labels advertised - implicit null labels. If you want to see in advertisements some actual label you have to set on RR bgp next-hop-self all command for all iBGP peers. In that case RR router will assign new label for each reflected prefix becasue of next-hop change. However, you will not see BGP labels in tracerout, because routers are going to use EIGRP routes. To gain better understanding of BGP LU look at MPLS in SDN era starting from page 104. Quote Share this post Link to post Share on other sites
acitnh 2 Posted July 4, 2016 Hello All, I am pretty new to Service Provider track, I was trying to understand the BGP (send-label) command. The command reference just says that it enables BGP to send MPLS labels with BGP routes to a neighboring BGP router. So i tried the configuration to replace the IGP + LDP scenario and I wanted to replace it completely with BGP, the configuration did not work with iBGP but it was working with eBGP when each router was in different AS and had the send-label command on it , there was no IGP and labels were being used. I am trying to understand why in iBGP scenario the combination did not work ? Can anyone help me with this scenario where we use iBGP to replace IGP + LDP Use Set mpls label in the route-map OUT it will work. I do work in a similar kind of setup. Even tough you have used send label command to a peer-group/neighbor group, we need to instruct BGP to use MPLS label. This is not in case of XR. Quote Share this post Link to post Share on other sites
wailess84 0 Posted July 10, 2016 unified mpls applying bgp labels inside same AS Quote Share this post Link to post Share on other sites
paulno1 451 Posted August 1, 2016 yeah agree with apraskin, think you first need to deduce your AD's in routing logic iBGP AD 200 vs EIGRP internal AD 90 at the same time your understanding of overlay/underlay networks.... cheers. Quote Share this post Link to post Share on other sites
kilombok 1 Posted August 16, 2016 Besides the AD issue between EIGRP and BGP, I haven't labbed this, but I could suppose you also have an issue because you are running the iBGP sessions between loopbacks, which in turn are known via the IGP which is EIGRP and is not sync with LDP or any other label distribution protocol. You could try to run the iBGP sessions between the connected interfaces. (don't forget the "mpls bgp forwarding" command under the interfaces !!!!, or if you are using IOS XR the /32 static route to the connected interface on the other side !) In turn, you won't be requiring an IGP anymore. If you could try this out, and let us know what was the outcome it would be great ! Quote Share this post Link to post Share on other sites
mekadoy 0 Posted December 9, 2016 In order to use iBGP label you will need transport label to next-hop of iBGP route Quote Share this post Link to post Share on other sites