There’s a new open-source router on the loose. Called Free Range Router (FRR), the software aims to provide an open-source option to commercial routing software from companies such as Cisco and Juniper.
FRR is designed to run on Unix and Linux operating systems. It supports a variety of routing protocol daemons including BGP, IS-IS, LDP, OSPF, PIM, and RIP.
However, FRR isn’t new; it’s a fork of the open-source Quagga router. A group of Quagga contributors, including Cumulus Networks, 6Wind, and BigSwitch Networks, were frustrated by the pace of development and decided to split off the software and form their own community.
“Fork” can be a dirty word in open source, but Cumulus Networks, one of the companies pushing the FRR project, felt it was necessary.
“At the time of the decision to diverge, we had a backlog of 3,000 patches,” said JR Rivers, Cumulus’s co-founder and CTO. He said Cumulus and other organizations were putting money, time, and code into the project, but the pace of development and vibrancy of the community were lacking.
“We talked with others in Quagga who were in the same boat, so we got together, merged code, added new features and functions, and it became Free Range Routing.”
FRR, currently in version 2.0, will run on any Linux, Unix or Solaris OS. Besides the above-mentioned protocol support, other enhancements to FRR include the addition of 32-bit route tags to BGP and OSPF; support for RFC 5549 (which enables Next Hop addressing in MP-BGP to belong to the IPv4 or IPv6 protocol), and support for VRF, among other features.
Rivers says the Free Range Routing project is currently working on support for MPLS and EVPN VXLAN. He expects the 3.0 version of FRR to be available in Cumulus Linux, the network OS offered by Cumulus Networks.
Cumulus will include FRR support as part of its paid support option for Cumulus Linux. Others will have to rely on the community for support.
FRR is a collaborative project of the Linux Foundation, though at present it’s unfunded so FRR is relying on the beneficence of the community to cover its overhead. You can find more details here, and download the code on the GitHub page.