Skip to content

Feat(eos_designs): Add support for mac-acls in network_ports/connected_endpoints#6290

Open
laxmikantchintakindi wants to merge 69 commits intoaristanetworks:develfrom
laxmikantchintakindi:feat/mac_acl
Open

Feat(eos_designs): Add support for mac-acls in network_ports/connected_endpoints#6290
laxmikantchintakindi wants to merge 69 commits intoaristanetworks:develfrom
laxmikantchintakindi:feat/mac_acl

Conversation

@laxmikantchintakindi
Copy link
Copy Markdown
Contributor

@laxmikantchintakindi laxmikantchintakindi commented Dec 24, 2025

Change Summary

Add support for mac-acls_in/out in network_ports/connected_endpoints.
These mac_acls can also be applied thorough port_profiles.

Created mac_acls top level key to list all the mac access lists required.

Related Issue(s)

Fixes #5827

Component(s) name

arista.avd.eos_designs

Proposed changes

We span larger EVPN L2 networks accross a country and on the edge-ports sometimes Cisco devices running PVRST are connected. There is no need for us to forward the PVRST frames within our EVPN fabric, thus we would like to drop them on the ingress port already.

port_profiles:
   # Port profile name.
  - profile: <str; required; unique>
    ...
    mac_acl_in: <str>
    mac_acl_out: <str>

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)

@laxmikantchintakindi laxmikantchintakindi requested review from a team as code owners December 24, 2025 13:26
@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 Dec 24, 2025
@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-6290
# Activate the virtual environment
source test-avd-pr-6290/bin/activate
# Install all requirements including PyAVD
pip install "pyavd[ansible] @ git+https://github.com/laxmikantchintakindi/avd.git@feat/mac_acl#subdirectory=python-avd" --force
# Point Ansible collections path to the Python virtual environment
export ANSIBLE_COLLECTIONS_PATH=$VIRTUAL_ENV/ansible_collections
# Install Ansible collection
ansible-galaxy collection install git+https://github.com/laxmikantchintakindi/avd.git#/ansible_collections/arista/avd/,feat/mac_acl --force
# Optional: Install AVD examples
cd test-avd-pr-6290
ansible-playbook arista.avd.install_examples

@laxmikantchintakindi laxmikantchintakindi marked this pull request as draft December 31, 2025 05:07
@github-actions github-actions Bot added the state: conflict PR with conflict label Jan 7, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 7, 2026

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

@gmuloc gmuloc added this to the v6.1.0 milestone Jan 12, 2026
@github-actions github-actions Bot removed the state: conflict PR with conflict label Jan 21, 2026
@github-actions
Copy link
Copy Markdown

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

@github-actions github-actions Bot added the state: conflict PR with conflict label Jan 21, 2026
@github-actions
Copy link
Copy Markdown

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

@github-actions github-actions Bot removed the state: conflict PR with conflict label Feb 10, 2026
@github-actions
Copy link
Copy Markdown

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

laxmikantchintakindi and others added 6 commits April 1, 2026 13:53
…pter_config.schema.yml

Co-authored-by: Alexey Gorbunov <131046560+alexeygorbunov@users.noreply.github.com>
…pter_config.schema.yml

Co-authored-by: Alexey Gorbunov <131046560+alexeygorbunov@users.noreply.github.com>
@carlbuchmann carlbuchmann removed the one approval This PR has one approval and is only missing one more. label Apr 2, 2026
Copy link
Copy Markdown
Contributor

@alexeygorbunov alexeygorbunov left a comment

Choose a reason for hiding this comment

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

LGTM

@ClausHolbechArista ClausHolbechArista linked an issue Apr 7, 2026 that may be closed by this pull request
1 task
@sonarqubecloud
Copy link
Copy Markdown

@github-actions github-actions Bot added the state: conflict PR with conflict label Apr 27, 2026
@github-actions
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/mac_acls.schema.yml Outdated
gmuloc and others added 3 commits May 4, 2026 15:30
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

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

@github-actions github-actions Bot removed the state: conflict PR with conflict label May 5, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 6, 2026

raise AristaAvdInvalidInputsError(msg, host=self.shared_utils.hostname)

action += acl_entry.action
action = action + " " + acl_entry.source # pyright: ignore[reportOperatorIssue]
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.

cant we fix the pyright issue, can you add the error message

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.

also if a user set remark along with missing source then we dont need this line. So all your below code should be when acl_entry.action is set

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It is already under else acl_entry.action

action = ""
if acl_entry.remark:
action += f"remark {acl_entry.remark}"
elif acl_entry.action:
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.

you should have one more else where none of them(remark, action) is set.

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.

Feat(eos_designs): add MAC ACL support in AVD Designs eos_designs: add MAC ACL support on port_profile / network_ports / adapters

7 participants