consistent policy != consistent announcements

IMO, ISPs who are engaging in the 'hot potato' routing practice have the
obligation to announce consistent routes to its peers at different peering
points. It may require an ISP to change it's internal policy to achive
this with reasonable maintance work (like the one described below) or to
excercise whatever internal policy it decide but do more work (configuration
management,etc) to fulfill the obligation.

Peers get announced customer routes. In broad brush-strokes, if you
don't consistently prefer customer routes over peer routes, and don't
reannounce peer routes, you are bound to announce routes inconsistently.
If you do reannounce peer routes, you get into all sorts of possible
messiness (see below). This much is presumably obvious.

Is there any *customer-led* reason why one might not want to prefer customer
routes over peer routes? (i.e. not "it saves me doing some backhaul as
I can dump the traffic off to the customers other provider").

If we and X (my peer) both transit Y, I would complain if X didn't prefer
customer routes over my (peer) routes. Internally-to-X generated traffic
(news being an obvious example) or other X-customer traffic which gets into
X's network near a peering point far from where X provides transit to Y,
I get to do backhaul for. Not nice, not only from a traffic point of
view but also a debugging one. Also makes asymmetry worse.

I'd also complain if X started announcing routes like <us> <Y>. Mainly
from bitter experience where incompetents announced routes like that
then blackholed the traffic.

So I'd be interested to know why the customer might prefer anything other
than "prefer customer routes over peer routes".

Alex Bligh
Xara Networks

Is there any *customer-led* reason why one might not want to prefer
customer routes over peer routes? (i.e. not "it saves me doing some
backhaul as I can dump the traffic off to the customers other
provider").

Yes. Suppose that I am "M", and I have two providers "A" and "B". The
links M/A and M/B are expensive international links, much lower bandwidth
than I would like, and prone to congestion. Further suppose that A is a
customer of R, and B is a peer of R. For load balancing reasons, I would
like R to send some of my traffic via A and some via B. Since I pay A and
B for transit, and A pays R for transit, and A and B both agree to play
along with my desire to load balance, it's reasonable for us to ask R to
do this. From R's point of view, their customer A and their indirect
customer M have asked them to treat peer routes (via B) and customer
routes (via A) to destinations in M as being equivalent.

--apb (Alan Barrett)