// the find
holo-routing/holo
Holo is a suite of routing protocols designed to support high-scale and automation-driven networks.
Holo is a Rust implementation of a full routing protocol stack — BGP, OSPF, IS-IS, BFD, LDP, VRRP, RIP, IGMP, and Segment Routing — built specifically for automation-driven networks. It treats YANG as a first-class citizen rather than a bolt-on, with native gRPC and gNMI management interfaces and transactional config changes. This is for network engineers building software routers or automation platforms, not for people who just need a BGP daemon.
The record-and-replay functionality for bug reproduction is the most operationally useful thing here: record a protocol session running for hours, replay it in seconds on another machine. That alone is worth paying attention to. Using Rust generics to share a single OSPFv2/v3 codebase is the right call — most routing stacks carry two near-identical copies and diverge slowly over time. Panic isolation in packet decoding (malformed packets are decoded in supervised async tasks, a crash drops that task, not the daemon) is real security engineering rather than a README claim. And the fuzzing coverage is thorough: every protocol has decode fuzz targets, not just the ones that got a CVE.
BGP YANG configuration coverage is 32% — if you need policy-heavy BGP, you will hit walls fast. The segment routing YANG coverage (ietf-segment-routing-mpls) is 32.76%, which is thin for a protocol that is increasingly load-bearing in modern networks. There is no clear story for dataplane integration: the protocols build a RIB, but how routes get programmed into the Linux kernel FIB or hardware at scale is not documented, which is the first question anyone evaluating this for production will ask. Linux-only with no BSD support is a constraint that rules out a lot of network appliance environments where FreeBSD is the base OS.