Interoperability Testing
Ze ships a Docker-based interoperability test suite that verifies protocol correctness against real third-party BGP implementations. Tests are not mocks -- they launch actual daemon instances in containers and exchange real BGP messages.
| Feature | Description |
|---|---|
| Target daemons | FRR, BIRD, GoBGP (tested), rustbgpd, RustyBGP, freeRtr (Dockerfiles ready) |
| Scenario count | 96 scenarios covering core BGP protocol and extensions plus adjacent protocols (RPKI, BMP, IS-IS, OSPF/OSPFv3) |
| Runner | make ze-interop-test (all) or make ze-interop-test INTEROP_SCENARIO=name (single) |
| Container images | Customizable via env vars (e.g., FRR_IMAGE=quay.io/frrouting/frr:10.3) |
Scenarios
The table below is a representative subset covering the core BGP protocol and extensions. The full suite has 96 scenarios; the remainder exercise RPKI, BMP, IS-IS, and OSPF/OSPFv3 interoperability against FRR.
| # | Scenario | Target |
|---|---|---|
| 01 | eBGP IPv4 | FRR |
| 02 | eBGP IPv4 | BIRD |
| 03 | iBGP | FRR |
| 04 | 4-byte ASN | FRR |
| 05 | Routes from | FRR |
| 06 | Routes from | BIRD |
| 07 | Routes to | FRR |
| 08 | Triangle topology | multi |
| 09 | Route withdrawal | FRR |
| 10 | IPv6 eBGP | FRR |
| 11 | Add-Path | FRR |
| 12 | Route Refresh | FRR |
| 13 | Graceful Restart | FRR |
| 14 | Route Server | FRR |
| 15 | Standard communities | FRR |
| 16 | Extended communities | FRR |
| 17 | MD5 authentication | FRR |
| 18 | eBGP | GoBGP |
| 19 | Routes | GoBGP |
| 20 | BGP Roles | FRR |
| 21 | BGP Roles | GoBGP |
| 22 | EVPN | FRR |
| 23 | VPN | FRR |
| 24 | FlowSpec | FRR |
| 25 | IPv6 eBGP | BIRD |
| 26 | IPv6 eBGP | GoBGP |
| 27 | Multihop eBGP | FRR |
| 28 | EVPN | GoBGP |
| 29 | VPN | GoBGP |
| 30 | FlowSpec | GoBGP |
| 31 | Multihop eBGP | BIRD |
| 32 | Multihop eBGP | GoBGP |
| 33 | BFD failover | FRR |
| 34 | ECMP | FRR + GoBGP |
| 35 | SRv6 VPNv6 | FRR |
| 36 | Remove private AS | FRR |
| 37 | Remove private AS via AS4_PATH | FRR + BIRD |
Only Ze and rustbgpd ship cross-implementation interop test suites among open-source BGP daemons. Ze's suite has more scenarios and tests against more target implementations.