
On Mon, 25 Aug 2025 at 03:44, <nanog@immibis.com> wrote:
It has to be a shortest path or at least you have to know their shortest path doesn't go back through you. Perhaps AS21's shortest path to AS23 is through you. In a link-state protocol you can't do shit to stop them using you as transit, besides outright blocking their traffic (breaking the internet) or splitting your AS in 3.
How many times do I have to say it, maybe with big enough letters? ***A LINK STATE ROUTING PROTOCOL IS A DISTRIBUTED CONSENSUS ALGORITHM. ALL NODES MUST RUN THE IDENTICAL ALGORITHM ON IDENTICAL INPUT DATA OR THE NETWORK BREAKS.***
Perhaps you've invented a new type of algorithm where that's not the case. In this case I suggest ceasing to call it "link state", and writing a detailed paper about it instead of vague hints.
Oh I'm definitely not writing a paper. But I'm not sure a novel algorithm is needed (nor am I sure it is not needed). Certainly the graph cannot be a symmetric directed graph. That is the directions or arrows represent direction. You have edges which are reachable through you (customers) and you have edges which can be used to reach your customers (upstreams). So my link-state would have AS2[123] edges as reachable through me and AS3[123] as edges that can be used to reach those AS2[123] edges. So arbitrary node further down the network wouldn't use me to reach AS2[123] because of the direction of the arrow.
Only in a link-state protocol! Luckily, BGP is not a link-state protocol.
Of course it is easy to end up with loopy BGP configurations. But then we change the configuration and come up with something else. -- ++ytti