Roadmap E5: refine with EVPN research findings
The OpenBMP collector already decodes EVPN and emits openbmp.parsed.evpn; the gap is solely the psql-app (no subscription/handler) and the missing schema table. L2VPN-VPLS is unsupported entirely. Records the two implementation paths: fork the Java psql-app, or run GoBMP as a second EVPN-capable collector with a thin Postgres consumer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e55e12b778
commit
c18d11a48f
@ -300,19 +300,30 @@ Keep E4 scope minimal until there's a real L3VPN source.
|
|||||||
### E5. L2VPN / EVPN support — platform-level, not a dashboard task
|
### E5. L2VPN / EVPN support — platform-level, not a dashboard task
|
||||||
|
|
||||||
L2VPN/EVPN was requested alongside L3VPN. **It cannot be done as a dashboard
|
L2VPN/EVPN was requested alongside L3VPN. **It cannot be done as a dashboard
|
||||||
change**: this OpenBMP deployment (collector 2.2.3, psql-app 2.2.2) has *no
|
change.** Research findings on where the gap actually is:
|
||||||
EVPN/L2VPN schema* — the only RIB tables are `ip_rib` (unicast), `l3vpn_rib`
|
|
||||||
(VPNv4/6) and `ls_*` (BGP-LS). EVPN routes (Type-2 MAC/IP, Type-3 IMET,
|
|
||||||
Type-5 IP-prefix) have nowhere to land and are dropped by the consumer.
|
|
||||||
|
|
||||||
Supporting it means **upstream platform work**, not Grafana:
|
- **Collector** (`openbmp/collector`) — *already decodes EVPN*. It has an
|
||||||
- EVPN parsing in the collector + psql-app (these are upstream `openbmp/*`
|
`EVPN.cpp` parser and emits a parsed `openbmp.parsed.evpn` Kafka topic
|
||||||
images — would need a fork or an upstream contribution).
|
(RD, ESI, MAC, ethernet-tag, IP, labels, route-targets). No work needed.
|
||||||
- A new `evpn_rib` / `l2vpn_rib` table + history + stats.
|
- **psql-app** (`openbmp/psql-app`) — **drops it**. It never subscribes to
|
||||||
- Only then: EVPN dashboards (per-EVI, MAC mobility, RT scoping).
|
`openbmp.parsed.evpn`, has no `EvpnQuery` handler, and the PostgreSQL
|
||||||
|
schema has no EVPN table. This is the whole gap.
|
||||||
|
- **L2VPN-VPLS (SAFI 65)** — not supported anywhere; only EVPN (AFI 25).
|
||||||
|
|
||||||
Recommend treating E5 as a research spike first: confirm whether any current
|
Two viable paths:
|
||||||
OpenBMP release adds EVPN, versus the cost of carrying a fork.
|
1. **Fork the psql-app** (Java): subscribe to the evpn topic, add an
|
||||||
|
`EvpnQuery` class, add an `evpn_rib` table + history/stats. Keeps one
|
||||||
|
unified schema; cost is owning a Java fork of a slow-moving upstream and
|
||||||
|
inheriting the collector's older EVPN parser (likely no RFC 9251/9572
|
||||||
|
route types).
|
||||||
|
2. **Run GoBMP** (`sbezverk/gobmp`, Go) as a second collector — strongest,
|
||||||
|
most current EVPN decoding — plus a thin Kafka→Postgres consumer landing
|
||||||
|
an `evpn_rib` table. Less code than the Java fork, but two collectors and
|
||||||
|
two ingest paths.
|
||||||
|
|
||||||
|
Recommended: path 2 for fastest EVPN visibility; path 1 if a single unified
|
||||||
|
OpenBMP schema outweighs the extra effort. Either way, then build EVPN
|
||||||
|
dashboards (per-EVI, MAC mobility, RT scoping).
|
||||||
|
|
||||||
### E-scale. PostgreSQL sizing for a full table
|
### E-scale. PostgreSQL sizing for a full table
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user