-
Notifications
You must be signed in to change notification settings - Fork 462
BGP Ecosystem
Note: This page compares OTHER BGP implementations in the open source ecosystem. For ExaBGP documentation, see the Home page.
- Overview
- When to Use What - Quick Decision Guide
- Production-Ready Implementations
- Emerging Implementations
- Language-Specific Options
- Python Ecosystem
- Specialized Tools
- Performance Comparison
- Decision Matrix
- Ecosystem Summary
- See Also
The BGP ecosystem offers a rich variety of open source implementations, each designed for different use cases and preferences. This guide helps you choose the right BGP implementation for your needs.
Key Distinction: Understand the difference between:
- Full routing daemons (BIRD, FRR, OpenBGPD) - Manage routing tables, install routes
- Programmatic BGP tools (ExaBGP, GoBGP library, CoreBGP) - Automation, API-driven
- Monitoring tools (pmacct, YABGP) - Collection and analysis
⚠️ Performance Benchmark Caveat: Performance benchmarks referenced in this document are from 2021-2022 and may not reflect current performance. Software performance can change significantly over 3-4 years, especially for actively developed projects. Treat benchmark data as historical reference only.
| Your Need | Choose | Why |
|---|---|---|
| IXP Route Server | BIRD | Fastest performance, powerful policy language, industry standard |
| Full Routing Daemon | FRRouting | Modern, actively developed, complete protocol suite |
| DDoS Mitigation | ExaBGP | Pioneered open source FlowSpec, proven at scale |
| Anycast Services | ExaBGP | Simple API, health check integration, Facebook-scale proven |
| Kubernetes/Cloud | GoBGP or ExaBGP | Cloud-native design with gRPC or simple STDIN/STDOUT API |
| Maximum Performance | BIRD | Fastest implementation, lowest memory usage |
| Security First | OpenBGPD | OpenBSD security focus, auditable codebase |
| Network Automation | ExaBGP | Scriptable, any language, flexible |
| BGP Monitoring | pmacct/pmbmpd | Production-grade BMP collector |
| Java Environment | freeRouter | Full-featured router in Java |
Language: C Website: http://bird.network.cz/ Status: Mature, Active Rating: ⭐⭐⭐⭐⭐
Description: Offers unparalleled efficiency and a powerful filtering language for high-performance, policy-heavy environments like IXPs and route servers.
Key Features:
- Multiple routing tables
- Powerful filtering/policy language
- IPv4 and IPv6 support
- BGP, OSPF, RIP, Babel, BFD, RPKI
- Route server capabilities
- Extremely fast performance
- FlowSpec support (modern versions)
Performance Highlights:
- Fastest BGP implementation in benchmarks
- ~25% faster than FRR
- Lowest memory usage (1M IPv4 routes in 128MB)
- ~30ns lookup time with 1M routes
Use Cases:
- IXP route servers (most popular choice)
- High-performance routing
- Large routing tables
- Policy-heavy environments
Strengths:
- ✅ Fastest performance
- ✅ Lowest memory usage
- ✅ Powerful policy language
- ✅ Industry standard for IXPs
Weaknesses:
- ❌ Steeper learning curve
- ❌ Configuration syntax differs from Cisco
Recommendation: Best choice for IXPs, route servers, and performance-critical environments.
Language: C Website: https://frrouting.org Status: Mature, Active Rating: ⭐⭐⭐⭐⭐
Description: The undisputed modern champion and spiritual successor to the legacy Quagga project, now the standard recommendation for a full-featured open-source routing solution.
History:
- GNU Zebra (abandoned 2005) → Quagga → FRRouting (April 2017 fork)
- Created to enable more open and faster development
- Cumulus Linux 3.4+ replaced Quagga with FRR
Key Features:
- Full routing protocol suite (BGP, OSPF, ISIS, RIP, EIGRP, PIM, BFD)
- IPv4 and IPv6 support
- MPLS support
- BGP FlowSpec support (modern versions)
- VRF support
- Graceful restart
- Route maps and prefix lists
Performance Highlights:
- Single process/core architecture
- Competitive with BIRD (~25% slower in some tests)
- Lower memory usage than GoBGP
- Faster than OpenBGPD
Use Cases:
- Enterprise routers
- Data center networking
- ISP routing infrastructure
- Linux-based routers
- Full routing stack replacement
Strengths:
- ✅ Full-featured routing daemon
- ✅ Active development and community
- ✅ Excellent documentation
- ✅ Wide protocol support
- ✅ Industry adoption
Weaknesses:
- ❌ C codebase (harder to contribute than Go/Rust)
- ❌ Slightly slower than BIRD
Recommendation: Default choice for full routing daemon deployments.
Language: Python Website: https://github.com/Exa-Networks/exabgp Status: Mature, Active Rating: ⭐⭐⭐⭐⭐
Description: A unique, Python-based tool focused on programmatic BGP peering and network automation, rather than being a full routing daemon. "The BGP swiss army knife of networking."
Key Features:
- Simple API (STDIN/STDOUT)
- BGP FlowSpec (pioneered open source implementation, now also in GoBGP/FRR/BIRD)
- IPv4, IPv6, MPLS VPN, EVPN, BGP-LS support
- JSON and text encoders
- External process model
- No RIB/FIB manipulation - pure protocol implementation
Philosophy:
- ExaBGP does NOT install routes in kernel routing table
- External processes handle route installation via API
- Focus on BGP protocol and programmability
- Language-agnostic integration (Python, Bash, Go, Ruby, any language)
Performance Characteristics:
- Slower than compiled implementations (Python)
- Not designed for full routing table
- Efficient for route injection/collection
- Lightweight resource usage
- Scales to Facebook/Meta level (Katran L4LB)
Use Cases:
- DDoS mitigation with FlowSpec ⭐
- Anycast service announcement and management
- Dynamic load balancing
- Route injection and advertisement
- Network automation
- BGP testing and simulation
- Route monitoring and collection
Strengths:
- ✅ Pioneered open source FlowSpec (first implementation)
- ✅ Simple API accessible from any language
- ✅ Easy deployment (Python only dependency)
- ✅ Flexible and scriptable
- ✅ Proven at Facebook/Meta scale (Katran)
- ✅ Active development and community
Weaknesses:
- ❌ Slower than C/Go/Rust implementations
- ❌ Not a full routing daemon
- ❌ No RIB/FIB manipulation
When to Choose ExaBGP:
- Automation and orchestration
- FlowSpec DDoS mitigation
- Anycast health checks
- BGP as an API
- Integration with existing infrastructure
Recommendation: Best choice for automation, FlowSpec, anycast, and programmable BGP.
For complete ExaBGP documentation, see:
Language: Go Website: https://osrg.github.io/gobgp/ Status: Mature, Active Rating: ⭐⭐⭐⭐
Description: An open source BGP implementation designed from scratch for modern environments and implemented in Go. Supports modern BGP features and cloud-native deployments.
Key Features:
- Modern Go codebase
- gRPC API
- BGP FlowSpec support
- MRT support
- BMP (BGP Monitoring Protocol) support
- Graceful restart
- Cloud-native design
- Can be used as library or daemon
Performance Characteristics:
- Slower than BIRD/FRR in benchmarks
- Multi-core support
- Higher memory usage (~2x more than BIRD/FRR)
- Higher CPU usage
- Performance acceptable for most cloud use cases
Use Cases:
- Cloud-native environments
- Container networking
- Kubernetes integration
- Automation via gRPC API
- Modern application integration
Strengths:
- ✅ Modern language (Go)
- ✅ gRPC API
- ✅ Easy to contribute
- ✅ Cloud-native design
- ✅ Multi-core support
- ✅ Active development
Weaknesses:
- ❌ Slower than BIRD/FRR
- ❌ Higher memory usage
- ❌ Higher CPU usage
Recommendation: Good choice for cloud/Kubernetes deployments, but consider performance requirements.
Language: C Website: https://www.openbgpd.org/ Status: Mature, Active (OpenBSD project) Rating: ⭐⭐⭐⭐
Description: The routing daemon developed and supported by the OpenBSD project, known for its focus on security, simplicity, and clear configuration.
Key Features:
- Security-focused design
- Simple configuration syntax
- IPv4 and IPv6 support
- Prefix filtering
- AS path manipulation
- Route reflector support
- Portable to other BSDs and Linux
Performance Characteristics:
- Slower with >10 neighbors (2-3x slower than BIRD)
- Higher memory usage
- Single process architecture
- Focus on correctness over speed
Use Cases:
- Security-conscious deployments
- OpenBSD systems
- Simple BGP setups
- Small to medium deployments
Strengths:
- ✅ Security-focused
- ✅ Simple configuration
- ✅ OpenBSD quality and code review
- ✅ Clean, auditable codebase
Weaknesses:
- ❌ Slower performance (2-3x slower than BIRD)
- ❌ Higher memory usage
- ❌ Limited features vs. FRR/BIRD
Recommendation: Good choice for security-focused or small deployments where OpenBSD quality matters.
Language: Rust Website: https://github.com/osrg/rustybgp Status: Experimental Rating: ⭐⭐⭐
Description: Mission to develop a high-performance and safe BGP implementation. An experiment to implement aged and rusty BGP protocol in a modern language.
Key Features:
- Rust memory safety
- Multi-core design
- gRPC APIs (GoBGP compatible)
- High performance potential
Performance Characteristics (2021-2022 benchmarks):
- Slower than BIRD/FRR in current state
- Uses all CPU cores efficiently
- Lowest memory usage in high-neighbor tests
- May have improved significantly since benchmarks
Strengths:
- ✅ Rust memory safety
- ✅ Multi-core utilization
- ✅ Low memory usage
- ✅ GoBGP API compatible
Weaknesses:
- ❌ Not yet fully formed BGP stack
- ❌ Limited policy support
- ❌ Experimental status
Recommendation: Promising but not production-ready. Monitor for future development.
Language: Go Website: https://github.com/bio-routing/bio-rd Status: Active Rating: ⭐⭐⭐
Description: A project to create a versatile, fast and reliable routing daemon in Go. bio = BGP + IS-IS + OSPF.
Key Features:
- Multi-protocol (BGP, IS-IS, OSPF)
- Modern Go implementation
- Designed for performance
- Modular architecture
If you are a Go person, this is for you! The developers really put thought into the implementation.
Strengths:
- ✅ Modern Go codebase
- ✅ Multi-protocol support
- ✅ Well-architected
Weaknesses:
- ❌ Less mature than FRR/BIRD
- ❌ Limited production adoption
Recommendation: Interesting project, but consider maturity needs.
Language: Go Website: https://github.com/jwhited/corebgp Status: Active Rating: ⭐⭐⭐
Description: A BGP library written in Go that implements the BGP FSM with an event-driven, pluggable model.
Important: This is a library, not a daemon. It:
- Does NOT manage RIB
- Does NOT send UPDATE messages
- User controls all behavior via plugins
Use Cases:
- Building custom BGP applications
- BGP-enabled services
- Research and experimentation
Strengths:
- ✅ Pluggable architecture
- ✅ Full control for developers
- ✅ Modern Go library
Weaknesses:
- ❌ Not a ready-to-use daemon
- ❌ Requires custom implementation
Recommendation: For developers building custom BGP applications.
Then these are for you! (We really like bio-routing implementation)
-
GoBGP - https://github.com/osrg/gobgp
- Production-ready daemon with gRPC API
- Full BGP feature set
- Cloud-native design
-
bio-routing - https://github.com/bio-routing/bio-rd
- Multi-protocol (BGP, IS-IS, OSPF)
- Well-architected
- Active development
-
CoreBGP - https://github.com/jwhited/corebgp
- Library for building custom BGP apps
- Event-driven plugin model
Use one of these production-grade implementations:
-
BIRD - http://bird.network.cz/
- Fastest performance
- Best for IXPs and route servers
- Powerful policy language
-
FRRouting - https://frrouting.org
- Full routing protocol suite
- Modern development
- Best for enterprise/ISP
-
OpenBGPD - https://www.openbgpd.org/
- Security-focused
- OpenBSD quality
- Simple configuration
The Rust ecosystem is emerging:
-
RustyBGP - https://github.com/osrg/rustybgp
- Most complete implementation
- Multi-core support
- Experimental but promising
-
bgpd-rs - https://github.com/thepacketgeek/bgpd-rs
- Educational/experimental
- Based on bgp-rs library
-
bgp-rs - https://github.com/DevQps/bgp-rs
- Library for BGP parsing
- Used by bgpd-rs
-
ZettaBGP - https://docs.rs/zettabgp/latest/zettabgp/
- Comprehensive library for parsing/composing BGP and BMP
- 15+ address families (IPv4/IPv6, VPN, EVPN, FlowSpec)
- For building route reflectors, monitoring systems
- Library only (not a complete daemon)
freeRouter - http://www.freertr.org/
- Full routing protocol suite
- BGP4, BGP6, OSPF, ISIS, and more
- P4 integration
- DPDK support
- OS-independent packet handling
-
BGPFeeder - https://github.com/BytemarkHosting/bgpfeeder
- Lightweight static route distribution
- Production use at Bytemark Hosting
- Simple anycast setups
-
bgp4r - https://github.com/jesnault/bgp4r
- BGP implementation in Ruby
- Research before using
bgpsimple - Historical interest only
svn checkout http://bgpsimple.googlecode.com/svn/trunk/ bgpsimple-read-only
Note: Google Code is archived. Use modern alternatives.
There are implementations here:
-
eggpd - https://github.com/ThomasHabets/eggpd
- BGP implementation in Erlang
- Experimental
-
erlang-bgp - https://github.com/brunorijsman/erlang-bgp
- Start of an implementation
- Very early stage
hBGP - https://github.com/hdb3/hBGP
- BGP implementation in Haskell
- Academic/research use
- Functional programming approach
Website: https://github.com/Exa-Networks/exabgp Rating: ⭐⭐⭐⭐⭐
The most popular Python BGP implementation, focused on automation and programmability.
Use Cases:
- Network automation
- DDoS mitigation (FlowSpec)
- Anycast management
- Load balancing
- Route injection
See ExaBGP documentation for complete details.
Website: https://github.com/smartbgp/yabgp Rating: ⭐⭐⭐
You could have a look at YABGP (which came after ExaBGP):
Description: Yet Another BGP Python Implementation. Can establish BGP connections with routers and receive/parse BGP messages for analysis.
Key Features:
- BGP message parsing
- Works with Cisco/Huawei/Juniper routers
- GNS3 simulator support
- Analysis-focused
Code Heritage:
- Borrowed from PyBal (Wikimedia) for FSM/protocol
- References ExaBGP for message parsing
Use Cases:
- BGP message analysis
- Network testing
- Research and learning
Recommendation: Good for analysis and testing, but consider ExaBGP for production.
Website: https://github.com/Orange-OpenSource/bagpipe-bgp Organization: Orange Rating: ⭐⭐⭐
If you want something which works with OpenStack:
In 2014, multiple projects started experimenting with BGP for OpenStack. Orange released BaGPipe which uses ExaBGP's classes to write their own BGP route injector with a clear focus on OpenStack. Some of their code has been ported back into ExaBGP - Thank you for the help!
Key Features:
- BGP VPN support
- OpenStack Neutron integration
- Based on ExaBGP classes
- EVPN support
Recommendation: For OpenStack deployments.
Website: https://github.com/osrg/ryu Organization: NTT Rating: ⭐⭐⭐
If you want something which works with OpenStack but NOT ExaBGP based:
Ok... we got it... no point in getting agitated :-) NTT supports the development of Ryu, which you should have a look at too as it added BGP support in 2014.
Key Features:
- SDN controller framework
- BGP support
- OpenFlow integration
Recommendation: For SDN use cases.
Website: git.wikimedia.org/tree/operations/debs/pybal.git Organization: Wikimedia Foundation Rating: ⭐⭐
If you want something for your website resilience:
You should look at healthcheck in ExaBGP but as you insist on not using it, the Wikimedia Foundation wrote something cool named PyBal.
Key Features:
- BGP-based load balancing
- Health checking
- Service announcement
- Production use at Wikimedia
Recommendation: Niche use case specific to Wikimedia patterns.
Website: https://code.launchpad.net/pybgp Rating: ⭐⭐
ExaBGP is not what I am looking for?
You could check pybgp:
bzr branch lp:pybgp
I am not sure if this project existed when I started ExaBGP or not but I clearly missed it! It does not support many RFCs, but has IPv4 and VPNv4/MPLS. I really like Twisted and use it a lot but did not want a dependency on it for a BGP daemon.
Key Features:
- Uses Twisted framework
- IPv4 and VPNv4/MPLS support
- Limited RFC support
Recommendation: Consider ExaBGP or YABGP instead.
Website: https://github.com/pmacct/pmacct Rating: ⭐⭐⭐⭐
I am looking for a BMP daemon in another language than Python:
We used to have one but... not anymore. The pmbmpd daemon of pmacct can be used to collect BMP messages, which can then be shipped to Kafka.
Key Features:
- BMP (RFC 7854) collector
- BGP prefix/update collection
- NetFlow, IPFIX, sFlow support
- Kafka integration
- Production-grade monitoring
Use Cases:
- BGP monitoring
- Network telemetry
- BGP data collection
- ISP-scale monitoring
Recommendation: Essential tool for BGP monitoring.
Website: https://github.com/de-cix/pbgp-parser Organization: DE-CIX Rating: ⭐⭐⭐
I have some PCAP files I need parsing:
You could surely do something with ExaBGP but otherwise pbgp-parser will help you.
Use Cases:
- PCAP file analysis
- BGP troubleshooting
- Traffic analysis
Website: https://github.com/spale75/piranha Rating: ⭐⭐
I want to know what is happening on my network:
You could surely do something with ExaBGP and otherwise Piranha can help you.
Use Cases:
- Network monitoring
- BGP visibility
Website: https://github.com/bgpkit/bgpkit-parser Language: Rust
MRT/BGP data parser library written in Rust. NOT a BGP daemon - this is a library for parsing BGP data.
Use Cases:
- BGP data analysis
- MRT file parsing
- Research
Note: Useful library for analysis, not a routing daemon.
⚠️ Important: These benchmarks are from 2021-2022 and may not reflect current performance. Software changes significantly over 3-4 years. Use as historical reference only.
- BIRD - ⚡⚡⚡⚡⚡ Fastest
- FRRouting - ⚡⚡⚡⚡ Very fast (25% slower than BIRD)
- RustyBGP - ⚡⚡⚡ Moderate (improving)
- OpenBGPD - ⚡⚡ Slow (2-3x slower than BIRD with >10 neighbors)
- GoBGP - ⚡ Very slow (24s vs 3-4s in older benchmarks)
- ExaBGP - ⚡ Python overhead (not designed for full table)
- RustyBGP - Lowest (high neighbor count)
- BIRD - Very low (1M routes in 128MB)
- FRRouting - Low
- GoBGP - ~2x more than BIRD/FRR
- OpenBGPD - Highest in tests
- Multi-core: RustyBGP, GoBGP
- Single-core: BIRD, FRRouting, OpenBGPD, ExaBGP
| Implementation | Language | Speed | Memory | Cores | Rating |
|---|---|---|---|---|---|
| BIRD | C | ⚡⚡⚡⚡⚡ | Low | Single | ⭐⭐⭐⭐⭐ |
| FRRouting | C | ⚡⚡⚡⚡ | Low | Single | ⭐⭐⭐⭐⭐ |
| ExaBGP | Python | ⚡⚡ | Low | Single | ⭐⭐⭐⭐⭐ |
| GoBGP | Go | ⚡ | High | Multi | ⭐⭐⭐⭐ |
| OpenBGPD | C | ⚡⚡ | High | Single | ⭐⭐⭐⭐ |
| RustyBGP | Rust | ⚡⚡⚡ | Lowest | Multi | ⭐⭐⭐ |
Winner: BIRD ⭐⭐⭐⭐⭐
- Fastest performance
- Powerful policy language
- Industry standard
- Lowest memory usage
Winner: FRRouting ⭐⭐⭐⭐⭐
- Modern, actively developed
- Full protocol suite
- Good performance
- Wide adoption
- Excellent documentation
Winner: ExaBGP ⭐⭐⭐⭐⭐
- Pioneered open source FlowSpec (now also in GoBGP, FRR, BIRD)
- Simple API for automation
- Proven at Facebook/Meta scale
- Easy integration with mitigation systems
Note: Modern versions of BIRD, FRR, and GoBGP also support FlowSpec, but ExaBGP's API makes automation easier.
Winner: ExaBGP ⭐⭐⭐⭐⭐
- STDIN/STDOUT API
- Any language integration
- Python flexibility
- Health check integration
- Facebook Katran uses it
Winners:
- GoBGP ⭐⭐⭐⭐ - gRPC API, modern design
- ExaBGP ⭐⭐⭐⭐ - Simple integration, container-friendly
- bio-routing ⭐⭐⭐ - Go-native
Winner: OpenBGPD ⭐⭐⭐⭐
- OpenBSD security focus
- Simple, auditable code
- Clear configuration
- Proven security track record
Winner: BIRD ⭐⭐⭐⭐⭐
- Fastest BGP implementation
- Lowest memory usage
- Handles full routing tables efficiently
- Industry proven
Winners:
- freeRouter ⭐⭐⭐⭐ - Full features, P4 support
- RustyBGP ⭐⭐⭐ - Modern Rust
- YABGP ⭐⭐⭐ - Analysis focus
| Language | Production | Experimental | Libraries |
|---|---|---|---|
| C | BIRD, FRR, OpenBGPD | - | - |
| Python | ExaBGP | YABGP, PyBal, pybgp | BaGPipe, Ryu |
| Go | GoBGP | bio-routing | CoreBGP |
| Rust | - | RustyBGP | ZettaBGP, bgp-rs |
| Java | freeRouter | - | - |
| Ruby | - | BGPFeeder, bgp4r | - |
| Erlang | - | eggpd, erlang-bgp | - |
| Haskell | - | hBGP | - |
Choose ExaBGP when:
- You need automation and programmability
- FlowSpec DDoS mitigation is your focus
- Anycast with health checks
- BGP as an API for applications
- Integration with existing infrastructure
- Python ecosystem preference
Choose BIRD/FRR when:
- You need a full routing daemon
- RIB/FIB manipulation required
- Traditional router replacement
- Multi-protocol support (OSPF, ISIS, etc.)
- Maximum performance with full routing tables
Key Difference:
- ExaBGP: Pure BGP protocol, no RIB/FIB, API-driven, automation focus
- BIRD/FRR: Full routing stack, kernel integration, traditional daemon
Production-Grade (Battle-Tested):
- ✅ BIRD - IXPs worldwide
- ✅ FRRouting - Enterprises, ISPs, Linux distros
- ✅ ExaBGP - Facebook/Meta, ISPs, enterprises
- ✅ OpenBGPD - OpenBSD community
Production-Ready (Proven):
- ✅ GoBGP - Cloud deployments
- ✅ freeRouter - Research networks
Emerging (Active Development):
- 🔄 RustyBGP - Promising but experimental
- 🔄 bio-routing - Active development
- 🔄 CoreBGP - Library for developers
Experimental / Niche:
- 🧪 YABGP - Analysis focus
- 🧪 bgpd-rs - Learning project
- 🧪 Erlang/Haskell implementations
1996: GNU Zebra
↓
2003: Quagga fork (Zebra abandoned)
↓
2009: ExaBGP created (Python automation)
↓
2010: BIRD development accelerates
↓
2013: GoBGP created (Go implementation)
↓
2017: FRRouting fork (Quagga successor)
↓
2018: RustyBGP experimental (Rust)
↓
2025: Mature ecosystem with choices for every use case
- No single "best" implementation - depends on use case
- BIRD = Performance king for IXPs and route servers
- FRRouting = Default choice for full routing daemon
- ExaBGP = Automation specialist for FlowSpec/anycast/programmability
- GoBGP = Cloud-native but slower
- OpenBGPD = Security focus but slower
- Rust/Go = Future but not yet fully mature
ExaBGP's Unique Value:
- Pioneered open source FlowSpec (first implementation, now also in GoBGP/FRR/BIRD)
- Simplest automation API (STDIN/STDOUT, any language)
- Proven at hyperscale (Facebook/Meta Katran)
- Pure BGP protocol focus (no RIB/FIB)
- Network automation and orchestration specialist
ExaBGP Documentation:
- Home - Main documentation hub
- Getting Started - Quick start guide
- API Overview - ExaBGP's unique API
- FlowSpec - DDoS mitigation
- Use Cases - Real-world examples
External Resources:
Performance References:
- Elegant Network BGP Testing - Performance benchmarks
- Justin Pietsch articles on Medium - BGP performance analysis
Still looking?
Let me know if I missed something. This list is reviewed periodically. In 2012, we found another Python program from 2005 called "announcer", so there is surely still more out there.
http://www.dia.uniroma3.it/~compunet/bgp-probing/
👻 Ghost written by Claude (Anthropic AI)
Getting Started
Configuration
- Configuration Syntax
- Neighbor Configuration
- Directives A-Z
- Templates
- Environment Variables
- Process Configuration
API
- API Overview
- Text API Reference
- JSON API Reference
- API Commands
- Writing API Programs
- Error Handling
- Production Best Practices
Address Families
- Overview
- IPv4 Unicast
- IPv6 Unicast
- FlowSpec
- EVPN
- L3VPN
- BGP-LS
- VPLS
- SRv6 / MUP
- Multicast
- RT Constraint
Features
Use Cases
Tools
Operations
Reference
- Architecture
- Design
- Attribute Reference
- Command Reference
- BGP State Machine
- Capabilities
- Communities
- Examples Index
- Glossary
- RFC Support
Integration
Migration
Community
External