Jump to content
e786836

BGP label issue

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
Share on other sites

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 :

 

 

6ZZMmcUZmA4wfAxd0dW7.png

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

Share this post


Link to post
Share on other sites

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 by apraksim

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...