Enabling Add-Path and ECMP
Enable Add-Path receive first, verify that multiple paths are retained, and then enable ECMP. This separates a capability problem from a route-selection problem.
The operational goal is non-disruptive route-server maintenance. All three route-server sessions keep CNX routes present when one server is maintained; Add-Path additionally keeps alternate participant paths live within each session. ECMP can install otherwise-equal alternatives before a withdrawal occurs. Together, these controls avoid waiting to discover a replacement path when CNX rotates one route server out of service.
1. Enable Add-Path receive
Configure receive capability for IPv4 and IPv6 on each route-server session. Do not enable Add-Path transmit toward CNX unless you have a separate reason to send several paths; the member-side requirement for this service is receive.
Restart or refresh the BGP session if your platform does not renegotiate the capability dynamically.
2. Verify path reception
Check the negotiated capability in the neighbor detail. For a prefix announced by more than one CNX member connection, inspect the BGP table and confirm that several path identifiers or path entries exist on the same route-server session.
If only one path appears:
- confirm that the route server negotiated transmit and your router negotiated receive;
- choose a prefix that actually has several eligible paths;
- check whether import policy discards alternates; and
- check the platform's received-path limit.
3. Enable BGP multipath
Set an explicit ECMP path limit. Where required, enable multipath comparison across different neighboring AS paths. Do not ignore more BGP attributes than needed to reach the intended equivalence.
Keep the same local preference on routes from all three CNX route servers if you want otherwise-equal paths to participate together.
4. Verify the forwarding table
For a test prefix, distinguish three states:
Several paths in received BGP data
Several eligible paths in the BGP RIB
Several next hops installed in the forwarding table
Only the last state provides ECMP forwarding. Confirm that every installed next hop resolves to a different member address and that the hardware supports the configured number of paths.
5. Test withdrawal behavior
During an agreed test, withdraw one eligible path or disable one session. Confirm that new flows use remaining next hops and that unrelated paths remain installed. Repeat the test by disabling one complete route-server session and confirm that the same prefixes remain usable through the other two sessions without a forwarding interruption. Do not use BFD to a route server as proof of member forwarding-path health: the route server is not the traffic next hop.
Platform snippets
Cisco IOS XE
address-family ipv4 unicast
neighbor CNX-RS4 additional-paths receive
maximum-paths eibgp 8
bgp bestpath as-path multipath-relax
Use the corresponding commands under the IPv6 address family. Some IOS XE
trains use address-family-wide bgp additional-paths receive.
Junos OS
set protocols bgp group CNX-RS family inet unicast add-path receive
set protocols bgp group CNX-RS family inet6 unicast add-path receive
set protocols bgp group CNX-RS multipath multiple-asHuawei VRP
peer CNX-RS4 capability-advertise add-path receive
maximum load-balancing ebgp 8
load-balancing as-path-relax
Apply the Huawei commands within each BGP address family. See the complete Cisco IOS XE, Junos OS, and Huawei VRP configurations.