Scalable Policy Routing

More than a decade ago (before SD-WAN was even a thing) I wrote an article describing how easy it is to route different applications onto different links (MPLS/VPN versus IPsec tunnels) using a distance vector routing protocol (preferably BGP, although even RIP would work).

You might find it interesting that it’s possible to solve tough problems with good network design instead of proprietary unicorn dust, so I salvaged the article from some dusty archive, cleaned it up, polished it, and published it on


  1. The IBGP (non-client) session between core routers is not drawn in the diagram (page 3). On page 4 in the last diagram the rightmost "CoreInet" router should be named "Legacy". As BGP weight attribute is Cisco proprietary (should be avoided), I would solve it with OSPF cost on server routers.

    1. Thanks a million for the bug report. Diagrams fixed.

      As for weight:

      • It's not a BGP attribute;
      • It's not standardized because it is internal to a box;
      • It's available in BGP implementations from multiple vendors (at least Arista EOS).

      I left weight as the preferred solution in the text, but added a footnote explaining it is not available in all BGP implementations. I also added alternative mechanisms (LocPref, IGP cost) to the main text.

    2. Is it possible to set local-preference to a IBGP session with inbound route-map on IOS?

    3. There's only one way to be sure -- set up a lab and test it ;)

Add comment