Skip to content

Feat(eos_designs): Add support for ipv6 addresses in l3_interfaces in network_services#6876

Merged
gmuloc merged 34 commits into
aristanetworks:develfrom
Shivani-gslab:l3_interfaces_ipv6_n/w_services
Jul 21, 2026
Merged

Feat(eos_designs): Add support for ipv6 addresses in l3_interfaces in network_services#6876
gmuloc merged 34 commits into
aristanetworks:develfrom
Shivani-gslab:l3_interfaces_ipv6_n/w_services

Conversation

@Shivani-gslab

@Shivani-gslab Shivani-gslab commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Change Summary

Related Issue(s)

Fixes #3331 #6767

Component(s) name

arista.avd.eos_designs

Proposed changes

How to test

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)

Summary by CodeRabbit

  • New Features
    • Added ipv6_addresses support for network-services L3 interfaces and L3 port-channels (including dual-stack).
    • Added ipv6_acl_in / ipv6_acl_out with interface_ip-based substitution, and automatic IPv6 routing activation when IPv6 is configured.
  • Bug Fixes
    • IPv6-only L3 interfaces are now included in generation.
  • Documentation
    • Updated schema tables and examples for IPv6 addressing and IPv6 ACLs.
  • Tests
    • Expanded unit and negative test fixtures for IPv6 validation (e.g., length-mismatch and missing-field cases).

@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 Apr 22, 2026
@github-actions

Copy link
Copy Markdown

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-6876
# Activate the virtual environment
source test-avd-pr-6876/bin/activate
# Install all requirements including PyAVD
pip install "pyavd[ansible] @ git+https://github.com/Shivani-gslab/avd.git@l3_interfaces_ipv6_n/w_services#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/Shivani-gslab/avd.git#/ansible_collections/arista/avd/,l3_interfaces_ipv6_n/w_services --force
cd test-avd-pr-6876
# 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: Shivani-gslab
Repository name: avd
Branch: l3_interfaces_ipv6_n/w_services
  • 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

@Shivani-gslab Shivani-gslab changed the title Feat(eos_designs): Add support for ipv6 addresses in l3_interfaces in network_services [WIP] Feat(eos_designs): Add support for ipv6 addresses in l3_interfaces in network_services Apr 28, 2026
@codecov

codecov Bot commented Apr 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.97959% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 92.07%. Comparing base (6eb920d) to head (5b257f2).

Files with missing lines Patch % Lines
...config/network_services/port_channel_interfaces.py 97.50% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##            devel    #6876      +/-   ##
==========================================
+ Coverage   92.06%   92.07%   +0.01%     
==========================================
  Files         775      775              
  Lines       42376    42427      +51     
  Branches    10223    10232       +9     
==========================================
+ Hits        39012    39066      +54     
+ Misses       1955     1953       -2     
+ Partials     1409     1408       -1     
Components Coverage Δ
pyavd 93.90% <98.97%> (+0.01%) ⬆️
schema_tools 68.67% <ø> (ø)
Ansible plugins 77.03% <ø> (ø)
Files with missing lines Coverage Δ
...yavd/_eos_designs/shared_utils/filtered_tenants.py 92.78% <100.00%> (ø)
...red_config/network_services/ethernet_interfaces.py 95.75% <100.00%> (+3.78%) ⬆️
...designs/structured_config/network_services/vrfs.py 100.00% <100.00%> (ø)
...config/network_services/port_channel_interfaces.py 99.20% <97.50%> (-0.80%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Shivani-gslab
Shivani-gslab force-pushed the l3_interfaces_ipv6_n/w_services branch from 4a03ca8 to 258a812 Compare April 30, 2026 05:45
@github-actions github-actions Bot added the state: conflict PR with conflict label Apr 30, 2026
@github-actions

Copy link
Copy Markdown

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@laxmikantchintakindi
laxmikantchintakindi marked this pull request as ready for review May 4, 2026 13:13
@laxmikantchintakindi
laxmikantchintakindi requested review from a team as code owners May 4, 2026 13:13
@github-actions github-actions Bot removed the state: conflict PR with conflict label May 4, 2026
@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown

Conflicts have been resolved. A maintainer will review the pull request shortly.

@Shivani-gslab
Shivani-gslab force-pushed the l3_interfaces_ipv6_n/w_services branch from 06807ff to a6cea90 Compare May 4, 2026 14:04
@github-actions github-actions Bot added the state: conflict PR with conflict label May 4, 2026
@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Comment thread python-avd/pyavd/_eos_designs/schema/schema_fragments/network_services.schema.yml Outdated
Comment thread python-avd/pyavd/_eos_designs/schema/schema_fragments/network_services.schema.yml Outdated
@Shivani-gslab
Shivani-gslab marked this pull request as draft June 30, 2026 18:01
@Shivani-gslab
Shivani-gslab marked this pull request as ready for review July 1, 2026 06:11
@gmuloc gmuloc added this to the v6.4.0 milestone Jul 7, 2026

@MaheshGSLAB MaheshGSLAB left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Minor comments, reset looks good to me

@Shivani-gslab
Shivani-gslab marked this pull request as draft July 13, 2026 12:53
@Shivani-gslab
Shivani-gslab marked this pull request as ready for review July 14, 2026 06:59
@alexeygorbunov
alexeygorbunov self-requested a review July 15, 2026 19:07

@alexeygorbunov alexeygorbunov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Still LGTM (with 1 new commit since last approval)

@gmuloc
gmuloc dismissed their stale review July 21, 2026 07:54

all comments have been addressed

@sonarqubecloud

Copy link
Copy Markdown

@gmuloc
gmuloc added this pull request to the merge queue Jul 21, 2026
Merged via the queue into aristanetworks:devel with commit 81535a7 Jul 21, 2026
76 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

one approval This PR has one approval and is only missing one more. rn: Feat(eos_designs) 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.

Enable IPv6 for l3_interfaces for network services

6 participants