Cover EVPN, VXLAN and multi-VRF - #2570
Draft
ideaship wants to merge 1 commit into
Draft
Conversation
9 tasks
berendt
force-pushed
the
sonic-e2e-v2-evpn
branch
from
August 5, 2026 15:10
b94b009 to
1e6fcba
Compare
ideaship
force-pushed
the
sonic-e2e-v2-evpn
branch
from
August 5, 2026 19:51
1e6fcba to
b196d0c
Compare
berendt
force-pushed
the
sonic-e2e-v2-evpn
branch
from
August 6, 2026 10:56
b196d0c to
c417106
Compare
ideaship
force-pushed
the
sonic-e2e-v2-evpn
branch
from
August 6, 2026 12:10
c417106 to
18e1b77
Compare
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
force-pushed
the
sonic-e2e-v2-evpn
branch
from
August 6, 2026 12:19
18e1b77 to
3a8cbc3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-coveragegoes from 30 of 38 to 38 of 38across 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, whichpopulates 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.