Description

I raised the path count for add-path from 16 to 32, but the router (RR) still keeps seeding 16 paths to the client.

User wants to reflect 32 path for a route to the client from RR on CRPD. Due to limitation on junos version: 20.3X75-D42.21 for CRPD, only 16 routes were getting installed and 16 were getting reflected. To install more than 16 path there is requirement of "maximum-ecmp" knob which was not supported in current user's version.

The user wants to know if there is any alternative for reflecting all 32 paths for a prefix or router.

Symptoms

The customer was not able to use more than 16 path for a single route.

Solution

There are two ways to achieve the above requirements.

 

1. Using the "maximum-ecmp" knob, which will help in installing more than 16 paths for a single route

2. Using "add-path send" knob, which is explained below.

 

+++++++++++++++ 1. Knob: maximum-ecmp +++++++++++++++++

========== Without knob


root@cRR1> show version
Hostname: cRR1
Model: cRPD
Junos: 21.1R1.10

root@cRR1> show bgp summary
Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 1 Peers: 2 Down peers: 0
Table     Tot Paths Act Paths Suppressed  History Damp State  Pending
inet.0        
           20     16     0     0     0     0
Peer           AS   InPkt   OutPkt  OutQ  Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
1.1.1.1        16509    2346    2336    0    0  17:32:29 Establ
 inet.0: 16/20/20/0
2.2.2.2        16509    2343    2335    0    0  17:32:29 Establ
 inet.0: 0/0/0/0

root@cRR1> show route 200.1.1.1 extensive | match Multip | count
Count: 16 lines
>> Without knob, you can see there are 20 paths being received but only 16 are getting installed.

>> the router will reflect only 16 paths for the route.

 

============= After configuring the knob 

root@cRR1# show | compare
[edit routing-options]
+ maximum-ecmp 32;
 
root@cRR1# commit and-quit
 
root@cRR1> show bgp summary                     
Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 1 Peers: 2 Down peers: 0
Table     Tot Paths Act Paths Suppressed  History Damp State  Pending
inet.0        
           20     20     0     0     0     0
Peer           AS   InPkt   OutPkt  OutQ  Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
1.1.1.1        16509    2355    2345    0    0  17:36:35 Establ
 inet.0: 20/20/20/0
2.2.2.2        16509    2352    2344    0    0  17:36:35 Establ
 inet.0: 0/0/0/0
 
root@cRR1> show route 200.1.1.1 extensive | match Multip | count  
Count: 20 lines

 

>> After the knob is configured, you can see there are 20 paths being received and all 20 are getting installed.

>> Now router will reflect all 20 path for the route.

 

+++++++++++++++ 2. Knob: add-path send +++++++++++++++++

>> You need to use "add-path send path-count" and "add-path send path-selection-mode all-paths"

root@cRR2> show configuration |display set | match GROUPXXX   
set protocols bgp group GROUPXXX type internal
set protocols bgp group GROUPXXX accept-remote-nexthop
set protocols bgp group GROUPXXX family inet unicast add-path receive
set protocols bgp group GROUPXXX family inet unicast add-path send path-selection-mode all-paths
set protocols bgp group GROUPXXX family inet unicast add-path send path-count 20
set protocols bgp group GROUPXXX cluster 100.1.1.1
set protocols bgp group GROUPXXX multipath
set protocols bgp group GROUPXXX neighbor 1.1.1.1 description PTX
set protocols bgp group GROUPXXX neighbor 2.2.2.2 description MX

 

>> In my LAB, cRPD is receiving 20 path but it is installing only 16 path by default

root@cRR2> show bgp summary
Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 1 Peers: 2 Down peers: 0
Table     Tot Paths Act Paths Suppressed  History Damp State  Pending
inet.0        
           20     16     0     0     0     0
Peer           AS   InPkt   OutPkt  OutQ  Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
1.1.1.1        16509     30     8    0    0    3:12 Establ
 inet.0: 16/20/20/0
2.2.2.2        16509     10     29    0    0    3:12 Establ
 inet.0: 0/0/0/0

 

>> Above output help us to understand, there are 20 path for prefix: 200.1.1.1 but installed path are only 16.

>> If we want to reflect the route to another client from CRPD, then we use "add-path". This will help us to reflect the route with multiple path to client, even non-installed path.

>> Please make sure to configure correct path count and configure "add-path send path-selection-mode all-paths". It will send only those many path. If you mentioned the path -count as 8, then only 8 path will be sent.

set protocols bgp group GROUPXXX family inet6 unicast add-path send path-count 8
root@cRR2> show route advertising-protocol bgp 2.2.2.2
inet.0: 57 destinations, 76 routes (57 active, 0 holddown, 0 hidden)
Limit/Threshold: 1024000/870400 destinations
 Prefix         Nexthop       MED   Lclpref  AS path
* 200.1.1.1/32      100.100.100.1        0     I
             100.100.100.2        0     I
             100.100.100.3        0     I
             100.100.100.4        0     I
             100.100.100.5        0     I
             100.100.100.6        0     I
             100.100.100.7        0     I
             100.100.100.8        0     I

 

 >> Now with path-count 20

root@cRR2# set protocols bgp group GROUPXXX family inet unicast add-path send path-count 20
[edit]
root@cRR2# commit and-quit
commit complete
Exiting configuration mode
 
root@cRR2> show route advertising-protocol bgp 2.2.2.2  
inet.0: 57 destinations, 76 routes (57 active, 0 holddown, 0 hidden)
Limit/Threshold: 1024000/870400 destinations
 Prefix         Nexthop       MED   Lclpref  AS path
* 200.1.1.1/32      100.100.100.1        0     I
             100.100.100.2        0     I
             100.100.100.3        0     I
             100.100.100.4        0     I
             100.100.100.5        0     I
             100.100.100.6        0     I
             100.100.100.7        0     I
             100.100.100.8        0     I
             100.100.100.9        0     I
             100.100.100.10        0     I
             100.100.100.11        0     I
             100.100.100.12        0     I
             100.100.100.13        0     I
             100.100.100.14        0     I
             100.100.100.15        0     I
             100.100.100.16        0     I
             100.100.100.17        0     I
             100.100.100.18        0     I
             100.100.100.19        0     I
             100.100.100.20        0     I

 

Modification History

2023-11-16 : Article Created