Protocol interop scenarios
Run 151 curated scenarios. 142 of them drive a real FRR, BIRD, or GoBGP daemon. The harness starts only the required daemons and checks behavior through each peer's own CLI.
Ze's BGP engine against real FRR, BIRD, and GoBGP, scenario by scenario.
Use the Ze interop harness for protocol assertions, or netlab for reusable multi-node topologies.
Run 151 curated scenarios. 142 of them drive a real FRR, BIRD, or GoBGP daemon. The harness starts only the required daemons and checks behavior through each peer's own CLI.
Describe a three-node topology in YAML. netlab renders Ze configuration and starts each daemon node under containerlab.
A Docker orchestrator launches Ze and one or more
peer daemons on an isolated network, establishes
real BGP sessions, and asserts correct behavior
through each daemon's own CLI (vtysh,
birdc, gobgp). Daemons
start conditionally per scenario, so each run
only spins up what it needs.
151 scenarios: eBGP/iBGP, 4-byte ASN, IPv6, Add-Path, Route Refresh, Graceful Restart, Route Server, standard and extended communities, MD5 auth, BGP Roles, EVPN, VPN, FlowSpec, multihop, BFD and BFD strict mode, update delay, ECMP, SRv6, RPKI, BMP, max-prefix, GTSM, AS112, VRRP against keepalived, and OSPF/IS-IS interop with FRR.
# all 151 scenarios $ ./le integration interop # single scenario, verbose $ INTEROP_SCENARIO=bgp-ebgp-ipv4-frr ./le integration interop
Docker only, no QEMU path. Set FRR_IMAGE
to pin a different FRR version, or
NO_BUILD=1 to skip rebuilding images
on repeat runs.