BGP Multipath Load Balancing

First of all - are we talking about outbound traffic or inbound traffic?

Local_Pref (and other such metrics) will tune your OUTBOUND preference, but only on the prefixes you receive. If you’re getting only a few dozen or few hundred prefixes, then you’re going to get almost zero load-balancing from this, as the global routing table is around 660k routes. The vast majority of your outbound traffic is therefore being routed to the default GW prefix.

Inbound traffic engineering is not granular like many people here want to do.

As for inbound traffic engineering, you accomplish this by a few menthods:

  • Announcing more specific prefix to certain ISPs (the most effective method)
  • BGP Communities - if your ISPs offer community functionality, then you can see what policy actions they offer and leverage those
  • AS-Prepending your advertisements (longer AS-Path tends to cause traffic to choose another path)

Remember, though - just as easily as you can set your own local_pref, weight, etc to control your outbound routing policy, so too can the other networks out there. If their policies route traffic such that you get inbound traffic in ways you don’t want, then that may just be too bad for you.