Other BGP features
1.5.f i Multipath, add-path
Multipath
General information on “BGP Multipath”:
- Used to install multiple eBGP/iBGP paths to the same destination in the RIB
- Only applies to dual-homing peers, therefor initially only enabled for eBGP
- By default, BGP only installs a single best path in the routing table (RIB)
- Even if multiple equal routes to a target exist, there’s no possibility of load-balancing/load-sharing
- With the multipath feature enabled, multiple equal routes will get installed in the routing table (RIB)
- This results in the possibility to do load-balancing as well as having multiple alternative paths in case of a path failure
- Important: The attributes of the routes in the BGP table need to be EXACTLY the same (even the AS_PATH numbers) until the tie-breakers to be considered as multipath routes!
- Important: When using the command for eiBGP, the BGP PATHS attribute (eBGP > eBGP Confed > iBGP) will be ignored!
Possible CLI configuration arguments:
- [none]: eBGP multipath
- iBGP: iBGP multipath
- eiBGP: iBGP and eBGP paths as multipath
“BGP Multipath” CLI configuration commands:
## Configuring multipath for a specific BGP address family
Router(config-router-af)# maximum-paths [argument] <1-32>
add-path
General information on “BGP add-path”:
- Used to advertise multiple paths (instead of only the best path) to the same destination to iBGP neighbors.
- iBGP-only feature
- By default, BGP advertisements of a prefix with new attributes replaces the previous advertisement (withdraw)
- With add-path it’s possible to advertise additional paths for the same prefix without replacing the previous advertisements
- A unique path ID (comparable to a RD for VPNv4) is added to the prefix
- Normally used in RR designs to advertise more than the best path to the RR clients/non-clients
- The group-best keyword selects the n best paths for the same AS
- Important: The attributes of the routes in the BGP table need to be EXACTLY the same (even the AS_PATH numbers) until the tie-breakers to be considered as add=path routes!
“BGP add-path” CLI configuration commands:
## Configuring BGP which additional paths to select
Router(config-router-af)# bgp additional-paths select [all | backup | best | best-external | group-best] [options]
## Configuring BGP to send and/or receive additional paths globally
Router(config-router-af)# bgp additional-paths [send | receive]
## Configuring BGP to send and/or receive additional paths on a per-neighbor basis
Router(config-router-af)# neighbor <ip> additional-paths [send | receive | disable]
## Configuring BGP which additional paths to advertise on a per-neighbor basis
Router(config-router-af)# neighbor <ip> advertise additional-paths [all | best | group best] [options]
## Configuring BGP to install additional paths in the BGP table
Router(config-router-af)# bgp additional-paths install
1.5.f ii Soft reconfiguration, Route Refresh
Soft reconfiguration
General information on “BGP Soft reconfiguration”:
- Keeps a separate copy of all the incoming routes from a specific neighbor before they are processed locally
- This is especially helpful for troubleshooting
- Example: A route-map is configured inbound changing the weight for specific routes. Somehow the BGP table differs from the expectation. The separate copy of the incoming routes table can be examined to see if the router is receiving the correct routes in the first place.
- When the show command is issued on a neighbor where it’s not enabled, an error appears stating that it is not configured
“BGP Soft reconfiguration” CLI configuration commands:
## Enabling BGP soft reconfiguration on a per-neighbor basis
Router(config-router-af)# neighbor <ip> soft-reconfiguration inbound
“BGP Soft reconfiguration” CLI show commands:
## Showing the received (unprocessed) routes of a BGP neighbor
Router# show bgp [ipv4 | ipv6 | vpnv4 | ...] unicast neighbors <ip> received-routes inbound
Route Refresh
General information on “BGP Route Refresh”:
- Used to signal a peer to send an UPDATE message without the need to hard reset the BGP session
- Can be done on a per-neighbor basis or for all neighbors at once
“BGP Route Refresh” CLI configuration commands:
## Requesting a BGP route refresh from a neighbor:
Router# clear bgp [ipv4 | ipv6 | vpnv4 | ...] unicast [neighbor | *] [in | soft in]