01-19-2024 07:26 AM - edited 01-19-2024 07:27 AM
Hi,
I am working with the following topology:
Between PE#1 and PE#2 an iBGP neighborship exists, both PEs have an OSPF neighborship with the P router. Recently, we've added a second physical link between P and PE#2 but we observed an uneven balancing of the traffic after this operation.
Traffic from PE#1 to PE#2 that transits over P1, will only always utilize the first link (.86->.87) whereas traffic from PE#2 to PE#1 will be balanced across all 3 links.
Looking at the P1 router, I see that the route to PE#2 is known from both of the links:
Routing entry for 172.16.0.161/32
Known via "ospf 1", distance 110, metric 26, type intra area
Installed Jan 11 01:09:18.068 for 1w1d
Routing Descriptor Blocks
172.16.2.87, from 172.16.0.161, via FortyGigE0/0/0/13
Route metric is 26
172.16.2.201, from 172.16.0.161, via FortyGigE0/0/0/14
Route metric is 26
However, looking at the mpls forwarding table:
show mpls forwarding prefix 172.16.0.161/32
Fri Jan 19 15:57:12.555 CET
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24324 Pop 172.16.0.161/32 Fo0/0/0/13 172.16.2.87 13079621827
and the CEF:
show cef 172.16.0.161
Fri Jan 19 15:57:48.195 CET
172.16.0.161/32, version 49063, internal 0x1000001 0x30 (ptr 0xa1285d40) [1], 0x0 (0x90919418), 0xa20 (0xa15b6ef8)
Updated Jan 11 01:09:18.077
local adjacency to FortyGigE0/0/0/13
Prefix Len 32, traffic index 0, precedence n/a, priority 3
via 172.16.2.87/32, FortyGigE0/0/0/13, 3 dependencies, weight 0, class 0 [flags 0x0]
path-idx 0 NHID 0x0 [0xa0d7a6a8 0x0]
next hop 172.16.2.87/32
local adjacency
local label 24324 labels imposed {ImplNull}
via 172.16.2.201/32, FortyGigE0/0/0/14, 6 dependencies, weight 0, class 0 [flags 0x0]
path-idx 1 NHID 0x0 [0xa0d7bc08 0x0]
next hop 172.16.2.201/32
local adjacency
local label 24324 labels imposed {None}
The first thing I notice is that if for the link over Fo0/0/0/13 PE#2 passed to the P router an impnull label, it did not do the same for the link over Fo0/0/0/14.
Looking at PE#2:
show mpls forwarding-table 172.16.0.163
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
2531 24361 172.16.0.163/32 0 Fo0/2/8 172.16.2.200
24361 172.16.0.163/32 0 Fo0/2/0 172.16.2.86
24359 172.16.0.163/32 0 Fo0/2/4 172.16.2.88
Still on PE#2, looking at the forwarding-table towards the P1 router:
show mpls forwarding-table 172.16.0.20
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
230 Pop Label 172.16.0.20/32 54268855 Fo0/2/0 172.16.2.86
Pop Label 172.16.0.20/32 6332583 Fo0/2/8 172.16.2.200
So it seems that PE#2 is passing the correct label however it seems that this is not reflected on the P1 router. What could be the cause of this?
Thanks for helping
01-19-2024 07:54 AM - edited 01-19-2024 08:32 AM
you need to check the routing table in both P and PE
one have equal cost multi path other not have
I think this issue is mismatch of cost in both end
01-22-2024 01:09 AM
Hi,
this is an expected behaviour on P1 router. It is an MPLS P (LSR) router, it just swaps labels according the mpls forwarding table. There must be a clear statement what to do with the incoming labels in the lfib (mpls forwarding table).
To achieve load-balancing consider to use either different bgp next-hop per l3vpn on PE2, or FAT labels between P1 and PE2 in case of l2vpn service.
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