Skip to content

Feat(eos_designs): Support dual stack underlay with ISIS-SR#6923

Open
ClausHolbechArista wants to merge 6 commits intoaristanetworks:develfrom
ClausHolbechArista:feat/eos_designs/core_interfaces_ipv6_underlay_bgp
Open

Feat(eos_designs): Support dual stack underlay with ISIS-SR#6923
ClausHolbechArista wants to merge 6 commits intoaristanetworks:develfrom
ClausHolbechArista:feat/eos_designs/core_interfaces_ipv6_underlay_bgp

Conversation

@ClausHolbechArista
Copy link
Copy Markdown
Contributor

@ClausHolbechArista ClausHolbechArista commented May 5, 2026

Change Summary

Support dual stack underlay with ISIS-SR

Related Issue(s)

Fixes #6802

Component(s) name

arista.avd.eos_designs

Proposed changes

  • Add new isis_sr_ipv6_node_sid_base to set separate base value for IPv6
  • Add new isis_sr_ipv4_node_sid_base and deprecate the old node_sid_base (often missed because no mention of isis or sr)
  • Loosen restriction for core_interfaces for IPv6 and include_in_underlay_protocol specifically for underlay_routing_protocol: isis-sr.

How to test

  • Updated existing molecule test to use the new values confirming the fix for overlapping node sid.
  • Updated existing molecule test to use numbered IPv6 on core interfaces with ISIS-SR
  • Add test for deprecated var

Checklist

User Checklist

  • N/A

Repository Checklist

  • My code has been rebased from devel before I start
  • I have read the CONTRIBUTING document.
  • My change requires a change to the documentation and documentation have been updated accordingly.
  • I have updated molecule CI testing accordingly. (check the box if not applicable)

@github-actions github-actions Bot added state: CI Updated CI scenario have been updated in the PR state: Documentation role Updated role: eos_designs issue related to eos_designs role labels May 5, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

Review docs on Read the Docs

To test this pull request:

# Create virtual environment for this testing below the current directory
python -m venv test-avd-pr-6923
# Activate the virtual environment
source test-avd-pr-6923/bin/activate
# Install all requirements including PyAVD
pip install "pyavd[ansible] @ git+https://github.com/ClausHolbechArista/avd.git@feat/eos_designs/core_interfaces_ipv6_underlay_bgp#subdirectory=python-avd" --force
# Point Ansible collections path to the Python virtual environment
export ANSIBLE_COLLECTIONS_PATH=$VIRTUAL_ENV/ansible_collections
# Install Ansible collection
python -m ansible.cli.galaxy collection install git+https://github.com/ClausHolbechArista/avd.git#/ansible_collections/arista/avd/,feat/eos_designs/core_interfaces_ipv6_underlay_bgp --force
cd test-avd-pr-6923
# Run your playbook using `python -m ansible.cli.playbook path/to/playbook.yml ...`

You can also test this PR using AVD playground:

  • Rebase your branch to makes sure it is up-to-date and has latest lab topologies for example inventories
  • Authenticate on labs.arista.com. Use your email! Not login.
  • Start the playground
  • In the lab selector UI pick "I want to use a specific AVD fork"
  • Enter following parameters:
GitHub org: ClausHolbechArista
Repository name: avd
Branch: feat/eos_designs/core_interfaces_ipv6_underlay_bgp
  • Select an example inventory to test the PR
  • Once the AVD Playground setup will be finished, type make start and test anything once the lab is up

@ClausHolbechArista ClausHolbechArista marked this pull request as ready for review May 5, 2026 13:45
@ClausHolbechArista ClausHolbechArista requested review from a team as code owners May 5, 2026 13:45
@codecov
Copy link
Copy Markdown

codecov Bot commented May 5, 2026

Codecov Report

❌ Patch coverage is 75.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.52%. Comparing base (0ebd67e) to head (284d81d).

Files with missing lines Patch % Lines
.../structured_config/underlay/loopback_interfaces.py 70.00% 2 Missing and 1 partial ⚠️

❌ Your patch check has failed because the patch coverage (75.00%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##            devel    #6923      +/-   ##
==========================================
- Coverage   87.54%   87.52%   -0.02%     
==========================================
  Files         351      351              
  Lines       19416    19420       +4     
  Branches     3650     3651       +1     
==========================================
+ Hits        16997    16998       +1     
- Misses       1853     1855       +2     
- Partials      566      567       +1     
Files with missing lines Coverage Δ
...ctured_config/core_interfaces_and_l3_edge/utils.py 94.35% <100.00%> (ø)
.../structured_config/underlay/loopback_interfaces.py 88.23% <70.00%> (-5.39%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 5, 2026

@RestlessWanderer
Copy link
Copy Markdown
Contributor

Tagging @tkrenn-hc for testing as well.

return self.shared_utils.id + base

def get_isis_sr_ipv6_node_sid(self: AvdStructuredConfigUnderlayProtocol) -> int:
"""Calculate ISIS-SR Node SID for IPv6 by adding ID to a base number."""
Copy link
Copy Markdown
Contributor

@laxmikantchintakindi laxmikantchintakindi May 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we consider moving this raise to underlay/loopback_interfaces.py to avoid repetition?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

role: eos_designs issue related to eos_designs role state: CI Updated CI scenario have been updated in the PR state: Documentation role Updated

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug(eos_designs): AVD rendering same node SID index for ipv4 and ipv6 in ISIS-SR dual stack

3 participants