What is FRR?
FRRouting
FRR (FRRouting) is a free, open-source suite of routing protocol daemons for Linux and Unix systems, providing BGP, OSPF, IS-IS and other protocols.
FRR began in 2017 as a fork of Quagga, itself descended from the older GNU Zebra project, and is now developed under the Linux Foundation by a community that includes several network vendors. It is a set of separate daemons, one per protocol: bgpd, ospfd, ospf6d (OSPFv3), isisd, ldpd, bfdd, pimd, staticd and others. They all talk to a central daemon, zebra, which collects their routes, chooses the best one for each prefix, and installs it in the Linux kernel's routing table. The Linux kernel does the actual packet forwarding, so FRR is the control plane and the kernel (or a hardware ASIC behind it) is the data plane. You configure everything through vtysh, a single shell whose commands, such as show ip route and router bgp 64500, look much like Cisco IOS, and the configuration is usually saved in /etc/frr/frr.conf.
FRR turns up in many places without its name being on the box: it is the routing stack in VyOS, SONiC, Cumulus Linux and numerous appliances, and it is a common choice for route servers, labs and software routers on ordinary servers. Because it is so close to the IOS style, skills transfer easily, but details differ, for example its default of requiring explicit policy before eBGP routes are accepted or sent, which catches people moving from older platforms. Which daemons run is set in /etc/frr/daemons, and a protocol whose daemon isn't enabled simply won't accept its configuration. The BGP Fundamentals and OSPF Fundamentals labs both run on FRR, and VyOS wraps it in its own configuration system.
Lessons that use FRR
- Building a network lab on an Apple Silicon MacBeginner · 45 min
Run real network labs on an M-series Mac: native FRR and Linux containers, x86-only images through Rosetta, and full x86 VyOS VMs under QEMU in Docker, with the pitfalls that stop most people and a starter lab that mixes all three.
- Debugging BGP: every session state, reproducedIntermediate · 60 min
Break a working BGP lab a dozen ways and learn to read each failure: Idle, Connect, Active and OpenSent, max-prefix, firewalls, wrong AS, TTL, hold timers, missing policy and unreachable next hops, all with real FRR output and packet captures.
- BGP FundamentalsIntermediate · 75 min
How the Border Gateway Protocol glues the internet together: autonomous systems, sessions, path attributes, best-path selection, iBGP scaling and a hands-on eBGP lab with real FRR configuration.
- Setting up VyOS with basic BGPIntermediate · 50 min
Build a VyOS edge router from scratch: one upstream transit provider, one Internet Exchange route server, and the import and export policy that keeps both safe. Every command and output comes from a real VyOS lab.
- IPv4 over an IPv6-only core (RFC 8950)Intermediate · 40 min
Carry IPv4 routes over IPv6 BGP sessions with IPv6 next hops, so core routers need no IPv4 addresses at all. Built on VyOS: the missing router ID, what breaks without the extended next hop capability, native IPv4 on the wire, and why traceroute shows 192.0.0.8.
- OSPF FundamentalsBeginner · 70 min
The link-state IGP that runs inside most networks: neighbour adjacencies, LSA flooding, SPF, costs, DR/BDR, areas and LSA types, a hands-on FRR lab, and how OSPF underpins BGP.
- EVPN and VXLAN: layer 2 over a routed fabricAdvanced · 45 min
Stretch a layer-2 segment across a routed leaf-spine fabric: VXLAN for the data plane, BGP EVPN for the control plane. Built with FRR: the underlay, VNIs, type-2 and type-3 routes, route targets, and the VXLAN packets on the wire.
- RPKI and Route Origin ValidationIntermediate · 70 min
Cryptographically signed routing origins: the RPKI trust chain, creating safe ROAs, Valid/Invalid/NotFound, validators and RTR, a real FRR + StayRTR lab, and what ROV can't stop (forged origins, leaks), plus where ASPA comes in.