Skip to content

Cover EVPN, VXLAN and multi-VRF - #2570

Draft
ideaship wants to merge 1 commit into
sonic-e2e-v2-portchannelfrom
sonic-e2e-v2-evpn
Draft

Cover EVPN, VXLAN and multi-VRF#2570
ideaship wants to merge 1 commit into
sonic-e2e-v2-portchannelfrom
sonic-e2e-v2-evpn

Conversation

@ideaship

@ideaship ideaship commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Part of the series tracked in #2562, which explains the ordering and what each PR covers. Based on the preceding PR in the stack, so review only the top commits here.

Final scenario overlay, and the point at which the golden set reaches all 38
emitted tables
make sonic-e2e-coverage goes from 30 of 38 to 38 of 38
across 9 golden devices.

One leaf device with a Loopback0 whose primary IP becomes the VXLAN tunnel
source, plus two VRFs assigned to data ports: one with a numeric rd, which
populates the whole EVPN/VXLAN group, and one without, which takes the
table_id-only branch. Together with the base fixtures' single VRF, VRF coverage
goes from one to three across the golden set.

@ideaship ideaship changed the title sonic e2e v2 evpn Cover EVPN, VXLAN and multi-VRF Aug 5, 2026
@berendt
berendt force-pushed the sonic-e2e-v2-evpn branch from b94b009 to 1e6fcba Compare August 5, 2026 15:10
@ideaship
ideaship force-pushed the sonic-e2e-v2-evpn branch from 1e6fcba to b196d0c Compare August 5, 2026 19:51
@berendt
berendt force-pushed the sonic-e2e-v2-evpn branch from b196d0c to c417106 Compare August 6, 2026 10:56
@ideaship
ideaship force-pushed the sonic-e2e-v2-evpn branch from c417106 to 18e1b77 Compare August 6, 2026 12:10
The base fixtures assign only one table_id-only VRF (vrf99 from
200-fabric.yml), so the EVPN/VXLAN subsystem was emitted-but-empty:
VXLAN_TUNNEL, VXLAN_TUNNEL_MAP and VXLAN_EVPN_NVO had no golden
coverage.

Add tests/e2e/scenario/resources/700-evpn.yml: a leaf device (e2e-evpn,
rack E2E position 10) with a Loopback0 whose primary IP becomes the
VXLAN tunnel source, and two VRFs assigned to data ports:

  VrfStorage  rd 2001 (a pure number) -> VNI 2001, populating
              VXLAN_TUNNEL, VXLAN_TUNNEL_MAP, VXLAN_EVPN_NVO, the
              L2VPN-EVPN BGP_GLOBALS_AF/BGP_GLOBALS_ROUTE_ADVERTISE,
              and the synthesized Vlan2001 with its VLAN_INTERFACE.
  vrf42       no rd -> the table_id-only branch (VRF["Vrf42"] =
              {vrf_table_id: 42}), no EVPN/VXLAN.

Together with vrf99, VRF coverage goes from one to three VRFs across the
golden set. This does not introduce the VRF table itself (already
covered), only deepens it.

Ported from the retired testbed-derived scenario, dropping its
vars/rack/vlan stanzas (now provided by 100-base.yml) and its
managed-by-osism tag reference (that tag does not exist in the base
fixtures), and adding an explicit device_interface type on each new
port.

This is the last scenario in the series, so it is where the golden set
reaches every config_db table the generator can emit: `make
sonic-e2e-coverage` now reports 38 of 38 across 9 golden devices, up
from 30 of 38 on the base fixtures alone.

Verified from a fresh NetBox stack: regen is additive only (no existing
golden changed) and `make sonic-e2e` matches the goldens byte for byte.

Only the SNMP secrets decryption path stays unit-tested, because it
needs a vault and Redis, while the SNMP_SERVER_* tables themselves are
covered via the placeholder path.

Assisted-by: Claude:claude-sonnet-5
Signed-off-by: Roger Luethi <luethi@osism.tech>
@ideaship
ideaship force-pushed the sonic-e2e-v2-evpn branch from 18e1b77 to 3a8cbc3 Compare August 6, 2026 12:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

2 participants