39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
|
|
# 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 <gateway>` argument in the
|
||
|
|
GoBGP CLI — see `inject-evpn.sh`.
|