BGP Traffic Engineering - Active\Passive

Baldur Norddahl baldur.norddahl at
Fri May 21 21:36:15 UTC 2021


First one needs to remember that it is always the sender that ultimately
decides which path to use. You can use route-map or import policy to
override local pref for each matched received prefix to steer exactly which
ISP you want to use on a per prefix basis. But so can everyone else.

Say you are AS1 and we are AS2. We have two common IP transit providers
AS100 and AS200. You really want to use AS100 so you will prepend on AS200.
However AS2 is free to ignore that prepend and set a lower local pref for
your prefix towards AS200. Or the most obvious example, AS2 could simply be
using AS200 as default, so nothing at all could make them use AS100 for

Now say AS100 and AS200 are actually connected. AS2 delivers the packet to
AS200. AS200 sees that you prepended your prefix on your direct connection
to AS200. The path length is much shorter if they deliver the packet to
AS100 instead of delivering it directly to you due to prepending. In 99% of
the cases, a transit provider will ignore path length in this situation.
Everyone has a rule to deliver the packet directly to a customer if that is
possible. Just one of many examples where path length is ignored in
practical BGP.

The only thing that generally works 100% is announcing a more specific
prefix through one transit provider. That will however move everything to
that provider leaving zero traffic on the other providers.

Some transit providers allow you to use communities to selectively prepend
towards certain destinations as described by others here. Just remember
that you really do not have all that much control over the ingress
direction. Not to say it does not work, but it may disappoint somewhat.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the NANOG mailing list