cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4577
Views
0
Helpful
11
Replies

Problem with BGP IPv4 Labeled-unicast on XR

Yahia CHARIF
Level 1
Level 1

Hi all,

In the topology bellow :

R1<------(ibgp ipv4 + label)------->XR1<-------(ebgp ipv4)------>R2

R1 and R2 are XE devices, XR1 is XR device.

I have iBGP IPv4 labled unicast between R1 and XR1 and eBGP ipv4 unicast between XR1 and R2.

The problem is that prefixes advertised by R2 to XR1 are note advertised via iBGP to R1.

when using XE instead of XR1 i see routes advertised correcly.

My question, is  it possible for routes received from a regular BGP address-family IPv4 unicast to be advertised again in BGP address-family IPv4 labled-unicast.

11 Replies 11

Hi Yahia,

Include the following line:

address-family ipv4 unicast

allocate-label all

Also once labeled is used you need to create a static route for the next hop IP, example:

XR1 (g0/0/0/0 10.0.0.1) ------- (g0/0 10.0.0.2) router 2

XR1 (xr os)

router static
address-family ipv4 unicast
10.0.0.2/32  g0/0/0/0

*Remember if you are creating an eBGP connection you need to configure a policy PASS to enable the communication between BGP routers

route-policy PASS
pass
exit

router bgp x
address-family ipv4 unicast
allocate-label all
neigh x.x.x.x 
remote Y
address-family ipv4 labeled-unicast
route-policy PASS in
route-policy PASS out

Router 2

router bgp Y
neigh x.x.x.x remote X
neigh x.x.x.x send-label

Hope it is useful

:-)




>> Marcar como útil o contestado, si la respuesta resolvió la duda, esto ayuda a futuras consultas de otros miembros de la comunidad. <<

Hi Julio,

The "allocate-label all" command is already configured on XR1 and I see that works only for route localy generated and for routes received from other labled BGP Peer, but not for routes received from a regular bgp ipv4 unicast Peer.

With XE device no problem, labels are allocated to all received routes from both labled and unlabeled sessions.

Hi

Could you please provide the config of XR and R2? You should have something like:

XR1 (g0/0/0/0 10.0.0.1) ------- (g0/0 10.0.0.2) router 2

XR Router

router static
address-family ipv4 unicast
10.0.0.2/32  g0/0/0/0

route-policy PASS
pass
exit

router bgp x
address-family ipv4 unicast
allocate-label all
neigh x.x.x.x 
remote Y
address-family ipv4 labeled-unicast
route-policy PASS in
route-policy PASS out

Router 2

router bgp Y
neigh x.x.x.x remote X
neigh x.x.x.x send-label




>> Marcar como útil o contestado, si la respuesta resolvió la duda, esto ayuda a futuras consultas de otros miembros de la comunidad. <<

Hi

static route for /32 is already created, but I think it is for data-plane to work, in my situation the control-plane also not working.

rpl PASS in and out are there, and i see routes in bgp unicast table but not in labled-unicast.

=========== R1 ===========
router bgp 10
neighbor 10.0.0.2 remote-as 10
neighbor 10.0.0.2 update-source Loopback0
!
address-family ipv4
neighbor 10.0.0.2 activate
neighbor 10.0.0.2 send-community both
neighbor 10.0.0.2 send-label
exit-address-family

=========== XR1 ===========

router bgp 10

address-family ipv4 unicast
allocate-label all
!
neighbor 10.1.2.2
remote-as 20
address-family ipv4 unicast
route-policy PASS in
route-policy PASS out
!
neighbor 10.0.0.1
remote-as 10
update-source Loopback0
address-family ipv4 labeled-unicast
next-hop-self
!
router static
address-family ipv4 unicast
10.1.2.2/32 GigabitEthernet0/0/0/3
!
route-policy PASS
  pass
end-policy


=========== R2 ===========
router bgp 20
neighbor 10.1.2.1 remote-as 10
!
address-family ipv4
network 10.10.10.0 mask 255.255.255.0
neighbor 10.1.2.1 activate
neighbor 10.1.2.1 send-community both
exit-address-family

Also I think, the /32 static route is not needed between XR1 and R2  because there is no labels between them. 

Yes, that is correct, the static route is used for eBGP when label is configured and the allocate-label where the labeled is configured. 

Why are you using label between R1 and XR1? 




>> Marcar como útil o contestado, si la respuesta resolvió la duda, esto ayuda a futuras consultas de otros miembros de la comunidad. <<

because in real topology, this XR1 is ASBR used for inter-as option C with other ASBR, and R1 is PE, so I need labled unicast session between them.

I tried to use both labled and unlabled bgp session between R1 and XR1 but it seemd to be not supported.

Hi Yahia,

If you are implementing Inter-AS Option C, I think the problem is between XR1 and R2, as I understand R2 is the PE (isp 2) and XR1 (isp 1) the address-family are inverse on XR1. 

=========== XR1 ===========

router bgp 10

address-family ipv4 unicast
allocate-label all
!
neighbor 10.1.2.2
remote-as 20
address-family ipv4 labeled-unicast    <--- add the labeled unicast.  
route-policy PASS in
route-policy PASS out
!
neighbor 10.0.0.1
remote-as 10
update-source Loopback0
address-family ipv4 labeled-unicast   <---- remove it and set up normal AF ipv4.
next-hop-self
!
router static
address-family ipv4 unicast
10.1.2.2/32 GigabitEthernet0/0/0/3
!
route-policy PASS
  pass
end-policy


=========== R2 ===========
router bgp 20
neighbor 10.1.2.1 remote-as 10
!
address-family ipv4
network 10.10.10.0 mask 255.255.255.0
neighbor 10.1.2.1 activate
neighbor 10.1.2.1 send-community both
neighbor 10.1.2.1 send-label  <--- add it


exit-address-family

:-)




>> Marcar como útil o contestado, si la respuesta resolvió la duda, esto ayuda a futuras consultas de otros miembros de la comunidad. <<

Hi Julio,

Thanks for your efforts.

XR1 is connected to another ASBR let's say R3 for Inter-as option C. with R2 is just a normal AF IPv4. the topology is like this:

R1-----------XR1-----------R2

|

|

R3

But i think it is better to focus just on the first topology:

R1------(iBGP+label)-----XR1------(eBGP)-----R2

Need routes coming from R2 (unlabeled) to be advertised with labels to R1.

Hello Yahia,

 

Did you get any answers for your question ?

 

Thanks,

Thiru

Hello, did you ever get a resolution to this, I am having the exact same issue but in a CSC configuration, my topology looks like this. In this particular scenario, The Carrier Customer(ISPB) is not running VPNv4, only unicast routes, the use of LDP in the ISPB network is only from transport intra-as LDP path: ISPB-PE1[XE] -- ISPB-P[XE](RouteReflector) -- ISPB-CSC-CE[XR] & ISPB-CSC-CE[XE] -- ISPB-P[XE] -- ISPB-PE[XR].  

 

Topology:

CE1-SRC[XE] -- ISPB-PE1[XE] -- ISPB-P[XE](RouteReflector) -- ISPB-CSC-CE[XR] -- ISPA-CSC-PE[XE] -- ISPA-P[XE] -- ISPA-CSC-PE[XR] -- ISPB-CSC-CE[XE] -- ISPB-P[XE] -- ISPB-PE[XR] -- CE1-DEST[XE]

 

The only way I could get the control plane to forward prefixes from CE1-DEST to CE1-SRC is to configure a Labeled-Unicast session with IPSB-PE. When I use a normal unicast session, the prefixes from CE1-DEST are not propagated by ISPB-PE.