
On 8/23/25 11:57, Saku Ytti via NANOG wrote:
On Sat, 23 Aug 2025 at 18:54, nanog--- via NANOG <nanog@lists.nanog.org> wrote:
on second thought, the real reason is that link-state protocols are distributed algorithms which require all nodes to execute the same algorithm on the same data, so there's no room to apply policy that wasn't baked into the design of the protocol.
The above dances around the opposite side of a conversation John Scudder and I were having about the properties of the system we've evolved. A BGP rib-out is effectively the output of a hidden state machine for your entire network.
It doesn't really matter for sending direction which egress they choose, as long as it doesn't loop. So even in this SPT future, I can choose longer upstream over shorter by local policy, just like today.
The big difference is, that the receiver cannot cherry pick which prefixes to receive in which eBGP, you have to be able to receive all prefixes on all eBGP with a given ASN. And these consistent announcements are not today always used, and would need to be replaced by registering multiple ASN.
This hits part of the above as well. What you lose through traditional link state type mechanisms is the ability to do policy. Operators like their policies for all sorts of reasons. In order to implement something that resembles the hop by hop policy stuff you can do in BGP in something that is link-state, it becomes necessary to distribute a portion of that policy into the link state distribution machinery and run it as part of your calculations for a large number of hops. The easy way to picture some of the impacts of that is consider what it'd take to distribute "at the boundary of AS X->Y, don't distribute prefix P". Traditional valley-free routing starts to require careful management of large metrics. Etc. It gets very gross, very quickly. You touch on some of the issues. -- Jeff