cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2032
Views
5
Helpful
13
Replies

MBGP use interface establish problem

jefferyshi
Level 1
Level 1

We have one network link need to run MBGP using interface establish, not use loopback0.

I tested from lab environment and ping test from R6-CE src:6.6.6.6 to R1-CE dst:1.1.1.1 fail, becasue ldp label pop at R4, not R3.

R3 should be Penultimate Hop Popping (PHP) router, not R4.

I want to know if there any command setting on R2-PE can conduct one 172.16.9.89/32 prefix and assign label. Like inter-AS option 2, when ASBR establish multihop multiprotocol eBGP, it conduct one /32 host prefix automatically.

Network connection:

vrf A:1.1.1.1---R1-CE----R2-PE:172.16.8.89/30------172.16.8.90/30:R3-P------R4-P------R5-PE-----R6-CE--vrf a:6.6.6.6

R2-PE and R3-P have to use interface to establish mBGP.

R4#sho mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
424    Pop tag     172.16.9.88/30   636        Fa1/0      10.0.34.1
R4#
R5#sh mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
521    424         172.16.9.88/30   0          Fa1/0      10.0.45.1

Thank You so much.

Jeffrey

1 Accepted Solution

Accepted Solutions

hi Jeffery

See if that route is in ospf database or not, If there and not in RIB then

you have to change network point-to-point.

One more thing I have done same here in lab setup but route is there in LIB (on R3) but was not installed in LFIB because

R3 will have cef entry for /32 route tells router not to label switch router but to send  pure Ip packet in forwarding plane.

I am running short of time not able to complete any more thing.

anyway thanks to go to that extra mile

Regards

Mahesh

View solution in original post

13 Replies 13

Peter Paluch
Cisco Employee
Cisco Employee

Jeffrey,

I don't know personally of any command that forces a router to advertise its directly connected networks already labeled. This would essentially break the PHP logic on which many MPLS applications are dependent.

What I am thinking about is that despite the BGP peering is done using the physical interface address, you can still create a loopback on the R2-PE, advertise it into your IGP and have it assigned a label via LDP. Then on the R2-PE, use a route-map in BGP to modify the NEXT_HOP attribute of all necessary routes to the address of this loopback. This way, you would closely mimic the behavior you would actually get if the BGP speaker were peered using their loopback addresses. With this workaround, the next-hop of the BGP-advertised routes from R2-PE would be placed on the loopback IP address, essentially behind the R2-PE, thus winning the extra hop you need to preserve the label from premature PHP.

Best regards,

Peter

Peter,

Thanks for your advice.

Actually there are other backbone link on R2-PE and use loopback setup MBGP, already advertise R2-PE loopback into IGP. Some specail prefixes only receive/accept on this specail link which use interface setup MBGP. We have to use this specail link interface setup MBGP, on other PE router, the next-hop is R2-PE interface IP address. So if this link down, traffic will shift to backup POP PE, instead of this POP other backbone link.

But this solution break the PHP, MPLS VPN is not working. If R2-PE can announce out one /32 of interface address to IGP, it will perfect.

Thank You

Jeffrey

Mahesh Gohil
Level 7
Level 7

Hi Jeffrey,

Here R3 is sending Pop tag to R4. If you want R3 to generate label for  172.16.9.88/30   then you need to override the PHP behavior by below command

on R3

ip access-lists standard 25

permit 172.16.9.88 0.0.0.3

mpls ldp explicit-null for 25

Then the forwarding table on R4 will look like

R4#sho mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
424    0               172.16.9.88/30   636        Fa1/0      10.0.34.1

Hope this is useful to you. Also consider work around given by peter

Regards

Mahesh

Hi Mahesh

  R3 already generate a implicit-null label to R4 for 172.16.9.88/30, becasue it's connect interface.

so the ldp label will be pop on R4, but R3 don't know vpn label, packet dropped. R2 know the vpn label.

I expect R3 is PHP router, but if use interface setup MBGP R4 become PHP router.

That's why I want R2 advetise /32 and assign ldp label.

You can see label for prefix 9.88/30 is pop tag action on R4, packet forward to R3 leave vpn label will be drop.

R4>sho mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
416    Pop tag     172.16.9.88/30   0          Fa1/0      10.0.34.1

I expect like below forwarding table, I am not sure whether can achieve it.

R4>sho mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
416    300     172.16.9.89/32   0          Fa1/0      10.0.34.1

I tried set explicit-null on R3, and generate 0 label as you side.

R4#sho mpls forwarding-table
Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
tag    tag or VC   or Tunnel Id      switched   interface
416    0           172.16.9.88/30   40992      Fa1/0      10.0.34.1

R4#sh ip cef vrf a 1.1.1.1 detail
1.1.1.1/32, version 8, epoch 0, cached adjacency 10.0.34.1
0 packets, 0 bytes
  tag information set, all rewrites owned
    local tag: VPN route head
    fast tag rewrite with Fa1/0, 10.0.34.1, tags imposed {0 229}
  via 172.16.9.89, 0 dependencies, recursive, mpls required
    next hop 10.0.34.1, FastEthernet1/0 via 172.16.9.88/30 (Default)
    valid cached adjacency
    tag rewrite with Fa1/0, 10.0.34.1, tags imposed {0 229}

The label packet arrive at R3 can not forward to R2, dropped.

Label Packet arrive on R3 like below:

|label 0|label 229|dst 1.1.1.1|src 6.6.6.6|data ICMP|

It seem don't know how to pop label 0 and then forward to R2.

Thank You

Jeffery

Hi Jeffery,

Actually the problem is R3 which is having untag label for prefix.172.16.8.88/30. There is option to generate static label for any ip

with command

mpls label range 200 1048575 static 16 199 (Some router ask for reload to take this in affect)
mpls static binding ipv4 x.x.x.x 255.255.255.255 output x.x.x.x implicit-null.

So even If you generate static label from R2, but R3 is having this prefix is directly connected so it will declare it as untag by consulting cef.

Regarding mapping of explicit null label : yes there is option to crossconnect of labels but unfortunately there is no option to map explicit label

R2(config)#mpls static crossconnect ?
  <16-199>  Label Value <16 - 199>

so here also no luck.

Only thing is if we can overide this untag with some pop label at R3 then issue could be resolved.

Thanks for giving such wonderful scenario. It help me to rethink MPLS

rated as it deserves

regards

mahesh

Hi Mahesh,

Thank you so much let me learn more MPLS knowledge.

I found one command in configure globle, it seem can advertise /32 interface and assign label.

But I tested, it was not working. Not advertise /32 out to R3. No idear about it.

R2(config)#mpls ldp advertise-labels ?
  for        Access-list specifying controls on destination prefixes
  interface  Advertise /32 interface address
  oldstyle   Use old style (TDP) method for matching prefix acl
  vrf        VRF Routing/Forwarding instance information
 

tag-switching advertise-tags interface FastEthernet1/1

R2#sho run interface fastEthernet 1/1
Building configuration...

Current configuration : 164 bytes
!
interface FastEthernet1/1
ip address 172.16.9.89 255.255.255.252
duplex full
speed 100
mpls ldp discovery transport-address interface
tag-switching ip
end

We will change plan and decide to use loopback set up MBGP, instead of using interface.

Thank You

Jeffery

Hi Jeffery,

Normally, LDP advertises labels only for IP prefixes that are in the routing table. But if you want
force LDP to advertise a label for a prefix constructed from an interface address (/32) then you can use this command

Like I have tried

R2#
interface GigabitEthernet4/0.21
encapsulation dot1Q 21
ip address 10.0.3.6 255.255.255.252
mpls label protocol ldp
tag-switching ip
clns mtu 1460
end

mpls ldp advertise-labels interface GigabitEthernet4/0.21

and now i am getting below entry in LIB

R2#sh mpls ldp bindings 10.0.3.6 32
  tib entry: 10.0.3.6/32, rev 487
        local binding:  tag: imp-null

On R3

R3#sh mpls ldp binding 10.0.3.6 32
  lib entry: 10.0.3.6/32, rev 96
        remote binding: lsr: 10.0.0.2:0, label: imp-null

Regards

mahesh

Mahesh,

What IOS version and platform you have tried?

Can you tell me? I will try it.

Thank You

Jeffery

Mahesh,

I upgrade Version to 15.0(1)M2, and can see LIB assign /32 label in R2/R3 as you tested.

mpls ldp advertise-labels interface FastEthernet1/1

But don't advetise 89/32 prefix into ospf IGP, can not redistribute Local prefix 89/32.. I will try more test.

      172.16.9.0/24 is variably subnetted, 2 subnets, 2 masks
C        172.16.9.88/30 is directly connected, FastEthernet1/1
L        172.16.9.89/32 is directly connected, FastEthernet1/1---generate /32 ip route.

Thank You

jeffery

See if ip ospf network point-to-point on interis there or not

regards

mahesh

Hi Mahesh,

not set 'ip ospf network point-to-point' in interface, use default network type.

The prefixe /32 marked L-Local, I try to redistribute to OSPF but failed. It seem can not redistribute this kind of route to IGP.

L        172.16.9.89/32 is directly connected, FastEthernet1/1

router ospf 100
router-id 2.2.2.2
redistribute connected subnets

redistribute static subnets
network 2.2.2.2 0.0.0.0 area 0
network 172.16.9.89 0.0.0.0 area 0

Thank You

Jeffery

hi Jeffery

See if that route is in ospf database or not, If there and not in RIB then

you have to change network point-to-point.

One more thing I have done same here in lab setup but route is there in LIB (on R3) but was not installed in LFIB because

R3 will have cef entry for /32 route tells router not to label switch router but to send  pure Ip packet in forwarding plane.

I am running short of time not able to complete any more thing.

anyway thanks to go to that extra mile

Regards

Mahesh