10-05-2010 01:51 AM
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
Solved! Go to Solution.
10-09-2010 09:33 AM
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
10-05-2010 02:19 PM
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
10-05-2010 06:58 PM
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
10-05-2010 09:47 PM
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
10-06-2010 09:53 AM
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
10-07-2010 11:41 PM
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.
10-07-2010 11:44 PM
Thanks for giving such wonderful scenario. It help me to rethink MPLS
rated as it deserves
regards
mahesh
10-08-2010 12:37 AM
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
10-08-2010 03:15 AM
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
10-08-2010 06:30 AM
Mahesh,
What IOS version and platform you have tried?
Can you tell me? I will try it.
Thank You
Jeffery
10-08-2010 07:30 AM
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
10-08-2010 09:23 PM
See if ip ospf network point-to-point on interis there or not
regards
mahesh
10-08-2010 10:15 PM
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
10-09-2010 09:33 AM
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
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide