Once upon a time, William Herrin <bill@herrin.us> said:
Because big operators think it reasonable to localpref distance routes ahead of nearby ones so long as the distant routes arrive from customers. I'll remember that the next time folks complain about the size of the routing table. This one you did to yourselves.
This isn't some "big operators" conspiracy... it's how lots of networks with BGP customers work (even small networks). BGP has no knowledge of the distance you keep emphasizing, and path prepends have always been known to be down the decision tree. When you receive a route over a paid link, it's not unreasonable to assume it's because your paying customer wants that traffic from you. It's been pretty standard practice to localpref up routes from your customers for a long time, and then (often but not always) provide communities for said customers to override the localpref. Being a customer of a customer makes that harder, but then it's basically on you to choose your connections with that in mind. -- Chris Adams <cma@cmadams.net>