• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ovn-kubernetes / ovn-kubernetes / 28100062366
58%

Build:
DEFAULT BRANCH: master
Ran 24 Jun 2026 01:32PM UTC
Jobs 1
Files 328
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Jun 2026 10:06AM UTC coverage: 58.118% (+0.001%) from 58.117%
28100062366

push

github

jcaamano
e2e: add BUM suppression test for L2 EVPN MAC-VRF networks

Add a table-driven e2e test that validates EVPN BUM (Broadcast,
Unknown-unicast, Multicast) suppression for Layer 2 MAC-VRF networks.
The test runs for two network configurations:
 - MAC-VRF only
 - MAC-VRF and IP-VRF

The test sets up a primary L2 CUDN with EVPN transport via
configureNetworkWithInfra, using one CUDN pod (PodA) on nodeA plus the
MAC-VRF external agnhost container as the off-cluster endpoint. It then
runs four validations:

Validation 1 — Type-3 (Inclusive Multicast) routes: every node's frr-k8s
has a Type-3 IMET route for each participating VTEP (cluster nodes +
external FRR) for this MAC-VRF VNI, forming the BUM flood list. Expected
VTEP IPs are derived from the k8s.ovn.org/vteps node annotation written
by the EVPN controller.

Validation 2 — Type-2 (MAC/IP) routes: PodA's and the MAC-VRF external
agnhost's MAC/IP appear as BGP EVPN Type-2 routes on PodA's node, proving
reachability is advertised for both cluster and external endpoints.

Validation 3 — Unknown-unicast flooding: HTTP traffic from PodA to an
unallocated IP triggers ARP/NDP that is flooded. A tcpdump -c 1 on the
L2 SVI (svl2-bsup) on nodeB confirms the broadcast/solicited-node frame
is received.

Validation 4 — BUM suppression (bidirectional): A combined ARP/NS filter
for PodA's IP and the external MAC-VRF IP runs on nodeB's L2 SVI while
PodA → external HTTP flood is in flight. tcpdump -c 1 must time out,
confirming no broadcast frames appear. The flood's last error is checked
via a buffered error channel to confirm reachability.

Implementation details:
 - Uses ginkgo.DescribeTable; skips if Local Gateway mode is not enabled
 - Short CUDN name "bsup" keeps "svl2-bsup" within Linux's 15-char iface limit
 - Captures on the L2 SVI (svl2-<name>), not the VXLAN interface
 - VTEP IPs collected in a dedicated Eventually block from node annotations
 - External MAC-VRF IPs read directly from extAgnhostNetInf
 - Pod IP... (continued)

51371 of 88391 relevant lines covered (58.12%)

339.6 hits per line

Coverage Regressions

Lines Coverage ∆ File
30
59.87
-2.2% go-controller/pkg/clustermanager/egressip_controller.go
7
78.55
-0.08% go-controller/pkg/ovn/gateway.go
4
69.14
-1.56% go-controller/pkg/networkmanager/egressip_tracker.go
4
79.63
-0.16% go-controller/pkg/ovn/controller/networkconnect/topology.go
2
77.98
0.12% go-controller/pkg/clustermanager/userdefinednetwork/controller.go
Jobs
ID Job ID Ran Files Coverage
1 28100062366.1 24 Jun 2026 01:32PM UTC 328
58.12
GitHub Action Run
Source Files on build 28100062366
  • Tree
  • List 328
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 3ddc00fe on github
  • Prev Build on master (#28067879344)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc