RustyBGP

RustyBGP is a BGP implementation written in Rust, designed for high performance on multicore systems. It supports most of GoBGP's features with the same gRPC API and configuration file format, so you can replace gobgpd with rustybgpd without changing your tooling or configuration.

Quick Start

Download the latest nightly binary (x86_64 / aarch64):

curl -LO https://github.com/osrg/rustybgp/releases/download/nightly/rustybgp-nightly-linux-x86_64.tar.gz
tar xf rustybgp-nightly-linux-x86_64.tar.gz

Start the daemon with your GoBGP configuration file:

sudo ./rustybgpd -f gobgpd.conf
Hello, RustyBGP (32 cpus)!

You can manage it with the GoBGP CLI:

$ gobgp neighbor
Peer            AS Up/Down State       |#Received  Accepted
198.51.100.2 65002   never Idle        |        0         0

Supported Features

Differences from GoBGP

RustyBGP is Linux-only and integrates directly with the Linux kernel for FIB management instead of Zebra/FRR. The kernel integration supports:

The following GoBGP features are not supported:

Contributing

Contributions are welcome. See CONTRIBUTING.md for how to build, test, and submit patches.