OpenBGPD is the BGP routing daemon of the OpenBSD project, written from scratch rather than derived from an older code base. Henning Brauer first presented it at FOSDEM in February 2004, and it has shipped with OpenBSD ever since. The code is released under the ISC license, a very short permissive license that places almost no restriction on reuse, commercial or otherwise.
A portable flavour, maintained by Claudio Jeker, lets the same daemon build on other operating systems. According to the project’s download page, portable release 9.3 came out on 30 September 2026 and is known to work on Linux and FreeBSD.
What OpenBGPD is for
BGP, the Border Gateway Protocol, is how the autonomous networks that make up the Internet, carriers, hosting companies, exchange points, tell each other which IP prefixes they can reach. A daemon such as OpenBGPD turns an ordinary server into a router that talks to those neighbours, receives their announcements, selects the best paths and, when asked, pushes the result into the kernel routing table. Everything is driven from a single text file, bgpd.conf, whose syntax shares the spirit of OpenBSD’s pf firewall, while the bgpctl utility queries and controls the running daemon.
The program is split into three cooperating processes, a design choice made for security as much as for stability. The session engine keeps the TCP connections to each neighbour alive, the route decision engine filters incoming paths and builds the routing information base, and the parent process, the only one that retains privileges, keeps that table in sync with the kernel. Compromising one of the two network-facing processes therefore yields very little. OpenBGPD also validates route origins from the data produced by rpki-client, another OpenBSD tool, and understands ASPA records, which check the AS path itself.
Setting it beside FRRouting, the other major free suite in this category, makes its positioning clear. FRRouting descends from Quagga and implements around ten protocols, among them BGP, OSPF, IS-IS, RIP and PIM, behind a command line modelled on Cisco equipment. OpenBGPD deliberately does BGP and nothing else: the project’s stated goals are security, reliability and leanness, covering the common cases well rather than every obscure option. The OSPF and RIP daemons that sit next to it on OpenBSD are not part of the portable package.
In the field it is mostly found as a route server at Internet exchange points, where it has to hold full tables against dozens of peers, as a border router for small carriers and hosting providers announcing their own prefixes, and as a BGP speaker running directly on servers that need anycast or service addresses. The portable tarball also ships bgplgd, a small looking-glass daemon that exposes the router’s state read-only over HTTP.
Who is it for?
OpenBGPD suits network administrators and operations engineers who already run an AS number, or are about to, and who would rather maintain a readable configuration file than type into an interactive console. Teams running OpenBSD or FreeBSD find it the obvious choice, and so do operators who want implementation diversity, so that a single bug cannot take down every router at once.
Its limits follow from its scope. There is no graphical interface, no OSPF or IS-IS in the portable build, and getting started assumes a working knowledge of BGP, filtering policies and communities. Distribution packages on Linux can lag several releases behind the official tarball. Anyone who needs several protocols in one product, or a console familiar to Cisco users, will be better served by FRRouting or by a full routing system such as VyOS, and anyone learning BGP in a lab can mix several implementations inside GNS3 or EVE-NG without buying hardware.
Download OpenBGPD safely
On OpenBSD there is nothing to install, since bgpd is part of the base system. For other platforms, the download page on openbgpd.org points to the openbgpd-9.3.tar.gz source archive hosted on the OpenBSD mirrors, together with a signify signature and a GPG co-signature for verification. The mirror listing gives the archive a size of roughly 847 KB. The portable code also lives on GitHub under the openbgpd organisation, which publishes an OCI image for Docker or Podman as well. Building follows the usual configure, make and make install sequence, with libmnl required on Linux and libevent needed only for bgplgd.
The software is entirely free of charge, with no commercial edition, no account to create and no license key to enter. Most Linux distributions and FreeBSD also carry an openbgpd package in their official repositories. A precompiled binary offered by an unrelated website, or an archive whose signature does not match the key published on openbgpd.org, should be treated as a risk: this is the component that decides where your traffic goes.
Frequently asked questions
Is OpenBGPD free?
Yes. It is released under the ISC license by the OpenBSD project, with no paid tier and no locked features. You may use, modify and redistribute it freely, including inside a commercial product, as long as the license notice is kept.
Does it run on Linux?
Yes, through the portable version. According to the 9.3 release notes it is tested on Alpine, Debian, Fedora, RHEL and its derivatives, and Ubuntu, as well as FreeBSD. You can build it from the official tarball or install your distribution’s package, which is often a little older.
How does it differ from FRRouting?
OpenBGPD handles BGP only and relies on a concise configuration file and a compartmentalised architecture. FRRouting offers a full suite of routing protocols with a Cisco-style console. The two often coexist at exchange points precisely so that nobody depends on a single implementation.