Remember my BGP route selection rules are a clear failure of intent-based networking paradigm blog post? I wrote it almost three years ago, so maybe you want to start by rereading it…
Making long story short: every large network is a unique snowflake, and every sufficiently convoluted network architect has unique ideas of how BGP route selection should work, resulting in all sorts of crazy extended BGP communities, dozens if not hundreds of nerd knobs, and 2000+ pages of BGP documentation for a recent network operating system (no, unfortunately I’m not joking).
What if we’d admit that intent-based networking looks better in PowerPoint than in real life, and give people the tools to influence the BGP route selection process through a callback API that would be invoked at various points during the BGP update processing and route selection process.
Welcome to Pluginized Protocols, an academic project exploring the viability of this approach. Coming from the same team that worked on Prefix Independent Convergence, Loop-Free Alternate, MP-TCP, Flowbender, Software-Defined IXP, Fibbing with OSPF, or natural-language interface to network operations… and having been implemented in FRRouting and BIRD, it’s definitely worth looking at.