eos: add EVPN lab with multiple import/export route-targets per VRF - #225
Merged
Conversation
Arista cEOS lab capturing how EOS handles a VRF that declares several `route-target import evpn` and `route-target export evpn` lines, for batfish/batfish#10113. Two directly-connected VTEPs run an eBGP IPv4 underlay plus an eBGP EVPN overlay over Loopback0, each with one tenant VRF and a symmetric-IRB L3VNI: - leaf1 AS 65101, vrf RED (L3VNI 15001), loopback 10.1.1.1/32, import evpn 65000:100 + 65000:199, export evpn 65000:200 + 65000:299 - leaf2 AS 65102, vrf BLUE (L3VNI 15002), loopback 10.2.2.2/32, import evpn 65000:200 + 65000:288, export evpn 65000:100 + 65000:177 The matching RT is listed before an unused decoy in each direction, so on the real device both tenant loopbacks cross into the peer VRF (leaf2 BLUE learns 10.1.1.1/32 via 65000:200, leaf1 RED learns 10.2.2.2/32 via 65000:100). All six checks.yaml preconditions pass on cEOS 4.36.0.1F. Batfish keeps only a single import and single export RT per VRF (the last line wins in AristaBgpVrf), so it retains only the decoys, matches nothing, and imports neither route. test_main_rib_routes, test_bgp_rib_routes, and test_evpn_rib_routes fail on both leaves; all three are sickbayed to xfail against batfish/batfish#10113. Remove the sickbay entries once Batfish models multiple import/export RTs. For batfish/batfish#10113. ---- Prompt: ``` Analyze batfish/batfish#10113 I think we should start by making an Arista EVPN lab that exercises this type of configuration so that we can ensure we're doing the right thing in our modeling ```
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #225 +/- ##
=======================================
Coverage 84.39% 84.39%
=======================================
Files 93 93
Lines 4532 4532
=======================================
Hits 3825 3825
Misses 707 707
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Arista cEOS lab capturing how EOS handles a VRF that declares several
route-target import evpnandroute-target export evpnlines, forbatfish/batfish#10113. Two directly-connected VTEPs run an eBGP IPv4
underlay plus an eBGP EVPN overlay over Loopback0, each with one tenant
VRF and a symmetric-IRB L3VNI:
import evpn 65000:100 + 65000:199, export evpn 65000:200 + 65000:299
import evpn 65000:200 + 65000:288, export evpn 65000:100 + 65000:177
The matching RT is listed before an unused decoy in each direction, so
on the real device both tenant loopbacks cross into the peer VRF (leaf2
BLUE learns 10.1.1.1/32 via 65000:200, leaf1 RED learns 10.2.2.2/32 via
65000:100). All six checks.yaml preconditions pass on cEOS 4.36.0.1F.
Batfish keeps only a single import and single export RT per VRF (the
last line wins in AristaBgpVrf), so it retains only the decoys, matches
nothing, and imports neither route. test_main_rib_routes,
test_bgp_rib_routes, and test_evpn_rib_routes fail on both leaves; all
three are sickbayed to xfail against batfish/batfish#10113. Remove the
sickbay entries once Batfish models multiple import/export RTs.
For batfish/batfish#10113.
Prompt: