GoBGP is an open source BGP implementation designed from scratch for modern environment and implemented in a modern programming language, the Go Programming Language.

Getting started

Installing GoBGP is quite easy (only two commands!):

$ go get github.com/osrg/gobgp/gobgpd
$ go get github.com/osrg/gobgp/gobgp

No dependency hell (library, package, etc) thanks to Go.

Multicore CPUs

GoBGP is designed to exploit todays multicore processors. Golang makes it extremly easy and simple to write concurrent code.

Automation Friendly

GoBGP is designed to be easily integrated with other software with its RPC APIs instead of manually changing its config via CLI. GoBGP also supports its CLI though.

Standard Config Model

GoBGP is implemented based on an IETF draft, vendor-neutral model for network configuration and policy. Imagine that you can configure BGP across multiple vendors’ gear with the single model.