GoBGP is an open source BGP implementation designed from scratch for modern environment and implemented in a modern programming language, the Go Programming Language.
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.
GoBGP is designed to exploit todays multicore processors. Golang makes it extremly easy and simple to write concurrent code.
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.