Forgive my potential lack of understanding; perhaps BGP behavior has
changed or the way people use it has but my understanding is -
Since BGP is used in almost all circumstances in a mode where only
the best path to a prefix can be re-advertised, only one of the
peer or customer path can be used by a 3rd network, and if the peer
path is used for a prefix for a customer, then a transit provider can't
easily provide transit for that prefix back to the customer without
serious routing shennanigans.
So isn't it in practice the case that if a provider prefers a peer to
connect to a customer instead of the direct customer link, that:
1) The provider will lose the ability to bill for traffic delivered
to that customer, and
2) The customer will lose redundancy of inbound path, and
3) The customer will almost certainly notice and have the chance to complain
I would expect that most cases of a provider (for a given prefix, which
is almost always a caveat here) preferring a peer to get to a customer
would be something the customer had some input into via communities,
or by calling and bitching if the provider doesn't have a rich
communities set or the ability to set them.
One thing one hears every so often (in cycles) is the pressure for
emerging Tier1/2 aspirants to not peer with customers of larger potential
peers who are also providers, to preserve revenue models of said larger
peers, but that's a different situation.
If applied to customers of customers, I'd think it'd revert to the cases
above. Network X has customer Y and buys from provider C. If C prefers
a peer to get to Y (this is all for a given prefix) and it wasn't due
to policy expressed by X or Y via communities or request of provider C
by X, then eventually someone's going to figure out that the backup path
that presumably X and Y think is being paid for, isn't. Then the people
that pay money will bitch and action shoudl be taken.
Consistent announcements by a global network to its peers for the prefixes
of a given customer is another level of wonkiness that customers can
definitely influence by doing strange per-prefix communities settings,
but that again is probably another topic as it'd be presumably driven by
the customer's actions, not the provider's traffic-engineering goals.
Or am I confused here on one, more, or all points? Certainly possible.
One thing I think everyone can agree on - academic models of the ways
that people combine routers, money, fiber, contracts, and policy almost
never catch up to the creativity, poltiics, policy, bugs, and stupidities
that combine to make the Internet as wonderful as it is.