Fundament - routing protocols legacy stuff - routed, mrouted, route6d scary old code no privilege separation bgpd 3 years in tree - since OpenBSD 3.5 started because of the lack of a good BGP implementation privilege separation (three process model, imsg framework) non-cryptic configuration syntax ospfd 2 years in tree - since OpenBSD 3.7 again three process model and imsg framework but uses libevent to schedule timeouts instead of a huge poll loop started because the existing OSPF implementations were even worse than the BGP ones