Cisco – BGP multipath with different ASNs feasible for production networks

bgpciscoecmprouterrouting

on Cisco (this command is hidden for some reason)

#bgp bestpath as-path multipath-relax

The default BGP behavior only installs only routes with exact the same AS_PATH into RIB. With multipath-relax, the AS_PATH only needs to be of the same length.

What problems can it potentially cause? Why isn't is used more often?

As a transit provider, does this feature complicate troubleshooting (I am thinking about end-user complaints about network performance)? Does it make it more difficult to know the path specific traffic took at a given time? Is there something else to that can assist troubleshooting. I am not sure about scalability and cost for NetFlow in SP network.

Best Answer

bgp bestpath as-path multipath-relax was introduced by CSCea19918. Normally eBGP load-balancing requires the candidate routes to be equal-cost paths; i.e. identical BGP attributes:

  • same Weight
  • same Local-Pref
  • same AS-Path (both the AS numbers, and the AS path length)
  • same Origin
  • same MED
  • different next-hop

As you mentioned, this command relaxes the same AS-Path requirement so any candidate eBGP AS-Path with the same AS-path length could be used for eBGP load-balancing (this will not load-balance between eBGP and iBGP paths). If you run BGP between multiple ISPs and you are looking for better egress load-balancing between your upstream connections this may help you out.

What problems can it potentially cause?

There isn't much danger as long as you're an enterprise customer that doesn't give transit service to another ASN; for a transit provider it might be perfectly safe, but I can't be sure there aren't routing loops if a transit ASN uses this feature. At first, I thought there would easily be a loop in transit ASN cases, on more reflection I can't find a real problem.

Why will it is rarely used?

Good question, it's been around since at least 2005.