# gobgp-evpn — modular EVPN test-route injector A **profile-gated, non-production** GoBGP instance for exercising the EVPN ingestion pipeline (roadmap E5). The CML IOS-XR lab cannot originate EVPN routes, so this container synthesises them. ## What it does `gobgp-evpn` runs GoBGP with no BGP peers, BMP-exporting its local RIB (`route-monitoring-policy = local-rib`) to the OpenBMP collector. Routes injected with `inject-evpn.sh` are parsed by the collector and published to the `openbmp.parsed.evpn` Kafka topic, where the EVPN consumer picks them up and writes the `evpn_rib` table. ## Usage ```sh # start the injector (not started by a normal `docker compose up`) docker compose --profile evpn-test up -d gobgp-evpn # push synthetic type-2 / type-3 / type-5 EVPN routes bash gobgp-evpn/inject-evpn.sh # inspect what GoBGP holds docker exec obmp-gobgp-evpn gobgp global rib -a evpn # stop it when done testing docker compose --profile evpn-test stop gobgp-evpn ``` ## Notes - Local AS 65010, router-id 10.40.40.251 — distinct from the production `gobgp` global-table feed (AS 65001). - It is *not* part of the default stack: the `evpn-test` Compose profile keeps it out of production and lets it be started/stopped on demand. - EVPN type-5 (IP-prefix) routes require a `gw ` argument in the GoBGP CLI — see `inject-evpn.sh`.