From 43c657ee675d6b3e3974d595ad0c349430520c55 Mon Sep 17 00:00:00 2001
From: Shivani-gslab <145646625+Shivani-gslab@users.noreply.github.com>
Date: Fri, 23 Aug 2024 12:50:56 +0530
Subject: [PATCH] Feat(eos_cli_config_gen): Add switchport data model (#4158)
---
.../documentation/devices/LEAF1A.md | 102 +--
.../documentation/devices/LEAF1B.md | 102 +--
.../documentation/devices/LEAF2A.md | 480 ++++++------
.../documentation/devices/LEAF3A.md | 198 ++---
.../documentation/devices/LEAF3B.md | 198 ++---
.../documentation/devices/LEAF3C.md | 192 ++---
.../documentation/devices/LEAF3D.md | 192 ++---
.../documentation/devices/LEAF3E.md | 192 ++---
.../documentation/devices/SPINE1.md | 6 +-
.../documentation/devices/SPINE2.md | 6 +-
.../documentation/devices/dc1-leaf1a.md | 6 +-
.../documentation/devices/dc1-leaf1b.md | 6 +-
.../documentation/devices/dc1-leaf1c.md | 2 +-
.../documentation/devices/dc1-leaf2a.md | 6 +-
.../documentation/devices/dc1-leaf2b.md | 6 +-
.../documentation/devices/dc1-leaf2c.md | 2 +-
.../documentation/devices/dc2-leaf1a.md | 6 +-
.../documentation/devices/dc2-leaf1b.md | 6 +-
.../documentation/devices/dc2-leaf1c.md | 2 +-
.../documentation/devices/dc2-leaf2a.md | 6 +-
.../documentation/devices/dc2-leaf2b.md | 6 +-
.../documentation/devices/dc2-leaf2c.md | 2 +-
.../documentation/devices/LEAF1.md | 8 +-
.../documentation/devices/LEAF2.md | 8 +-
.../documentation/devices/LEAF3.md | 8 +-
.../documentation/devices/LEAF4.md | 8 +-
.../documentation/devices/SPINE1.md | 6 +-
.../documentation/devices/SPINE2.md | 6 +-
.../documentation/devices/dc1-leaf1a.md | 6 +-
.../documentation/devices/dc1-leaf1b.md | 6 +-
.../documentation/devices/dc1-leaf1c.md | 2 +-
.../documentation/devices/dc1-leaf2a.md | 6 +-
.../documentation/devices/dc1-leaf2b.md | 6 +-
.../documentation/devices/dc1-leaf2c.md | 2 +-
.../documentation/devices/address-locking.md | 6 +-
.../devices/ethernet-interfaces.md | 168 ++--
.../documentation/devices/flow-tracking.md | 8 +-
.../devices/l2-protocol-forwarding.md | 4 +-
.../documentation/devices/lldp.md | 4 +-
.../devices/mac-security-eth-po-entropy.md | 2 +-
.../devices/port-channel-interfaces.md | 131 +++-
.../documentation/devices/ptp.md | 4 +-
.../documentation/devices/qos.md | 12 +-
.../documentation/devices/sync-e.md | 2 +-
.../intended/configs/ethernet-interfaces.cfg | 42 +-
.../configs/mac-security-eth-po-entropy.cfg | 2 +-
.../configs/port-channel-interfaces.cfg | 87 +-
.../intended/configs/ptp.cfg | 2 +-
.../intended/configs/qos.cfg | 2 +-
.../host_vars/ethernet-interfaces.yml | 245 ++++--
.../inventory/host_vars/lldp.yml | 14 +-
.../host_vars/mac-security-eth-po-entropy.yml | 8 +-
.../host_vars/port-channel-interfaces.yml | 301 +++++--
.../inventory/host_vars/ptp.yml | 16 +-
.../inventory/host_vars/qos.yml | 30 +-
.../inventory/host_vars/sync-e.yml | 8 +-
.../documentation/devices/host1.md | 133 ++++
.../intended/configs/host1.cfg | 55 ++
.../host1/ethernet-interfaces-switchport.yml | 44 ++
.../host1/port-channel-interfaces.yml | 42 +
.../documentation/devices/DC1-BL1A.md | 6 +-
.../documentation/devices/DC1-BL1B.md | 6 +-
.../documentation/devices/DC1-L2LEAF2A.md | 6 +-
.../documentation/devices/DC1-L2LEAF2B.md | 6 +-
.../documentation/devices/DC1-LEAF1A.md | 4 +-
.../documentation/devices/DC1-LEAF2A.md | 6 +-
.../documentation/devices/DC1-LEAF2B.md | 6 +-
.../documentation/devices/DC1-SVC3A.md | 6 +-
.../documentation/devices/DC1-SVC3B.md | 6 +-
.../documentation/devices/BGP-LEAF1.md | 12 +-
.../documentation/devices/BGP-LEAF2.md | 4 +-
.../documentation/devices/BGP-SPINE1.md | 6 +-
.../documentation/devices/BGP-SPINE2.md | 6 +-
.../documentation/devices/ISIS-SPINE1.md | 2 +-
.../documentation/devices/L2ONLY-LEAF1.md | 4 +-
.../documentation/devices/L2ONLY-LEAF2.md | 4 +-
.../documentation/devices/L2ONLY-SPINE1.md | 6 +-
.../documentation/devices/L2ONLY-SPINE2.md | 6 +-
.../documentation/devices/OSPF-LEAF1.md | 4 +-
.../documentation/devices/OSPF-LEAF2.md | 4 +-
.../documentation/devices/OSPF-SPINE1.md | 6 +-
.../documentation/devices/OSPF-SPINE2.md | 6 +-
.../documentation/devices/SITE2-LER1.md | 2 +-
.../devices/DC1-POD1-L2LEAF2A.md | 6 +-
.../devices/DC1-POD1-L2LEAF2B.md | 6 +-
.../documentation/devices/DC1-POD1-LEAF2B.md | 6 +-
.../documentation/devices/DC1.POD1.LEAF2A.md | 6 +-
.../documentation/devices/DC1-L2LEAF1A.md | 6 +-
.../documentation/devices/DC1-L2LEAF1B.md | 6 +-
.../documentation/devices/DC1-L2LEAF2A.md | 6 +-
.../documentation/devices/DC1-L2LEAF2B.md | 6 +-
.../documentation/devices/DC1-LEAF1A.md | 4 +-
.../documentation/devices/DC1-LEAF2A.md | 8 +-
.../documentation/devices/DC1-LEAF2B.md | 8 +-
.../documentation/devices/DC1-SVC3A.md | 18 +-
.../documentation/devices/DC1-SVC3B.md | 18 +-
.../documentation/devices/DC1-BL1A.md | 6 +-
.../documentation/devices/DC1-BL1B.md | 6 +-
.../documentation/devices/DC1-L2LEAF2A.md | 6 +-
.../documentation/devices/DC1-L2LEAF2B.md | 6 +-
.../documentation/devices/DC1-LEAF2A.md | 6 +-
.../documentation/devices/DC1-LEAF2B.md | 6 +-
.../documentation/devices/DC1-SVC3A.md | 6 +-
.../documentation/devices/DC1-SVC3B.md | 6 +-
.../documentation/devices/DC1-BL1A.md | 6 +-
.../documentation/devices/DC1-BL1B.md | 6 +-
.../documentation/devices/DC1-L2LEAF2A.md | 6 +-
.../documentation/devices/DC1-L2LEAF2B.md | 6 +-
.../documentation/devices/DC1-LEAF2A.md | 6 +-
.../documentation/devices/DC1-LEAF2B.md | 6 +-
.../documentation/devices/DC1-SVC3A.md | 6 +-
.../documentation/devices/DC1-SVC3B.md | 6 +-
.../documentation/devices/DC1-L2LEAF2A.md | 6 +-
.../documentation/devices/DC1-L2LEAF2B.md | 6 +-
.../documentation/devices/DC1-LEAF1A.md | 4 +-
.../documentation/devices/DC1-LEAF2A.md | 10 +-
.../documentation/devices/DC1-LEAF2B.md | 10 +-
.../documentation/devices/DC1-LEAF3A.md | 6 +-
.../documentation/devices/DC1-LEAF3B.md | 6 +-
.../documentation/devices/DC1-LEAF4A.md | 6 +-
.../documentation/devices/DC1-LEAF4B.md | 6 +-
.../documentation/devices/DC1-SVC3A.md | 14 +-
.../documentation/devices/DC1-SVC3B.md | 14 +-
.../docs/tables/ethernet-interfaces.md | 251 +++++-
.../docs/tables/port-channel-interfaces.md | 285 ++++++-
.../documentation/ethernet-interfaces.j2 | 153 +++-
.../documentation/port-channel-interfaces.j2 | 91 ++-
.../j2templates/eos/ethernet-interfaces.j2 | 114 +++
.../eos/port-channel-interfaces.j2 | 146 ++++
.../schema/eos_cli_config_gen.schema.yml | 740 +++++++++++++++++-
.../ethernet_interfaces.schema.yml | 336 +++++++-
.../port_channel_interfaces.schema.yml | 390 +++++++++
.../eos_cli_config_gen/test_get_device_doc.py | 5 +-
133 files changed, 4593 insertions(+), 1498 deletions(-)
create mode 100644 ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/ethernet-interfaces-switchport.yml
create mode 100644 ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/port-channel-interfaces.yml
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF1A.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF1A.md
index 24e260bfa0c..b6e293b0b14 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF1A.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF1A.md
@@ -281,57 +281,57 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet2 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet3 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet4 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet5 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet6 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet7 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet8 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet9 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet10 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet11 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet12 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet13 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet14 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet15 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet16 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet17 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet18 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet19 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet20 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet21 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet22 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet23 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet24 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet25 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet26 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet27 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet28 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet29 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet30 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet31 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet32 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet33 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet34 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet35 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet36 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet37 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet38 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet39 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet40 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet41 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet42 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet43 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet44 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet45 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet46 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet47 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet48 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet1 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet2 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet3 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet4 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet5 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet6 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet7 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet8 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet9 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet10 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet11 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet12 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet13 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet14 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet15 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet16 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet17 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet18 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet19 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet20 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet21 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet22 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet23 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet24 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet25 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet26 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet27 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet28 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet29 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet30 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet31 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet32 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet33 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet34 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet35 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet36 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet37 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet38 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet39 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet40 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet41 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet42 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet43 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet44 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet45 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet46 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet47 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet48 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
| Ethernet51 | SPINE1_Ethernet1 | *trunk | *10,110,120,130 | *- | *- | 51 |
-| Ethernet53 | MLAG_PEER_LEAF1B_Ethernet53 | *trunk | *- | *- | *['MLAG'] | 53 |
-| Ethernet54 | MLAG_PEER_LEAF1B_Ethernet54 | *trunk | *- | *- | *['MLAG'] | 53 |
+| Ethernet53 | MLAG_PEER_LEAF1B_Ethernet53 | *trunk | *- | *- | *MLAG | 53 |
+| Ethernet54 | MLAG_PEER_LEAF1B_Ethernet54 | *trunk | *- | *- | *MLAG | 53 |
*Inherited from Port-Channel Interface
@@ -1377,7 +1377,7 @@ interface Ethernet54
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel51 | SPINES_Po1 | trunk | 10,110,120,130 | - | - | - | - | 51 | - |
-| Port-Channel53 | MLAG_PEER_LEAF1B_Po53 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel53 | MLAG_PEER_LEAF1B_Po53 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF1B.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF1B.md
index 0990f747e7a..3a6098b094c 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF1B.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF1B.md
@@ -281,57 +281,57 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet2 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet3 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet4 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet5 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet6 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet7 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet8 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet9 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet10 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet11 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet12 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet13 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet14 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet15 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet16 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet17 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet18 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet19 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet20 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet21 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet22 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet23 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet24 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet25 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet26 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet27 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet28 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet29 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet30 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet31 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet32 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet33 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet34 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet35 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet36 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet37 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet38 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet39 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet40 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet41 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet42 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet43 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet44 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet45 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet46 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet47 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
-| Ethernet48 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet1 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet2 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet3 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet4 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet5 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet6 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet7 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet8 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet9 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet10 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet11 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet12 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet13 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet14 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet15 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet16 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet17 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet18 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet19 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet20 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet21 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet22 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet23 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet24 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet25 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet26 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet27 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet28 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet29 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet30 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet31 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet32 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet33 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet34 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet35 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet36 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet37 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet38 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet39 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet40 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet41 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet42 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet43 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet44 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet45 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet46 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet47 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
+| Ethernet48 | IDF1 Standard Port | trunk phone | - | 110 | - | - |
| Ethernet51 | SPINE2_Ethernet1 | *trunk | *10,110,120,130 | *- | *- | 51 |
-| Ethernet53 | MLAG_PEER_LEAF1A_Ethernet53 | *trunk | *- | *- | *['MLAG'] | 53 |
-| Ethernet54 | MLAG_PEER_LEAF1A_Ethernet54 | *trunk | *- | *- | *['MLAG'] | 53 |
+| Ethernet53 | MLAG_PEER_LEAF1A_Ethernet53 | *trunk | *- | *- | *MLAG | 53 |
+| Ethernet54 | MLAG_PEER_LEAF1A_Ethernet54 | *trunk | *- | *- | *MLAG | 53 |
*Inherited from Port-Channel Interface
@@ -1377,7 +1377,7 @@ interface Ethernet54
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel51 | SPINES_Po1 | trunk | 10,110,120,130 | - | - | - | - | 51 | - |
-| Port-Channel53 | MLAG_PEER_LEAF1A_Po53 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel53 | MLAG_PEER_LEAF1A_Po53 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF2A.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF2A.md
index b94d9d7f6a0..8c327860d31 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF2A.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF2A.md
@@ -249,246 +249,246 @@ vlan 230
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1/1 | SPINE1_Ethernet49/1 | *trunk | *10,210,220,230 | *- | *- | 11 |
| Ethernet1/3 | SPINE2_Ethernet49/1 | *trunk | *10,210,220,230 | *- | *- | 11 |
-| Ethernet3/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet3/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet4/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet5/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet6/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
-| Ethernet7/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet3/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet4/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet5/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet6/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/1 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/2 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/3 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/4 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/5 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/6 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/7 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/8 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/9 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/10 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/11 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/12 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/13 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/14 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/15 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/16 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/17 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/18 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/19 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/20 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/21 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/22 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/23 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/24 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/25 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/26 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/27 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/28 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/29 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/30 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/31 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/32 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/33 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/34 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/35 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/36 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/37 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/38 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/39 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/40 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/41 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/42 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/43 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/44 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/45 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/46 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/47 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
+| Ethernet7/48 | IDF2 Standard Port | trunk phone | - | 210 | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3A.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3A.md
index 222ff0c5c63..d722f5a6d2f 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3A.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3A.md
@@ -281,109 +281,109 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
| Ethernet97/1 | SPINE1_Ethernet50/1 | *trunk | *10,310,320,330 | *- | *- | 971 |
| Ethernet97/2 | SPINE2_Ethernet50/1 | *trunk | *10,310,320,330 | *- | *- | 971 |
| Ethernet97/3 | LEAF3C_Ethernet97/1 | *trunk | *10,310,320,330 | *- | *- | 973 |
| Ethernet97/4 | LEAF3D_Ethernet97/1 | *trunk | *10,310,320,330 | *- | *- | 974 |
| Ethernet98/1 | LEAF3E_Ethernet97/1 | *trunk | *10,310,320,330 | *- | *- | 981 |
-| Ethernet98/3 | MLAG_PEER_LEAF3B_Ethernet98/3 | *trunk | *- | *- | *['MLAG'] | 983 |
-| Ethernet98/4 | MLAG_PEER_LEAF3B_Ethernet98/4 | *trunk | *- | *- | *['MLAG'] | 983 |
+| Ethernet98/3 | MLAG_PEER_LEAF3B_Ethernet98/3 | *trunk | *- | *- | *MLAG | 983 |
+| Ethernet98/4 | MLAG_PEER_LEAF3B_Ethernet98/4 | *trunk | *- | *- | *MLAG | 983 |
*Inherited from Port-Channel Interface
@@ -2460,7 +2460,7 @@ interface Ethernet98/4
| Port-Channel973 | LEAF3C_Po971 | trunk | 10,310,320,330 | - | - | - | - | 973 | - |
| Port-Channel974 | LEAF3D_Po971 | trunk | 10,310,320,330 | - | - | - | - | 974 | - |
| Port-Channel981 | LEAF3E_Po971 | trunk | 10,310,320,330 | - | - | - | - | 981 | - |
-| Port-Channel983 | MLAG_PEER_LEAF3B_Po983 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel983 | MLAG_PEER_LEAF3B_Po983 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3B.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3B.md
index 011787f663f..461a35fb236 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3B.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3B.md
@@ -281,109 +281,109 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
| Ethernet97/1 | SPINE1_Ethernet51/1 | *trunk | *10,310,320,330 | *- | *- | 971 |
| Ethernet97/2 | SPINE2_Ethernet51/1 | *trunk | *10,310,320,330 | *- | *- | 971 |
| Ethernet97/3 | LEAF3C_Ethernet97/2 | *trunk | *10,310,320,330 | *- | *- | 973 |
| Ethernet97/4 | LEAF3D_Ethernet97/2 | *trunk | *10,310,320,330 | *- | *- | 974 |
| Ethernet98/1 | LEAF3E_Ethernet97/2 | *trunk | *10,310,320,330 | *- | *- | 981 |
-| Ethernet98/3 | MLAG_PEER_LEAF3A_Ethernet98/3 | *trunk | *- | *- | *['MLAG'] | 983 |
-| Ethernet98/4 | MLAG_PEER_LEAF3A_Ethernet98/4 | *trunk | *- | *- | *['MLAG'] | 983 |
+| Ethernet98/3 | MLAG_PEER_LEAF3A_Ethernet98/3 | *trunk | *- | *- | *MLAG | 983 |
+| Ethernet98/4 | MLAG_PEER_LEAF3A_Ethernet98/4 | *trunk | *- | *- | *MLAG | 983 |
*Inherited from Port-Channel Interface
@@ -2460,7 +2460,7 @@ interface Ethernet98/4
| Port-Channel973 | LEAF3C_Po971 | trunk | 10,310,320,330 | - | - | - | - | 973 | - |
| Port-Channel974 | LEAF3D_Po971 | trunk | 10,310,320,330 | - | - | - | - | 974 | - |
| Port-Channel981 | LEAF3E_Po971 | trunk | 10,310,320,330 | - | - | - | - | 981 | - |
-| Port-Channel983 | MLAG_PEER_LEAF3A_Po983 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel983 | MLAG_PEER_LEAF3A_Po983 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3C.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3C.md
index cf349fbb0a2..d1ebdd7fd40 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3C.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3C.md
@@ -245,102 +245,102 @@ vlan 330
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
| Ethernet97/1 | LEAF3A_Ethernet97/3 | *trunk | *10,310,320,330 | *- | *- | 971 |
| Ethernet97/2 | LEAF3B_Ethernet97/3 | *trunk | *10,310,320,330 | *- | *- | 971 |
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3D.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3D.md
index 3d1d13aa336..6cbd439934d 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3D.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3D.md
@@ -245,102 +245,102 @@ vlan 330
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
| Ethernet97/1 | LEAF3A_Ethernet97/4 | *trunk | *10,310,320,330 | *- | *- | 971 |
| Ethernet97/2 | LEAF3B_Ethernet97/4 | *trunk | *10,310,320,330 | *- | *- | 971 |
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3E.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3E.md
index 44afdecf56c..512fc7ca0bc 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3E.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/LEAF3E.md
@@ -245,102 +245,102 @@ vlan 330
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
-| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet1 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet2 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet3 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet4 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet5 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet6 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet7 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet8 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet9 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet10 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet11 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet12 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet13 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet14 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet15 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet16 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet17 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet18 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet19 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet20 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet21 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet22 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet23 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet24 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet25 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet26 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet27 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet28 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet29 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet30 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet31 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet32 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet33 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet34 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet35 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet36 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet37 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet38 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet39 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet40 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet41 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet42 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet43 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet44 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet45 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet46 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet47 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet48 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet49 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet50 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet51 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet52 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet53 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet54 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet55 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet56 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet57 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet58 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet59 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet60 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet61 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet62 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet63 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet64 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet65 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet66 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet67 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet68 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet69 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet70 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet71 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet72 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet73 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet74 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet75 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet76 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet77 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet78 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet79 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet80 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet81 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet82 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet83 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet84 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet85 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet86 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet87 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet88 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet89 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet90 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet91 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet92 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet93 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet94 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet95 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
+| Ethernet96 | IDF3 Standard Port | trunk phone | - | 310 | - | - |
| Ethernet97/1 | LEAF3A_Ethernet98/1 | *trunk | *10,310,320,330 | *- | *- | 971 |
| Ethernet97/2 | LEAF3B_Ethernet98/1 | *trunk | *10,310,320,330 | *- | *- | 971 |
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/SPINE1.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/SPINE1.md
index 1c7882274cd..60c822a2218 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/SPINE1.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/SPINE1.md
@@ -315,8 +315,8 @@ vlan 4094
| Ethernet49/1 | LEAF2A_Ethernet1/1 | *trunk | *10,210,220,230 | *- | *- | 491 |
| Ethernet50/1 | LEAF3A_Ethernet97/1 | *trunk | *10,310,320,330 | *- | *- | 501 |
| Ethernet51/1 | LEAF3B_Ethernet97/1 | *trunk | *10,310,320,330 | *- | *- | 501 |
-| Ethernet55/1 | MLAG_PEER_SPINE2_Ethernet55/1 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 551 |
-| Ethernet56/1 | MLAG_PEER_SPINE2_Ethernet56/1 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 551 |
+| Ethernet55/1 | MLAG_PEER_SPINE2_Ethernet55/1 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 551 |
+| Ethernet56/1 | MLAG_PEER_SPINE2_Ethernet56/1 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 551 |
*Inherited from Port-Channel Interface
@@ -381,7 +381,7 @@ interface Ethernet56/1
| Port-Channel1 | IDF1_Po51 | trunk | 10,110,120,130 | - | - | - | - | 1 | - |
| Port-Channel491 | LEAF2A_Po11 | trunk | 10,210,220,230 | - | - | - | - | 491 | - |
| Port-Channel501 | IDF3_AGG_Po971 | trunk | 10,310,320,330 | - | - | - | - | 501 | - |
-| Port-Channel551 | MLAG_PEER_SPINE2_Po551 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel551 | MLAG_PEER_SPINE2_Po551 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/SPINE2.md b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/SPINE2.md
index fc144dc05c7..9fac4508ffd 100644
--- a/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/SPINE2.md
+++ b/ansible_collections/arista/avd/examples/campus-fabric/documentation/devices/SPINE2.md
@@ -315,8 +315,8 @@ vlan 4094
| Ethernet49/1 | LEAF2A_Ethernet1/3 | *trunk | *10,210,220,230 | *- | *- | 491 |
| Ethernet50/1 | LEAF3A_Ethernet97/2 | *trunk | *10,310,320,330 | *- | *- | 501 |
| Ethernet51/1 | LEAF3B_Ethernet97/2 | *trunk | *10,310,320,330 | *- | *- | 501 |
-| Ethernet55/1 | MLAG_PEER_SPINE1_Ethernet55/1 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 551 |
-| Ethernet56/1 | MLAG_PEER_SPINE1_Ethernet56/1 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 551 |
+| Ethernet55/1 | MLAG_PEER_SPINE1_Ethernet55/1 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 551 |
+| Ethernet56/1 | MLAG_PEER_SPINE1_Ethernet56/1 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 551 |
*Inherited from Port-Channel Interface
@@ -381,7 +381,7 @@ interface Ethernet56/1
| Port-Channel1 | IDF1_Po51 | trunk | 10,110,120,130 | - | - | - | - | 1 | - |
| Port-Channel491 | LEAF2A_Po11 | trunk | 10,210,220,230 | - | - | - | - | 491 | - |
| Port-Channel501 | IDF3_AGG_Po971 | trunk | 10,310,320,330 | - | - | - | - | 501 | - |
-| Port-Channel551 | MLAG_PEER_SPINE1_Po551 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel551 | MLAG_PEER_SPINE1_Po551 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1a.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1a.md
index 1298494580d..17379e2f62f 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1a.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1a.md
@@ -254,8 +254,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc1-leaf1b_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc1-leaf1b_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc1-leaf1b_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc1-leaf1b_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc1-leaf1-server1_PCI1 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC1-LEAF1C_Ethernet1 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -315,7 +315,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc1-leaf1b_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc1-leaf1b_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc1-leaf1-server1_PortChannel dc1-leaf1-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC1-LEAF1C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1b.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1b.md
index cdc85a23a0e..6a98fda713f 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1b.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1b.md
@@ -254,8 +254,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc1-leaf1a_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc1-leaf1a_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc1-leaf1a_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc1-leaf1a_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc1-leaf1-server1_PCI2 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC1-LEAF1C_Ethernet2 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -315,7 +315,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc1-leaf1a_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc1-leaf1a_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc1-leaf1-server1_PortChannel dc1-leaf1-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC1-LEAF1C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1c.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1c.md
index 2e6dfcf67b7..6b2e399874e 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1c.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf1c.md
@@ -192,7 +192,7 @@ vlan 3402
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-LEAF1A_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
| Ethernet2 | DC1-LEAF1B_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
-| Ethernet5 | dc1-leaf1-server1_iLO | access | 11 | - | - | - |
+| Ethernet5 | dc1-leaf1-server1_iLO | access | 11 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2a.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2a.md
index 2e0fd463874..8ffa4dbdbc5 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2a.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2a.md
@@ -254,8 +254,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc1-leaf2b_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc1-leaf2b_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc1-leaf2b_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc1-leaf2b_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc1-leaf2-server1_PCI1 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC1-LEAF2C_Ethernet1 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -323,7 +323,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc1-leaf2b_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc1-leaf2b_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc1-leaf2-server1_PortChannel dc1-leaf2-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC1-LEAF2C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2b.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2b.md
index c521e62c079..a4065d87c35 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2b.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2b.md
@@ -254,8 +254,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc1-leaf2a_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc1-leaf2a_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc1-leaf2a_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc1-leaf2a_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc1-leaf2-server1_PCI2 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC1-LEAF2C_Ethernet2 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -323,7 +323,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc1-leaf2a_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc1-leaf2a_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc1-leaf2-server1_PortChannel dc1-leaf2-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC1-LEAF2C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2c.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2c.md
index 3b85a8559b2..c8dcc0af5f4 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2c.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc1-leaf2c.md
@@ -192,7 +192,7 @@ vlan 3402
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-LEAF2A_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
| Ethernet2 | DC1-LEAF2B_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
-| Ethernet5 | dc1-leaf2-server1_iLO | access | 11 | - | - | - |
+| Ethernet5 | dc1-leaf2-server1_iLO | access | 11 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1a.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1a.md
index 42b26703c99..f9ab5f2de70 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1a.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1a.md
@@ -254,8 +254,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc2-leaf1b_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc2-leaf1b_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc2-leaf1b_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc2-leaf1b_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc2-leaf1-server1_PCI1 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC2-LEAF1C_Ethernet1 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -315,7 +315,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc2-leaf1b_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc2-leaf1b_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc2-leaf1-server1_PortChannel dc2-leaf1-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC2-LEAF1C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1b.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1b.md
index 7624a1b3bb8..984f797c4a6 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1b.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1b.md
@@ -254,8 +254,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc2-leaf1a_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc2-leaf1a_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc2-leaf1a_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc2-leaf1a_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc2-leaf1-server1_PCI2 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC2-LEAF1C_Ethernet2 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -315,7 +315,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc2-leaf1a_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc2-leaf1a_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc2-leaf1-server1_PortChannel dc2-leaf1-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC2-LEAF1C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1c.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1c.md
index c4d6294d52a..358d6600195 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1c.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf1c.md
@@ -192,7 +192,7 @@ vlan 3402
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC2-LEAF1A_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
| Ethernet2 | DC2-LEAF1B_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
-| Ethernet5 | dc2-leaf1-server1_iLO | access | 11 | - | - | - |
+| Ethernet5 | dc2-leaf1-server1_iLO | access | 11 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2a.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2a.md
index 650d3a79c9e..f9e33db86ea 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2a.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2a.md
@@ -254,8 +254,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc2-leaf2b_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc2-leaf2b_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc2-leaf2b_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc2-leaf2b_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc2-leaf2-server1_PCI1 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC2-LEAF2C_Ethernet1 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -323,7 +323,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc2-leaf2b_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc2-leaf2b_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc2-leaf2-server1_PortChannel dc2-leaf2-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC2-LEAF2C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2b.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2b.md
index f405eec3015..5c745d3de62 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2b.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2b.md
@@ -254,8 +254,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc2-leaf2a_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc2-leaf2a_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc2-leaf2a_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc2-leaf2a_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc2-leaf2-server1_PCI2 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC2-LEAF2C_Ethernet2 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -323,7 +323,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc2-leaf2a_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc2-leaf2a_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc2-leaf2-server1_PortChannel dc2-leaf2-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC2-LEAF2C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2c.md b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2c.md
index a57cb964267..3fa5254d4b2 100644
--- a/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2c.md
+++ b/ansible_collections/arista/avd/examples/dual-dc-l3ls/documentation/devices/dc2-leaf2c.md
@@ -192,7 +192,7 @@ vlan 3402
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC2-LEAF2A_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
| Ethernet2 | DC2-LEAF2B_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
-| Ethernet5 | dc2-leaf2-server1_iLO | access | 11 | - | - | - |
+| Ethernet5 | dc2-leaf2-server1_iLO | access | 11 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF1.md b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF1.md
index a51718b9020..1561b7f8d8c 100644
--- a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF1.md
+++ b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF1.md
@@ -292,9 +292,9 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | SPINE1_Ethernet1 | *trunk | *10,20 | *- | *- | 1 |
| Ethernet2 | SPINE2_Ethernet1 | *trunk | *10,20 | *- | *- | 1 |
-| Ethernet3 | HostA_Eth1 | access | 10 | - | - | - |
-| Ethernet47 | MLAG_PEER_LEAF2_Ethernet47 | *trunk | *- | *- | *['MLAG'] | 47 |
-| Ethernet48 | MLAG_PEER_LEAF2_Ethernet48 | *trunk | *- | *- | *['MLAG'] | 47 |
+| Ethernet3 | HostA_Eth1 | access | 10 | - | - | - |
+| Ethernet47 | MLAG_PEER_LEAF2_Ethernet47 | *trunk | *- | *- | *MLAG | 47 |
+| Ethernet48 | MLAG_PEER_LEAF2_Ethernet48 | *trunk | *- | *- | *MLAG | 47 |
*Inherited from Port-Channel Interface
@@ -340,7 +340,7 @@ interface Ethernet48
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | SPINES_Po1 | trunk | 10,20 | - | - | - | - | 1 | - |
-| Port-Channel47 | MLAG_PEER_LEAF2_Po47 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel47 | MLAG_PEER_LEAF2_Po47 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF2.md b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF2.md
index e7acbefdcae..c015b58ffe6 100644
--- a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF2.md
+++ b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF2.md
@@ -292,9 +292,9 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | SPINE1_Ethernet2 | *trunk | *10,20 | *- | *- | 1 |
| Ethernet2 | SPINE2_Ethernet2 | *trunk | *10,20 | *- | *- | 1 |
-| Ethernet3 | HostB_Eth1 | access | 20 | - | - | - |
-| Ethernet47 | MLAG_PEER_LEAF1_Ethernet47 | *trunk | *- | *- | *['MLAG'] | 47 |
-| Ethernet48 | MLAG_PEER_LEAF1_Ethernet48 | *trunk | *- | *- | *['MLAG'] | 47 |
+| Ethernet3 | HostB_Eth1 | access | 20 | - | - | - |
+| Ethernet47 | MLAG_PEER_LEAF1_Ethernet47 | *trunk | *- | *- | *MLAG | 47 |
+| Ethernet48 | MLAG_PEER_LEAF1_Ethernet48 | *trunk | *- | *- | *MLAG | 47 |
*Inherited from Port-Channel Interface
@@ -340,7 +340,7 @@ interface Ethernet48
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | SPINES_Po1 | trunk | 10,20 | - | - | - | - | 1 | - |
-| Port-Channel47 | MLAG_PEER_LEAF1_Po47 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel47 | MLAG_PEER_LEAF1_Po47 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF3.md b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF3.md
index 32de6298bef..a11d57af7ae 100644
--- a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF3.md
+++ b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF3.md
@@ -292,9 +292,9 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | SPINE1_Ethernet3 | *trunk | *10,30 | *- | *- | 1 |
| Ethernet2 | SPINE2_Ethernet3 | *trunk | *10,30 | *- | *- | 1 |
-| Ethernet3 | HostC_Eth1 | access | 10 | - | - | - |
-| Ethernet47 | MLAG_PEER_LEAF4_Ethernet47 | *trunk | *- | *- | *['MLAG'] | 47 |
-| Ethernet48 | MLAG_PEER_LEAF4_Ethernet48 | *trunk | *- | *- | *['MLAG'] | 47 |
+| Ethernet3 | HostC_Eth1 | access | 10 | - | - | - |
+| Ethernet47 | MLAG_PEER_LEAF4_Ethernet47 | *trunk | *- | *- | *MLAG | 47 |
+| Ethernet48 | MLAG_PEER_LEAF4_Ethernet48 | *trunk | *- | *- | *MLAG | 47 |
*Inherited from Port-Channel Interface
@@ -340,7 +340,7 @@ interface Ethernet48
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | SPINES_Po3 | trunk | 10,30 | - | - | - | - | 1 | - |
-| Port-Channel47 | MLAG_PEER_LEAF4_Po47 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel47 | MLAG_PEER_LEAF4_Po47 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF4.md b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF4.md
index e302152b16e..691e3e0b796 100644
--- a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF4.md
+++ b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/LEAF4.md
@@ -292,9 +292,9 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | SPINE1_Ethernet4 | *trunk | *10,30 | *- | *- | 1 |
| Ethernet2 | SPINE2_Ethernet4 | *trunk | *10,30 | *- | *- | 1 |
-| Ethernet3 | Host2_Eth1 | access | 30 | - | - | - |
-| Ethernet47 | MLAG_PEER_LEAF3_Ethernet47 | *trunk | *- | *- | *['MLAG'] | 47 |
-| Ethernet48 | MLAG_PEER_LEAF3_Ethernet48 | *trunk | *- | *- | *['MLAG'] | 47 |
+| Ethernet3 | Host2_Eth1 | access | 30 | - | - | - |
+| Ethernet47 | MLAG_PEER_LEAF3_Ethernet47 | *trunk | *- | *- | *MLAG | 47 |
+| Ethernet48 | MLAG_PEER_LEAF3_Ethernet48 | *trunk | *- | *- | *MLAG | 47 |
*Inherited from Port-Channel Interface
@@ -340,7 +340,7 @@ interface Ethernet48
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | SPINES_Po3 | trunk | 10,30 | - | - | - | - | 1 | - |
-| Port-Channel47 | MLAG_PEER_LEAF3_Po47 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel47 | MLAG_PEER_LEAF3_Po47 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/SPINE1.md b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/SPINE1.md
index 72440d0c338..ec87b5191b0 100644
--- a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/SPINE1.md
+++ b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/SPINE1.md
@@ -299,8 +299,8 @@ vlan 4094
| Ethernet3 | LEAF3_Ethernet1 | *trunk | *10,30 | *- | *- | 3 |
| Ethernet4 | LEAF4_Ethernet1 | *trunk | *10,30 | *- | *- | 3 |
| Ethernet5 | FIREWALL_Eth1 | *trunk | *10,20,30 | *- | *- | 5 |
-| Ethernet47 | MLAG_PEER_SPINE2_Ethernet47 | *trunk | *- | *- | *['MLAG'] | 47 |
-| Ethernet48 | MLAG_PEER_SPINE2_Ethernet48 | *trunk | *- | *- | *['MLAG'] | 47 |
+| Ethernet47 | MLAG_PEER_SPINE2_Ethernet47 | *trunk | *- | *- | *MLAG | 47 |
+| Ethernet48 | MLAG_PEER_SPINE2_Ethernet48 | *trunk | *- | *- | *MLAG | 47 |
*Inherited from Port-Channel Interface
@@ -355,7 +355,7 @@ interface Ethernet48
| Port-Channel1 | RACK1_Po1 | trunk | 10,20 | - | - | - | - | 1 | - |
| Port-Channel3 | RACK2_Po1 | trunk | 10,30 | - | - | - | - | 3 | - |
| Port-Channel5 | FIREWALL | trunk | 10,20,30 | - | - | - | - | 5 | - |
-| Port-Channel47 | MLAG_PEER_SPINE2_Po47 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel47 | MLAG_PEER_SPINE2_Po47 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/SPINE2.md b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/SPINE2.md
index 3440e25d343..8616016e160 100644
--- a/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/SPINE2.md
+++ b/ansible_collections/arista/avd/examples/l2ls-fabric/documentation/devices/SPINE2.md
@@ -299,8 +299,8 @@ vlan 4094
| Ethernet3 | LEAF3_Ethernet2 | *trunk | *10,30 | *- | *- | 3 |
| Ethernet4 | LEAF4_Ethernet2 | *trunk | *10,30 | *- | *- | 3 |
| Ethernet5 | FIREWALL_Eth2 | *trunk | *10,20,30 | *- | *- | 5 |
-| Ethernet47 | MLAG_PEER_SPINE1_Ethernet47 | *trunk | *- | *- | *['MLAG'] | 47 |
-| Ethernet48 | MLAG_PEER_SPINE1_Ethernet48 | *trunk | *- | *- | *['MLAG'] | 47 |
+| Ethernet47 | MLAG_PEER_SPINE1_Ethernet47 | *trunk | *- | *- | *MLAG | 47 |
+| Ethernet48 | MLAG_PEER_SPINE1_Ethernet48 | *trunk | *- | *- | *MLAG | 47 |
*Inherited from Port-Channel Interface
@@ -355,7 +355,7 @@ interface Ethernet48
| Port-Channel1 | RACK1_Po1 | trunk | 10,20 | - | - | - | - | 1 | - |
| Port-Channel3 | RACK2_Po1 | trunk | 10,30 | - | - | - | - | 3 | - |
| Port-Channel5 | FIREWALL | trunk | 10,20,30 | - | - | - | - | 5 | - |
-| Port-Channel47 | MLAG_PEER_SPINE1_Po47 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel47 | MLAG_PEER_SPINE1_Po47 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1a.md b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1a.md
index ad7f1b48875..0ca9cd18cb8 100644
--- a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1a.md
+++ b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1a.md
@@ -315,8 +315,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc1-leaf1b_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc1-leaf1b_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc1-leaf1b_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc1-leaf1b_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc1-leaf1-server1_PCI1 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC1-LEAF1C_Ethernet1 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -376,7 +376,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc1-leaf1b_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc1-leaf1b_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc1-leaf1-server1_PortChannel dc1-leaf1-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC1-LEAF1C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1b.md b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1b.md
index d99ee43beb4..268972e1e3c 100644
--- a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1b.md
+++ b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1b.md
@@ -315,8 +315,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc1-leaf1a_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc1-leaf1a_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc1-leaf1a_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc1-leaf1a_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc1-leaf1-server1_PCI2 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC1-LEAF1C_Ethernet2 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -376,7 +376,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc1-leaf1a_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc1-leaf1a_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc1-leaf1-server1_PortChannel dc1-leaf1-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC1-LEAF1C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1c.md b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1c.md
index 05c71c72904..740bb5fe5e7 100644
--- a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1c.md
+++ b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf1c.md
@@ -253,7 +253,7 @@ vlan 3402
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-LEAF1A_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
| Ethernet2 | DC1-LEAF1B_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
-| Ethernet5 | dc1-leaf1-server1_iLO | access | 11 | - | - | - |
+| Ethernet5 | dc1-leaf1-server1_iLO | access | 11 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2a.md b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2a.md
index 18500c02463..d6f750ecc6f 100644
--- a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2a.md
+++ b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2a.md
@@ -315,8 +315,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc1-leaf2b_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc1-leaf2b_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc1-leaf2b_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc1-leaf2b_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc1-leaf2-server1_PCI1 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC1-LEAF2C_Ethernet1 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -376,7 +376,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc1-leaf2b_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc1-leaf2b_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc1-leaf2-server1_PortChannel dc1-leaf2-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC1-LEAF2C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2b.md b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2b.md
index 41be8c652d9..39f4ea08cd4 100644
--- a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2b.md
+++ b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2b.md
@@ -315,8 +315,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_dc1-leaf2a_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_dc1-leaf2a_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_dc1-leaf2a_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_dc1-leaf2a_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | dc1-leaf2-server1_PCI2 | *trunk | *11-12,21-22 | *4092 | *- | 5 |
| Ethernet8 | DC1-LEAF2C_Ethernet2 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 8 |
@@ -376,7 +376,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_dc1-leaf2a_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_dc1-leaf2a_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | dc1-leaf2-server1_PortChannel dc1-leaf2-server1 | trunk | 11-12,21-22 | 4092 | - | - | - | 5 | - |
| Port-Channel8 | DC1-LEAF2C_Po1 | trunk | 11-12,21-22,3401-3402 | - | - | - | - | 8 | - |
diff --git a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2c.md b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2c.md
index 6df6d7545d8..29fbe28280d 100644
--- a/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2c.md
+++ b/ansible_collections/arista/avd/examples/single-dc-l3ls/documentation/devices/dc1-leaf2c.md
@@ -253,7 +253,7 @@ vlan 3402
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-LEAF2A_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
| Ethernet2 | DC1-LEAF2B_Ethernet8 | *trunk | *11-12,21-22,3401-3402 | *- | *- | 1 |
-| Ethernet5 | dc1-leaf2-server1_iLO | access | 11 | - | - | - |
+| Ethernet5 | dc1-leaf2-server1_iLO | access | 11 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/address-locking.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/address-locking.md
index 8045c382446..f944dae6ea7 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/address-locking.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/address-locking.md
@@ -101,9 +101,9 @@ address locking
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | Address Locking Interface Testing 1 | access | - | - | - | - |
-| Ethernet2 | Address Locking Interface Testing 2 | access | - | - | - | - |
-| Ethernet3 | Address Locking Interface Testing 3 | access | - | - | - | - |
+| Ethernet1 | Address Locking Interface Testing 1 | - | - | - | - | - |
+| Ethernet2 | Address Locking Interface Testing 2 | - | - | - | - | - |
+| Ethernet3 | Address Locking Interface Testing 3 | - | - | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/ethernet-interfaces.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/ethernet-interfaces.md
index 5570e292ff1..fdbdb572df7 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/ethernet-interfaces.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/ethernet-interfaces.md
@@ -87,57 +87,60 @@ sFlow is disabled.
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet2 | SRV-POD02_Eth1 | trunk | 110-111,210-211 | - | - | - |
-| Ethernet6 | SRV-POD02_Eth1 | trunk | 110-111,210-211 | - | - | - |
-| Ethernet7 | Molecule L2 | access | - | - | - | - |
-| Ethernet11 | interface_in_mode_access_accepting_tagged_LACP | access | 200 | - | - | - |
-| Ethernet12 | interface_with_dot1q_tunnel | dot1q-tunnel | 300 | - | - | - |
-| Ethernet13 | interface_in_mode_access_with_voice | trunk phone | - | 100 | - | - |
-| Ethernet14 | SRV-POD02_Eth1 | trunk | 110-111,210-211 | - | - | - |
-| Ethernet15 | PVLAN Promiscuous Access - only one secondary | access | 110 | - | - | - |
-| Ethernet16 | PVLAN Promiscuous Trunk - vlan translation out | trunk | 110-112 | - | - | - |
-| Ethernet17 | PVLAN Secondary Trunk | trunk | 110-112 | - | - | - |
-| Ethernet19 | Switched port with no LLDP rx/tx | access | 110 | - | - | - |
-| Ethernet21 | 200MBit/s shape | access | - | - | - | - |
-| Ethernet22 | 10% shape | access | - | - | - | - |
-| Ethernet23 | Error-correction encoding | access | - | - | - | - |
-| Ethernet24 | Disable error-correction encoding | access | - | - | - | - |
-| Ethernet25 | Molecule MAC | access | - | - | - | - |
-| Ethernet27 | EVPN-Vxlan single-active redundancy | access | - | - | - | - |
-| Ethernet28 | EVPN-MPLS multihoming | access | - | - | - | - |
-| Ethernet29 | DOT1X Testing - auto phone true | access | - | - | - | - |
-| Ethernet30 | DOT1X Testing - force-authorized phone false | access | - | - | - | - |
-| Ethernet31 | DOT1X Testing - force-unauthorized - no phone | access | - | - | - | - |
-| Ethernet32 | DOT1X Testing - auto reauthentication | access | - | - | - | - |
-| Ethernet33 | DOT1X Testing - pae mode authenticator | access | - | - | - | - |
-| Ethernet34 | DOT1X Testing - authentication_failure allow | access | - | - | - | - |
-| Ethernet35 | DOT1X Testing - authentication_failure drop | access | - | - | - | - |
-| Ethernet36 | DOT1X Testing - host-mode single-host | access | - | - | - | - |
-| Ethernet37 | DOT1X Testing - host-mode multi-host | access | - | - | - | - |
-| Ethernet38 | DOT1X Testing - host-mode multi-host authenticated | access | - | - | - | - |
-| Ethernet39 | DOT1X Testing - mac_based_authentication host-mode common true | access | - | - | - | - |
-| Ethernet40 | DOT1X Testing - mac_based_authentication always | access | - | - | - | - |
-| Ethernet41 | DOT1X Testing - mac_based_authentication always and host-mode common | access | - | - | - | - |
-| Ethernet42 | DOT1X Testing - mac_based_authentication | access | - | - | - | - |
-| Ethernet43 | DOT1X Testing - timeout values | access | - | - | - | - |
-| Ethernet44 | DOT1X Testing - reauthorization_request_limit | access | - | - | - | - |
-| Ethernet45 | DOT1X Testing - all features | access | - | - | - | - |
-| Ethernet46 | native-vlan-tag-precedence | trunk | - | tag | - | - |
-| Ethernet48 | Load Interval | access | - | - | - | - |
-| Ethernet50 | SFlow Interface Testing - SFlow ingress enabled | access | - | - | - | - |
-| Ethernet51 | SFlow Interface Testing - SFlow egress enabled | access | - | - | - | - |
-| Ethernet52 | SFlow Interface Testing - SFlow ingress and egress unmodified enabled | access | - | - | - | - |
-| Ethernet53 | SFlow Interface Testing - SFlow ingress and egress disabled | access | - | - | - | - |
-| Ethernet54 | SFlow Interface Testing - SFlow ingress and egress unmodified disabled | access | - | - | - | - |
-| Ethernet56 | Interface with poe commands and limit in class | access | - | - | - | - |
-| Ethernet57 | Interface with poe commands and limit in watts | access | - | - | - | - |
-| Ethernet58 | Interface with poe disabled and no other poe keys | access | - | - | - | - |
-| Ethernet60 | IP NAT Testing | access | - | - | - | - |
-| Ethernet61 | interface_in_mode_access_with_voice | trunk phone | - | 100 | - | - |
-| Ethernet62 | interface_in_mode_access_with_voice | trunk phone | - | 100 | - | - |
-| Ethernet67 | Custom_Transceiver_Frequency | access | - | - | - | - |
-| Ethernet68 | Custom_Transceiver_Frequency | access | - | - | - | - |
-| Ethernet69 | IP NAT service-profile | access | - | - | - | - |
+| Ethernet1 | P2P_LINK_TO_DC1-SPINE1_Ethernet1 | dot1q-tunnel | 110-111,200,210-211 | tag | g1, g2 | - |
+| Ethernet2 | SRV-POD02_Eth1 | trunk | 110-111,210-211 | - | - | - |
+| Ethernet3 | P2P_LINK_TO_DC1-SPINE2_Ethernet2 | trunk | - | 5 | - | - |
+| Ethernet5 | Molecule Routing | - | 220 | - | - | - |
+| Ethernet6 | SRV-POD02_Eth1 | trunk | 110-111,210-211 | - | - | - |
+| Ethernet7 | Molecule L2 | - | - | - | - | - |
+| Ethernet11 | interface_in_mode_access_accepting_tagged_LACP | access | 200 | - | - | - |
+| Ethernet12 | interface_with_dot1q_tunnel | dot1q-tunnel | 300 | - | - | - |
+| Ethernet13 | interface_in_mode_access_with_voice | trunk phone | - | 100 | - | - |
+| Ethernet14 | SRV-POD02_Eth1 | trunk | 110-111,210-211 | - | - | - |
+| Ethernet15 | PVLAN Promiscuous Access - only one secondary | access | 110 | - | - | - |
+| Ethernet16 | PVLAN Promiscuous Trunk - vlan translation out | trunk | 110-112 | - | - | - |
+| Ethernet17 | PVLAN Secondary Trunk | trunk | 110-112 | - | - | - |
+| Ethernet19 | Switched port with no LLDP rx/tx | access | 110 | - | - | - |
+| Ethernet21 | 200MBit/s shape | - | - | - | - | - |
+| Ethernet22 | 10% shape | - | - | - | - | - |
+| Ethernet23 | Error-correction encoding | - | - | - | - | - |
+| Ethernet24 | Disable error-correction encoding | - | - | - | - | - |
+| Ethernet25 | Molecule MAC | - | - | - | - | - |
+| Ethernet27 | EVPN-Vxlan single-active redundancy | - | - | - | - | - |
+| Ethernet28 | EVPN-MPLS multihoming | - | - | - | - | - |
+| Ethernet29 | DOT1X Testing - auto phone true | - | - | - | - | - |
+| Ethernet30 | DOT1X Testing - force-authorized phone false | - | - | - | - | - |
+| Ethernet31 | DOT1X Testing - force-unauthorized - no phone | - | - | - | - | - |
+| Ethernet32 | DOT1X Testing - auto reauthentication | - | - | - | - | - |
+| Ethernet33 | DOT1X Testing - pae mode authenticator | - | - | - | - | - |
+| Ethernet34 | DOT1X Testing - authentication_failure allow | - | - | - | - | - |
+| Ethernet35 | DOT1X Testing - authentication_failure drop | - | - | - | - | - |
+| Ethernet36 | DOT1X Testing - host-mode single-host | - | - | - | - | - |
+| Ethernet37 | DOT1X Testing - host-mode multi-host | - | - | - | - | - |
+| Ethernet38 | DOT1X Testing - host-mode multi-host authenticated | - | - | - | - | - |
+| Ethernet39 | DOT1X Testing - mac_based_authentication host-mode common true | - | - | - | - | - |
+| Ethernet40 | DOT1X Testing - mac_based_authentication always | - | - | - | - | - |
+| Ethernet41 | DOT1X Testing - mac_based_authentication always and host-mode common | - | - | - | - | - |
+| Ethernet42 | DOT1X Testing - mac_based_authentication | - | - | - | - | - |
+| Ethernet43 | DOT1X Testing - timeout values | - | - | - | - | - |
+| Ethernet44 | DOT1X Testing - reauthorization_request_limit | - | - | - | - | - |
+| Ethernet45 | DOT1X Testing - all features | - | - | - | - | - |
+| Ethernet46 | native-vlan-tag-precedence | trunk | - | tag | - | - |
+| Ethernet48 | Load Interval | - | - | - | - | - |
+| Ethernet50 | SFlow Interface Testing - SFlow ingress enabled | - | - | - | - | - |
+| Ethernet51 | SFlow Interface Testing - SFlow egress enabled | - | - | - | - | - |
+| Ethernet52 | SFlow Interface Testing - SFlow ingress and egress unmodified enabled | - | - | - | - | - |
+| Ethernet53 | SFlow Interface Testing - SFlow ingress and egress disabled | - | - | - | - | - |
+| Ethernet54 | SFlow Interface Testing - SFlow ingress and egress unmodified disabled | - | - | - | - | - |
+| Ethernet56 | Interface with poe commands and limit in class | - | - | - | - | - |
+| Ethernet57 | Interface with poe commands and limit in watts | - | - | - | - | - |
+| Ethernet58 | Interface with poe disabled and no other poe keys | - | - | - | - | - |
+| Ethernet60 | IP NAT Testing | - | - | - | - | - |
+| Ethernet61 | interface_in_mode_access_with_voice | trunk phone | - | 100 | - | - |
+| Ethernet62 | interface_in_mode_access_with_voice | trunk phone | - | 100 | - | - |
+| Ethernet67 | Custom_Transceiver_Frequency | - | - | - | - | - |
+| Ethernet68 | Custom_Transceiver_Frequency | - | - | - | - | - |
+| Ethernet69 | IP NAT service-profile | - | - | - | - | - |
*Inherited from Port-Channel Interface
@@ -162,14 +165,28 @@ sFlow is disabled.
| Interface | PVLAN Mapping | Secondary Trunk |
| --------- | ------------- | ----------------|
+| Ethernet1 | 20-30 | True |
+| Ethernet2 | - | False |
| Ethernet15 | 111 | - |
| Ethernet17 | - | True |
##### VLAN Translations
-| Interface | From VLAN ID(s) | To VLAN ID | Direction |
-| --------- | --------------- | -----------| --------- |
-| Ethernet16 | 111-112 | 110 | out |
+| Interface | Direction | From VLAN ID(s) | To VLAN ID | From Inner VLAN ID | To Inner VLAN ID | Network | Dot1q-tunnel |
+| --------- | --------- | --------------- | ---------- | ------------------ | ---------------- | ------- | ------------ |
+| Ethernet1 | both | 12 | 20 | - | - | - | - |
+| Ethernet1 | both | 24 | 46 | 78 | - | True | - |
+| Ethernet1 | both | 24 | 46 | 78 | - | False | - |
+| Ethernet1 | both | 43 | 30 | - | - | - | True |
+| Ethernet1 | in | 10 | 24 | - | - | - | - |
+| Ethernet1 | in | 23 | 45 | - | - | - | True |
+| Ethernet1 | in | 37 | 49 | 56 | - | - | - |
+| Ethernet1 | out | 10 | 45 | - | 34 | - | - |
+| Ethernet1 | out | 34 | 50 | - | - | - | - |
+| Ethernet1 | out | 45 | all | - | - | - | True |
+| Ethernet1 | out | 55 | - | - | - | - | - |
+| Ethernet3 | out | 23 | 50 | - | - | - | True |
+| Ethernet16 | out | 111-112 | 110 | - | - | - | - |
##### TCP MSS Clamping
@@ -199,6 +216,7 @@ sFlow is disabled.
| Interface | Mode | Native VLAN | Phone VLAN | Phone VLAN Mode |
| --------- | ---- | ----------- | ---------- | --------------- |
+| Ethernet1 | dot1q-tunnel | 5 | 110 | tagged |
| Ethernet13 | trunk phone | 100 | 70 | untagged |
| Ethernet61 | trunk phone | 100 | 70 | untagged phone |
| Ethernet62 | trunk phone | 100 | 70 | tagged phone |
@@ -361,8 +379,39 @@ interface Ethernet1
l2 mtu 8000
l2 mru 8000
bgp session tracker ST1
+ switchport access vlan 200
+ switchport trunk native vlan tag
+ switchport phone vlan 110
+ switchport phone trunk tagged
+ switchport vlan translation in required
+ switchport dot1q vlan tag required
+ switchport trunk allowed vlan 110-111,210-211
+ switchport mode dot1q-tunnel
+ switchport dot1q ethertype 1536
+ switchport vlan forwarding accept all
+ switchport trunk group g1
+ switchport trunk group g2
no switchport
+ switchport source-interface tx
+ switchport vlan translation 12 20
+ switchport vlan translation 24 inner 78 network 46
+ switchport vlan translation 24 inner 78 46
+ switchport vlan translation 43 dot1q-tunnel 30
+ switchport vlan translation in 10 24
+ switchport vlan translation in 37 inner 56 49
+ switchport vlan translation in 23 dot1q-tunnel 45
+ switchport vlan translation out 34 50
+ switchport vlan translation out 10 45 inner 34
+ switchport vlan translation out 45 dot1q-tunnel all
+ switchport trunk private-vlan secondary
+ switchport pvlan mapping 20-30
ip address 172.31.255.1/31
+ switchport backup-link Ethernet5 prefer vlan 10
+ switchport backup preemption-delay 35
+ switchport backup mac-move-burst 20
+ switchport backup mac-move-burst-interval 30
+ switchport backup initial-mac-move-delay 10
+ switchport backup dest-macaddr 01:00:00:00:00:00
ip verify unicast source reachable-via rx
bfd interval 500 min-rx 500 multiplier 5
bfd echo
@@ -380,6 +429,7 @@ interface Ethernet1
ip igmp host-proxy version 2
tcp mss ceiling ipv4 70 ipv6 75 egress
switchport port-security
+ switchport port-security mac-address maximum disabled
priority-flow-control on
priority-flow-control priority 5 drop
link tracking group EVPN_MH_ES1 upstream
@@ -390,6 +440,7 @@ interface Ethernet1
!
interface Ethernet2
description SRV-POD02_Eth1
+ switchport dot1q vlan tag disallowed
switchport trunk allowed vlan 110-111,210-211
switchport mode trunk
switchport
@@ -410,9 +461,13 @@ interface Ethernet2
interface Ethernet3
description P2P_LINK_TO_DC1-SPINE2_Ethernet2
mtu 1500
+ switchport trunk native vlan 5
+ switchport mode trunk
no switchport
+ switchport vlan translation out 23 dot1q-tunnel 50
no snmp trap link-change
ip address 172.31.128.1/31
+ switchport backup-link Ethernet4
ipv6 enable
ipv6 address 2002:ABDC::1/64
ipv6 nd prefix 2345:ABCD:3FE0::1/96 infinite 50 no-autoconfig
@@ -448,6 +503,7 @@ interface Ethernet4
multicast ipv6 boundary ff00::/16 out
multicast ipv6 boundary ff01::/16 out
multicast ipv4 static
+ switchport port-security violation protect
priority-flow-control on
spanning-tree guard none
!
@@ -455,6 +511,7 @@ interface Ethernet5
description Molecule Routing
no shutdown
mtu 9100
+ switchport access vlan 220
no switchport
ip ospf cost 99
ip ospf network point-to-point
@@ -588,10 +645,11 @@ interface Ethernet15
!
interface Ethernet16
description PVLAN Promiscuous Trunk - vlan translation out
- switchport vlan translation out 111-112 110
+ switchport vlan translation out required
switchport trunk allowed vlan 110-112
switchport mode trunk
switchport
+ switchport vlan translation out 111-112 110
!
interface Ethernet17
description PVLAN Secondary Trunk
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/flow-tracking.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/flow-tracking.md
index fcbf6c5eb9f..76e5569a9ed 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/flow-tracking.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/flow-tracking.md
@@ -168,9 +168,9 @@ interface Dps1
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet40 | - | access | - | - | - | - |
-| Ethernet41 | - | access | - | - | - | - |
-| Ethernet42 | - | access | - | - | - | - |
+| Ethernet40 | - | - | - | - | - | - |
+| Ethernet41 | - | - | - | - | - | - |
+| Ethernet42 | - | - | - | - | - | - |
*Inherited from Port-Channel Interface
@@ -201,7 +201,7 @@ interface Ethernet42
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel42 | - | access | - | - | - | - | - | - | - |
+| Port-Channel42 | - | - | - | - | - | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/l2-protocol-forwarding.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/l2-protocol-forwarding.md
index 623d13991c5..6296ca2afa4 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/l2-protocol-forwarding.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/l2-protocol-forwarding.md
@@ -122,7 +122,7 @@ l2-protocol
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet1 | L2PF test | access | - | - | - | - |
+| Ethernet1 | L2PF test | - | - | - | - | - |
*Inherited from Port-Channel Interface
@@ -144,7 +144,7 @@ interface Ethernet1
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel1 | L2PF test | access | - | - | - | - | - | - | - |
+| Port-Channel1 | L2PF test | - | - | - | - | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/lldp.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/lldp.md
index 62e47fa12b3..fe162e005b6 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/lldp.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/lldp.md
@@ -88,8 +88,8 @@ lldp tlv transmit system-description
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet2 | Switched port with no LLDP rx/tx | access | 110 | - | - | - |
-| Ethernet3 | No special LLDP settings | access | 110 | - | - | - |
+| Ethernet2 | Switched port with no LLDP rx/tx | access | 110 | - | - | - |
+| Ethernet3 | No special LLDP settings | access | 110 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/mac-security-eth-po-entropy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/mac-security-eth-po-entropy.md
index 99525770965..5dcee650f88 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/mac-security-eth-po-entropy.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/mac-security-eth-po-entropy.md
@@ -121,9 +121,9 @@ interface Ethernet3
!
interface Port-Channel3
description L2-PORT
- switchport
switchport trunk allowed vlan 1-5
switchport mode trunk
+ switchport
```
## MACsec
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/port-channel-interfaces.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/port-channel-interfaces.md
index 4df31801825..35d961c82f7 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/port-channel-interfaces.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/port-channel-interfaces.md
@@ -73,8 +73,8 @@ sFlow is disabled.
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_DC1-LEAF1B_Ethernet3 | *trunk | *2-4094 | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-LEAF1B_Ethernet4 | *trunk | *2-4094 | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-LEAF1B_Ethernet3 | *trunk | *2-4094 | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-LEAF1B_Ethernet4 | *trunk | *2-4094 | *- | *LEAF_PEER_L3, MLAG | 3 |
| Ethernet5 | DC1-AGG01_Ethernet1 | *trunk | *110,201 | *- | *- | 5 |
| Ethernet10/1 | LAG Member | *access | *110 | *- | *- | 101 |
| Ethernet10/2 | LAG Member | *trunk | *110-112 | *- | *- | 102 |
@@ -82,7 +82,7 @@ sFlow is disabled.
| Ethernet10/4 | LAG Member LACP fallback | *trunk | *112 | *- | *- | 104 |
| Ethernet11/2 | LAG Member LACP fallback LLDP ZTP VLAN | *trunk | *112 | *- | *- | 112 |
| Ethernet15 | DC1-AGG03_Ethernet1 | *trunk | *110,201 | *- | *- | 15 |
-| Ethernet16 | DC1-AGG04_Ethernet1 | *trunk | *110,201 | *- | *- | 16 |
+| Ethernet16 | DC1-AGG04_Ethernet1 | *trunk | *110,201 | *10 | *- | 16 |
| Ethernet18 | LAG Member | *access | *110 | *- | *- | 109 |
| Ethernet50 | SRV-POD03_Eth1 | *trunk | *110,201 | *- | *- | 5 |
@@ -99,6 +99,7 @@ sFlow is disabled.
| Interface | Mode | Native VLAN | Phone VLAN | Phone VLAN Mode |
| --------- | ---- | ----------- | ---------- | --------------- |
| Port-Channel12 | trunk phone | 100 | 70 | untagged |
+| Port-Channel100 | dot1q-tunnel | 5 | 110 | tagged |
##### IPv4
@@ -216,31 +217,30 @@ interface Ethernet50
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_DC1-LEAF1B_Po3 | trunk | 2-4094 | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-LEAF1B_Po3 | trunk | 2-4094 | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel5 | DC1_L2LEAF1_Po1 | trunk | 110,201 | - | - | - | - | 5 | - |
| Port-Channel10 | SRV01_bond0 | trunk | 2-3000 | - | - | - | - | - | 0000:0000:0404:0404:0303 |
| Port-Channel12 | interface_in_mode_access_with_voice | trunk phone | - | 100 | - | - | - | - | - |
-| Port-Channel13 | EVPN-Vxlan single-active redundancy | access | - | - | - | - | - | - | 0000:0000:0000:0102:0304 |
-| Port-Channel14 | EVPN-MPLS multihoming | access | - | - | - | - | - | - | 0000:0000:0000:0102:0305 |
+| Port-Channel14 | EVPN-MPLS multihoming | - | - | - | - | - | - | - | 0000:0000:0000:0102:0305 |
| Port-Channel15 | DC1_L2LEAF3_Po1 | trunk | 110,201 | - | - | - | - | 15 | - |
-| Port-Channel16 | DC1_L2LEAF4_Po1 | trunk | 110,201 | - | - | - | - | 16 | - |
+| Port-Channel16 | DC1_L2LEAF4_Po1 | trunk | 110,201 | 10 | - | - | - | 16 | - |
| Port-Channel20 | Po_in_mode_access_accepting_tagged_LACP_frames | access | 200 | - | - | - | - | - | - |
| Port-Channel50 | SRV-POD03_PortChanne1 | trunk | 1-4000 | - | - | - | - | - | 0000:0000:0303:0202:0101 |
| Port-Channel51 | ipv6_prefix | trunk | 1-500 | - | - | - | - | - | - |
+| Port-Channel100 | - | dot1q-tunnel | 10-11,200 | tag | g1, g2 | - | - | - | - |
| Port-Channel101 | PVLAN Promiscuous Access - only one secondary | access | 110 | - | - | - | - | - | - |
| Port-Channel102 | PVLAN Promiscuous Trunk - vlan translation out | trunk | 110-112 | - | - | - | - | - | - |
| Port-Channel103 | PVLAN Secondary Trunk | trunk | 110-112 | - | - | - | - | - | - |
| Port-Channel104 | LACP fallback individual | trunk | 112 | - | - | 300 | individual | - | - |
-| Port-Channel105 | bpdu disabled | access | - | - | - | - | - | - | - |
-| Port-Channel106 | bpdu enabled | access | - | - | - | - | - | - | - |
-| Port-Channel107 | bpdu true | access | - | - | - | - | - | - | - |
-| Port-Channel108 | bpdu false | access | - | - | - | - | - | - | - |
+| Port-Channel105 | bpdu disabled | - | - | - | - | - | - | - | - |
+| Port-Channel106 | bpdu enabled | - | - | - | - | - | - | - | - |
+| Port-Channel107 | bpdu true | - | - | - | - | - | - | - | - |
+| Port-Channel108 | bpdu false | - | - | - | - | - | - | - | - |
| Port-Channel109 | Molecule ACLs | access | 110 | - | - | - | - | - | - |
| Port-Channel112 | LACP fallback individual | trunk | 112 | - | - | 5 | individual | - | - |
| Port-Channel115 | native-vlan-tag-precedence | trunk | - | tag | - | - | - | - | - |
| Port-Channel121 | access_port_with_no_vlans | access | - | - | - | - | - | - | - |
| Port-Channel122 | trunk_port_with_no_vlans | trunk | - | - | - | - | - | - | - |
-| Port-Channel130 | IP NAT Testing | access | - | - | - | - | - | - | - |
| Port-Channel131 | dot1q-tunnel mode | dot1q-tunnel | 115 | - | - | - | - | - | - |
##### Encapsulation Dot1q
@@ -266,14 +266,28 @@ interface Ethernet50
| Interface | PVLAN Mapping | Secondary Trunk |
| --------- | ------------- | ----------------|
+| Port-Channel15 | - | False |
+| Port-Channel100 | 20-30 | True |
| Port-Channel101 | 111 | - |
| Port-Channel103 | - | True |
##### VLAN Translations
-| Interface | From VLAN ID(s) | To VLAN ID | Direction |
-| --------- | --------------- | -----------| --------- |
-| Port-Channel102 | 111-112 | 110 | out |
+| Interface | Direction | From VLAN ID(s) | To VLAN ID | From Inner VLAN ID | To Inner VLAN ID | Network | Dot1q-tunnel |
+| --------- | --------- | --------------- | ---------- | ------------------ | ---------------- | ------- | ------------ |
+| Port-Channel16 | out | 23 | 22 | - | - | - | True |
+| Port-Channel100 | both | 12 | 20 | - | - | - | - |
+| Port-Channel100 | both | 23 | 42 | 74 | - | False | - |
+| Port-Channel100 | both | 24 | 46 | 78 | - | True | - |
+| Port-Channel100 | both | 43 | 30 | - | - | - | True |
+| Port-Channel100 | in | 23 | 45 | - | - | - | True |
+| Port-Channel100 | in | 34 | 23 | - | - | - | - |
+| Port-Channel100 | in | 37 | 49 | - | 56 | - | - |
+| Port-Channel100 | out | 10 | 45 | - | 34 | - | - |
+| Port-Channel100 | out | 34 | 50 | - | - | - | - |
+| Port-Channel100 | out | 45 | all | - | - | - | True |
+| Port-Channel100 | out | 55 | - | - | - | - | - |
+| Port-Channel102 | out | 111-112 | 110 | - | - | - | - |
##### EVPN Multihoming
@@ -355,20 +369,20 @@ interface Ethernet50
!
interface Port-Channel3
description MLAG_PEER_DC1-LEAF1B_Po3
- switchport
switchport trunk allowed vlan 2-4094
switchport mode trunk
switchport trunk group LEAF_PEER_L3
switchport trunk group MLAG
+ switchport
no snmp trap link-change
shape rate 200000 kbps
!
interface Port-Channel5
description DC1_L2LEAF1_Po1
bgp session tracker ST2
- switchport
switchport trunk allowed vlan 110,201
switchport mode trunk
+ switchport
ip igmp host-proxy
ip igmp host-proxy 239.0.0.1
ip igmp host-proxy 239.0.0.2 exclude 10.0.2.1
@@ -397,6 +411,7 @@ interface Port-Channel5
interface Port-Channel8
description to Dev02 Port-channel 8
no switchport
+ switchport port-security violation protect
!
interface Port-Channel8.101
description to Dev02 Port-Channel8.101 - VRF-C1
@@ -414,9 +429,9 @@ interface Port-Channel9
!
interface Port-Channel10
description SRV01_bond0
- switchport
switchport trunk allowed vlan 2-3000
switchport mode trunk
+ switchport
evpn ethernet-segment
identifier 0000:0000:0404:0404:0303
route-target import 04:04:03:03:02:02
@@ -424,11 +439,11 @@ interface Port-Channel10
!
interface Port-Channel12
description interface_in_mode_access_with_voice
- switchport
switchport trunk native vlan 100
switchport phone vlan 70
switchport phone trunk untagged
switchport mode trunk phone
+ switchport
!
interface Port-Channel13
description EVPN-Vxlan single-active redundancy
@@ -452,21 +467,27 @@ interface Port-Channel14
!
interface Port-Channel15
description DC1_L2LEAF3_Po1
- switchport
switchport trunk allowed vlan 110,201
switchport mode trunk
+ switchport
mlag 15
spanning-tree guard loop
link tracking group EVPN_MH_ES2 upstream
!
interface Port-Channel16
description DC1_L2LEAF4_Po1
- switchport
+ switchport trunk native vlan 10
+ switchport dot1q vlan tag disallowed
switchport trunk allowed vlan 110,201
switchport mode trunk
+ switchport
+ switchport vlan translation out 23 dot1q-tunnel 22
snmp trap link-change
mlag 16
+ switchport port-security violation protect log
+ switchport port-security mac-address maximum 100
spanning-tree guard none
+ switchport backup-link Port-Channel100.102 prefer vlan 20
!
interface Port-Channel17
description PBR Description
@@ -476,15 +497,16 @@ interface Port-Channel17
!
interface Port-Channel20
description Po_in_mode_access_accepting_tagged_LACP_frames
- switchport
switchport access vlan 200
+ switchport mode access
+ switchport
l2-protocol encapsulation dot1q vlan 200
!
interface Port-Channel50
description SRV-POD03_PortChanne1
- switchport
switchport trunk allowed vlan 1-4000
switchport mode trunk
+ switchport
evpn ethernet-segment
identifier 0000:0000:0303:0202:0101
route-target import 03:03:02:02:01:01
@@ -492,9 +514,15 @@ interface Port-Channel50
!
interface Port-Channel51
description ipv6_prefix
- switchport
switchport trunk allowed vlan 1-500
switchport mode trunk
+ switchport
+ switchport port-security
+ no switchport port-security mac-address maximum disabled
+ switchport port-security vlan 1 mac-address maximum 3
+ switchport port-security vlan 2 mac-address maximum 3
+ switchport port-security vlan 3 mac-address maximum 3
+ switchport port-security vlan default mac-address maximum 2
ipv6 nd prefix a1::/64 infinite infinite no-autoconfig
!
interface Port-Channel99
@@ -510,7 +538,40 @@ interface Port-Channel99
!
interface Port-Channel100
logging event link-status
+ switchport access vlan 200
+ switchport trunk native vlan tag
+ switchport phone vlan 110
+ switchport phone trunk tagged
+ switchport vlan translation in required
+ switchport dot1q vlan tag required
+ switchport trunk allowed vlan 10-11
+ switchport mode dot1q-tunnel
+ switchport dot1q ethertype 1536
+ switchport vlan forwarding accept all
+ switchport trunk group g1
+ switchport trunk group g2
no switchport
+ switchport source-interface tx multicast
+ switchport vlan translation 12 20
+ switchport vlan translation 23 inner 74 42
+ switchport vlan translation 24 inner 78 network 46
+ switchport vlan translation 43 dot1q-tunnel 30
+ switchport vlan translation in 34 23
+ switchport vlan translation in 37 inner 56 49
+ switchport vlan translation in 23 dot1q-tunnel 45
+ switchport vlan translation out 34 50
+ switchport vlan translation out 10 45 inner 34
+ switchport vlan translation out 45 dot1q-tunnel all
+ switchport trunk private-vlan secondary
+ switchport pvlan mapping 20-30
+ switchport port-security
+ switchport port-security mac-address maximum disabled
+ switchport backup-link Port-channel51
+ switchport backup preemption-delay 35
+ switchport backup mac-move-burst 20
+ switchport backup mac-move-burst-interval 30
+ switchport backup initial-mac-move-delay 10
+ switchport backup dest-macaddr 01:00:00:00:00:00
!
interface Port-Channel100.101
description IFL for TENANT01
@@ -530,30 +591,32 @@ interface Port-Channel100.102
!
interface Port-Channel101
description PVLAN Promiscuous Access - only one secondary
- switchport
switchport access vlan 110
+ switchport mode access
+ switchport
switchport pvlan mapping 111
no qos trust
!
interface Port-Channel102
description PVLAN Promiscuous Trunk - vlan translation out
- switchport
+ switchport vlan translation out required
switchport trunk allowed vlan 110-112
switchport mode trunk
+ switchport
switchport vlan translation out 111-112 110
!
interface Port-Channel103
description PVLAN Secondary Trunk
- switchport
switchport trunk allowed vlan 110-112
switchport mode trunk
+ switchport
switchport trunk private-vlan secondary
!
interface Port-Channel104
description LACP fallback individual
- switchport
switchport trunk allowed vlan 112
switchport mode trunk
+ switchport
port-channel lacp fallback timeout 300
port-channel lacp fallback individual
!
@@ -581,8 +644,9 @@ interface Port-Channel108
!
interface Port-Channel109
description Molecule ACLs
- switchport
switchport access vlan 110
+ switchport mode access
+ switchport
ip access-group IPV4_ACL_IN in
ip access-group IPV4_ACL_OUT out
ipv6 access-group IPV6_ACL_IN in
@@ -643,9 +707,9 @@ interface Port-Channel111.1000
!
interface Port-Channel112
description LACP fallback individual
- switchport
switchport trunk allowed vlan 112
switchport mode trunk
+ switchport
port-channel lacp fallback timeout 5
port-channel lacp fallback individual
!
@@ -666,9 +730,9 @@ interface Port-Channel114
!
interface Port-Channel115
description native-vlan-tag-precedence
- switchport
switchport trunk native vlan tag
switchport mode trunk
+ switchport
!
interface Port-Channel117
description interface_with_sflow_ingress_egress_enabled
@@ -696,12 +760,13 @@ interface Port-Channel120
!
interface Port-Channel121
description access_port_with_no_vlans
+ switchport mode access
switchport
!
interface Port-Channel122
description trunk_port_with_no_vlans
- switchport
switchport mode trunk
+ switchport
!
interface Port-Channel130
description IP NAT Testing
@@ -713,9 +778,9 @@ interface Port-Channel130
!
interface Port-Channel131
description dot1q-tunnel mode
- switchport
switchport access vlan 115
switchport mode dot1q-tunnel
+ switchport
```
## BFD
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/ptp.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/ptp.md
index 5a06cba9ad3..dc558ec43dc 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/ptp.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/ptp.md
@@ -86,7 +86,7 @@ ptp monitor threshold missing-message sync 204 sequence-ids
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | P2P_LINK_TO_DC1-SPINE2_Ethernet5 | trunk | 2,14 | - | - | - |
+| Ethernet3 | P2P_LINK_TO_DC1-SPINE2_Ethernet5 | trunk | 2,14 | - | - | - |
| Ethernet5 | DC1-AGG01_Ethernet1 | *trunk | *110,201 | *- | *- | 5 |
*Inherited from Port-Channel Interface
@@ -149,9 +149,9 @@ interface Ethernet6
!
interface Port-Channel5
description DC1_L2LEAF1_Po1
- switchport
switchport trunk allowed vlan 110,201
switchport mode trunk
+ switchport
mlag 5
ptp enable
ptp mpass
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/qos.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/qos.md
index 1d803666c78..af55516fcbe 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/qos.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/qos.md
@@ -56,10 +56,10 @@ interface Management1
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | MLAG_PEER_DC1-LEAF1B_Ethernet3 | *trunk | *2-4094 | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-LEAF1B_Ethernet4 | *trunk | *2-4094 | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet6 | SRV-POD02_Eth1 | trunk | 110-111,210-211 | - | - | - |
-| Ethernet7 | Test-with-policymap | trunk | 110-111,210-211 | - | - | - |
+| Ethernet3 | MLAG_PEER_DC1-LEAF1B_Ethernet3 | *trunk | *2-4094 | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-LEAF1B_Ethernet4 | *trunk | *2-4094 | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet6 | SRV-POD02_Eth1 | trunk | 110-111,210-211 | - | - | - |
+| Ethernet7 | Test-with-policymap | trunk | 110-111,210-211 | - | - | - |
*Inherited from Port-Channel Interface
@@ -122,7 +122,7 @@ interface Ethernet7
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel3 | MLAG_PEER_DC1-LEAF1B_Po3 | trunk | 2-4094 | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-LEAF1B_Po3 | trunk | 2-4094 | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
@@ -130,11 +130,11 @@ interface Ethernet7
!
interface Port-Channel3
description MLAG_PEER_DC1-LEAF1B_Po3
- switchport
switchport trunk allowed vlan 2-4094
switchport mode trunk
switchport trunk group LEAF_PEER_L3
switchport trunk group MLAG
+ switchport
qos trust cos
qos cos 2
service-profile experiment
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/sync-e.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/sync-e.md
index a719f10f227..e9d97fa9b4b 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/sync-e.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/sync-e.md
@@ -58,7 +58,7 @@ sync-e
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet3 | P2P_LINK_TO_DC1-SPINE2_Ethernet5 | trunk | 2,14 | - | - | - |
+| Ethernet3 | P2P_LINK_TO_DC1-SPINE2_Ethernet5 | trunk | 2,14 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg
index 4bd1d5d3f57..3332cd87c39 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg
@@ -6,8 +6,39 @@ interface Ethernet1
l2 mtu 8000
l2 mru 8000
bgp session tracker ST1
+ switchport access vlan 200
+ switchport trunk native vlan tag
+ switchport phone vlan 110
+ switchport phone trunk tagged
+ switchport vlan translation in required
+ switchport dot1q vlan tag required
+ switchport trunk allowed vlan 110-111,210-211
+ switchport mode dot1q-tunnel
+ switchport dot1q ethertype 1536
+ switchport vlan forwarding accept all
+ switchport trunk group g1
+ switchport trunk group g2
no switchport
+ switchport source-interface tx
+ switchport vlan translation 12 20
+ switchport vlan translation 24 inner 78 network 46
+ switchport vlan translation 24 inner 78 46
+ switchport vlan translation 43 dot1q-tunnel 30
+ switchport vlan translation in 10 24
+ switchport vlan translation in 37 inner 56 49
+ switchport vlan translation in 23 dot1q-tunnel 45
+ switchport vlan translation out 34 50
+ switchport vlan translation out 10 45 inner 34
+ switchport vlan translation out 45 dot1q-tunnel all
+ switchport trunk private-vlan secondary
+ switchport pvlan mapping 20-30
ip address 172.31.255.1/31
+ switchport backup-link Ethernet5 prefer vlan 10
+ switchport backup preemption-delay 35
+ switchport backup mac-move-burst 20
+ switchport backup mac-move-burst-interval 30
+ switchport backup initial-mac-move-delay 10
+ switchport backup dest-macaddr 01:00:00:00:00:00
ip verify unicast source reachable-via rx
bfd interval 500 min-rx 500 multiplier 5
bfd echo
@@ -25,6 +56,7 @@ interface Ethernet1
ip igmp host-proxy version 2
tcp mss ceiling ipv4 70 ipv6 75 egress
switchport port-security
+ switchport port-security mac-address maximum disabled
priority-flow-control on
priority-flow-control priority 5 drop
link tracking group EVPN_MH_ES1 upstream
@@ -35,6 +67,7 @@ interface Ethernet1
!
interface Ethernet2
description SRV-POD02_Eth1
+ switchport dot1q vlan tag disallowed
switchport trunk allowed vlan 110-111,210-211
switchport mode trunk
switchport
@@ -55,9 +88,13 @@ interface Ethernet2
interface Ethernet3
description P2P_LINK_TO_DC1-SPINE2_Ethernet2
mtu 1500
+ switchport trunk native vlan 5
+ switchport mode trunk
no switchport
+ switchport vlan translation out 23 dot1q-tunnel 50
no snmp trap link-change
ip address 172.31.128.1/31
+ switchport backup-link Ethernet4
ipv6 enable
ipv6 address 2002:ABDC::1/64
ipv6 nd prefix 2345:ABCD:3FE0::1/96 infinite 50 no-autoconfig
@@ -93,6 +130,7 @@ interface Ethernet4
multicast ipv6 boundary ff00::/16 out
multicast ipv6 boundary ff01::/16 out
multicast ipv4 static
+ switchport port-security violation protect
priority-flow-control on
spanning-tree guard none
!
@@ -100,6 +138,7 @@ interface Ethernet5
description Molecule Routing
no shutdown
mtu 9100
+ switchport access vlan 220
no switchport
ip ospf cost 99
ip ospf network point-to-point
@@ -233,10 +272,11 @@ interface Ethernet15
!
interface Ethernet16
description PVLAN Promiscuous Trunk - vlan translation out
- switchport vlan translation out 111-112 110
+ switchport vlan translation out required
switchport trunk allowed vlan 110-112
switchport mode trunk
switchport
+ switchport vlan translation out 111-112 110
!
interface Ethernet17
description PVLAN Secondary Trunk
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg
index a662fe532b8..8635808be37 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg
@@ -22,9 +22,9 @@ mac security
!
interface Port-Channel3
description L2-PORT
- switchport
switchport trunk allowed vlan 1-5
switchport mode trunk
+ switchport
!
interface Ethernet1
mac security profile A1
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg
index 66b8d6c0329..42839364e01 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg
@@ -1,20 +1,20 @@
!
interface Port-Channel3
description MLAG_PEER_DC1-LEAF1B_Po3
- switchport
switchport trunk allowed vlan 2-4094
switchport mode trunk
switchport trunk group LEAF_PEER_L3
switchport trunk group MLAG
+ switchport
no snmp trap link-change
shape rate 200000 kbps
!
interface Port-Channel5
description DC1_L2LEAF1_Po1
bgp session tracker ST2
- switchport
switchport trunk allowed vlan 110,201
switchport mode trunk
+ switchport
ip igmp host-proxy
ip igmp host-proxy 239.0.0.1
ip igmp host-proxy 239.0.0.2 exclude 10.0.2.1
@@ -43,6 +43,7 @@ interface Port-Channel5
interface Port-Channel8
description to Dev02 Port-channel 8
no switchport
+ switchport port-security violation protect
!
interface Port-Channel8.101
description to Dev02 Port-Channel8.101 - VRF-C1
@@ -60,9 +61,9 @@ interface Port-Channel9
!
interface Port-Channel10
description SRV01_bond0
- switchport
switchport trunk allowed vlan 2-3000
switchport mode trunk
+ switchport
evpn ethernet-segment
identifier 0000:0000:0404:0404:0303
route-target import 04:04:03:03:02:02
@@ -70,11 +71,11 @@ interface Port-Channel10
!
interface Port-Channel12
description interface_in_mode_access_with_voice
- switchport
switchport trunk native vlan 100
switchport phone vlan 70
switchport phone trunk untagged
switchport mode trunk phone
+ switchport
!
interface Port-Channel13
description EVPN-Vxlan single-active redundancy
@@ -98,21 +99,27 @@ interface Port-Channel14
!
interface Port-Channel15
description DC1_L2LEAF3_Po1
- switchport
switchport trunk allowed vlan 110,201
switchport mode trunk
+ switchport
mlag 15
spanning-tree guard loop
link tracking group EVPN_MH_ES2 upstream
!
interface Port-Channel16
description DC1_L2LEAF4_Po1
- switchport
+ switchport trunk native vlan 10
+ switchport dot1q vlan tag disallowed
switchport trunk allowed vlan 110,201
switchport mode trunk
+ switchport
+ switchport vlan translation out 23 dot1q-tunnel 22
snmp trap link-change
mlag 16
+ switchport port-security violation protect log
+ switchport port-security mac-address maximum 100
spanning-tree guard none
+ switchport backup-link Port-Channel100.102 prefer vlan 20
!
interface Port-Channel17
description PBR Description
@@ -122,15 +129,16 @@ interface Port-Channel17
!
interface Port-Channel20
description Po_in_mode_access_accepting_tagged_LACP_frames
- switchport
switchport access vlan 200
+ switchport mode access
+ switchport
l2-protocol encapsulation dot1q vlan 200
!
interface Port-Channel50
description SRV-POD03_PortChanne1
- switchport
switchport trunk allowed vlan 1-4000
switchport mode trunk
+ switchport
evpn ethernet-segment
identifier 0000:0000:0303:0202:0101
route-target import 03:03:02:02:01:01
@@ -138,9 +146,15 @@ interface Port-Channel50
!
interface Port-Channel51
description ipv6_prefix
- switchport
switchport trunk allowed vlan 1-500
switchport mode trunk
+ switchport
+ switchport port-security
+ no switchport port-security mac-address maximum disabled
+ switchport port-security vlan 1 mac-address maximum 3
+ switchport port-security vlan 2 mac-address maximum 3
+ switchport port-security vlan 3 mac-address maximum 3
+ switchport port-security vlan default mac-address maximum 2
ipv6 nd prefix a1::/64 infinite infinite no-autoconfig
!
interface Port-Channel99
@@ -156,7 +170,40 @@ interface Port-Channel99
!
interface Port-Channel100
logging event link-status
+ switchport access vlan 200
+ switchport trunk native vlan tag
+ switchport phone vlan 110
+ switchport phone trunk tagged
+ switchport vlan translation in required
+ switchport dot1q vlan tag required
+ switchport trunk allowed vlan 10-11
+ switchport mode dot1q-tunnel
+ switchport dot1q ethertype 1536
+ switchport vlan forwarding accept all
+ switchport trunk group g1
+ switchport trunk group g2
no switchport
+ switchport source-interface tx multicast
+ switchport vlan translation 12 20
+ switchport vlan translation 23 inner 74 42
+ switchport vlan translation 24 inner 78 network 46
+ switchport vlan translation 43 dot1q-tunnel 30
+ switchport vlan translation in 34 23
+ switchport vlan translation in 37 inner 56 49
+ switchport vlan translation in 23 dot1q-tunnel 45
+ switchport vlan translation out 34 50
+ switchport vlan translation out 10 45 inner 34
+ switchport vlan translation out 45 dot1q-tunnel all
+ switchport trunk private-vlan secondary
+ switchport pvlan mapping 20-30
+ switchport port-security
+ switchport port-security mac-address maximum disabled
+ switchport backup-link Port-channel51
+ switchport backup preemption-delay 35
+ switchport backup mac-move-burst 20
+ switchport backup mac-move-burst-interval 30
+ switchport backup initial-mac-move-delay 10
+ switchport backup dest-macaddr 01:00:00:00:00:00
!
interface Port-Channel100.101
description IFL for TENANT01
@@ -176,30 +223,32 @@ interface Port-Channel100.102
!
interface Port-Channel101
description PVLAN Promiscuous Access - only one secondary
- switchport
switchport access vlan 110
+ switchport mode access
+ switchport
switchport pvlan mapping 111
no qos trust
!
interface Port-Channel102
description PVLAN Promiscuous Trunk - vlan translation out
- switchport
+ switchport vlan translation out required
switchport trunk allowed vlan 110-112
switchport mode trunk
+ switchport
switchport vlan translation out 111-112 110
!
interface Port-Channel103
description PVLAN Secondary Trunk
- switchport
switchport trunk allowed vlan 110-112
switchport mode trunk
+ switchport
switchport trunk private-vlan secondary
!
interface Port-Channel104
description LACP fallback individual
- switchport
switchport trunk allowed vlan 112
switchport mode trunk
+ switchport
port-channel lacp fallback timeout 300
port-channel lacp fallback individual
!
@@ -227,8 +276,9 @@ interface Port-Channel108
!
interface Port-Channel109
description Molecule ACLs
- switchport
switchport access vlan 110
+ switchport mode access
+ switchport
ip access-group IPV4_ACL_IN in
ip access-group IPV4_ACL_OUT out
ipv6 access-group IPV6_ACL_IN in
@@ -289,9 +339,9 @@ interface Port-Channel111.1000
!
interface Port-Channel112
description LACP fallback individual
- switchport
switchport trunk allowed vlan 112
switchport mode trunk
+ switchport
port-channel lacp fallback timeout 5
port-channel lacp fallback individual
!
@@ -312,9 +362,9 @@ interface Port-Channel114
!
interface Port-Channel115
description native-vlan-tag-precedence
- switchport
switchport trunk native vlan tag
switchport mode trunk
+ switchport
!
interface Port-Channel117
description interface_with_sflow_ingress_egress_enabled
@@ -342,12 +392,13 @@ interface Port-Channel120
!
interface Port-Channel121
description access_port_with_no_vlans
+ switchport mode access
switchport
!
interface Port-Channel122
description trunk_port_with_no_vlans
- switchport
switchport mode trunk
+ switchport
!
interface Port-Channel130
description IP NAT Testing
@@ -359,9 +410,9 @@ interface Port-Channel130
!
interface Port-Channel131
description dot1q-tunnel mode
- switchport
switchport access vlan 115
switchport mode dot1q-tunnel
+ switchport
!
interface Ethernet3
description MLAG_PEER_DC1-LEAF1B_Ethernet3
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg
index bc1e561a1fb..deed90ddb62 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg
@@ -25,9 +25,9 @@ ptp monitor threshold missing-message sync 204 sequence-ids
!
interface Port-Channel5
description DC1_L2LEAF1_Po1
- switchport
switchport trunk allowed vlan 110,201
switchport mode trunk
+ switchport
mlag 5
ptp enable
ptp mpass
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg
index 0d02cdb6794..8766a5be595 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg
@@ -163,11 +163,11 @@ qos profile wred_uc_queues_test
!
interface Port-Channel3
description MLAG_PEER_DC1-LEAF1B_Po3
- switchport
switchport trunk allowed vlan 2-4094
switchport mode trunk
switchport trunk group LEAF_PEER_L3
switchport trunk group MLAG
+ switchport
qos trust cos
qos cos 2
service-profile experiment
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/ethernet-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/ethernet-interfaces.yml
index d8c60fa029e..5abc1e94c10 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/ethernet-interfaces.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/ethernet-interfaces.yml
@@ -10,7 +10,6 @@ ethernet_interfaces:
mtu: 1500
l2_mtu: 8000
l2_mru: 8000
- type: routed
ip_address: 172.31.255.1/31
link_tracking_groups:
- name: EVPN_MH_ES1
@@ -33,9 +32,75 @@ ethernet_interfaces:
ipv4_segment_size: 70
ipv6_segment_size: 75
direction: egress
+ # test for switchport settings
switchport:
+ enabled: false
port_security:
enabled: true
+ mac_address_maximum:
+ disabled: true
+ trunk:
+ allowed_vlan: 110-111,210-211
+ native_vlan: 5
+ native_vlan_tag: true
+ groups:
+ - g1
+ - g2
+ private_vlan_secondary: true
+ access_vlan: 200
+ phone:
+ vlan: 110
+ trunk: tagged
+ mode: dot1q-tunnel
+ pvlan_mapping: 20-30
+ dot1q:
+ ethertype: 1536
+ vlan_tag: required
+ vlan_translations:
+ in_required: true
+ direction_in:
+ - from: 10
+ to: 24
+ - from: 37
+ to: 49
+ inner_vlan_from: 56
+ - from: 23
+ to: 45
+ dot1q_tunnel: true
+ direction_both:
+ - from: 24
+ inner_vlan_from: 78
+ network: true
+ to: 46
+ - from: 12
+ to: 20
+ - from: 43
+ to: 30
+ dot1q_tunnel: true
+ - from: 24
+ inner_vlan_from: 78
+ network: false
+ to: 46
+ direction_out:
+ - from: 34
+ to: 50
+ - from: 10
+ to: 45
+ inner_vlan_to: 34
+ - from: 45
+ dot1q_tunnel_to: all
+ - from: 55
+ vlan_forwarding_accept_all: true
+ source_interface: tx
+ backup_link:
+ interface: Ethernet5
+ prefer_vlan: 10
+ backup:
+ dest_macaddr: 01:00:00:00:00:00
+ mac_move_burst: 20
+ mac_move_burst_interval: 30
+ initial_mac_move_delay: 10
+ preemption_delay: 35
eos_cli: |
comment
Comment created from eos_cli under ethernet_interfaces.Ethernet1
@@ -64,13 +129,10 @@ ethernet_interfaces:
version: 2
- name: Ethernet2
- type: switched
peer: SRV-POD03
peer_interface: Eth1
peer_type: server
description: SRV-POD02_Eth1
- mode: trunk
- vlans: 110-111,210-211
tcp_mss_ceiling:
ipv4_segment_size: 70
direction: ingress
@@ -99,13 +161,25 @@ ethernet_interfaces:
no_drop: true
spanning_tree_bpduguard: disabled
spanning_tree_bpdufilter: disabled
+ # test for switchport settings
switchport:
+ mode: trunk
+ trunk:
+ allowed_vlan: 110-111,210-211
+ private_vlan_secondary: false
+ enabled: true
+ dot1q:
+ vlan_tag: disallowed
port_security:
mac_address_maximum:
limit: 100
violation:
mode: protect
protect_log: true
+ vlan_translations:
+ in_required: false
+ backup_link:
+ prefer_vlan: 20
- name: Ethernet3
peer: DC1-SPINE2
@@ -113,7 +187,6 @@ ethernet_interfaces:
peer_type: spine
description: P2P_LINK_TO_DC1-SPINE2_Ethernet2
mtu: 1500
- type: routed
ip_address: 172.31.128.1/31
snmp_trap_link_change: false
link_tracking_groups:
@@ -138,7 +211,12 @@ ethernet_interfaces:
spanning_tree_guard: root
tcp_mss_ceiling:
ipv6_segment_size: 65
+ # test for switchport settings
switchport:
+ enabled: false
+ mode: trunk
+ trunk:
+ native_vlan: 5
port_security:
mac_address_maximum:
disabled: false
@@ -148,9 +226,15 @@ ethernet_interfaces:
vlans:
- range: 1-3
mac_address_maximum: 3
+ vlan_translations:
+ out_required: false
+ direction_out:
+ - from: 23
+ dot1q_tunnel_to: 50
+ backup_link:
+ interface: Ethernet4
- name: Ethernet4
- type: routed
description: Molecule IPv6
shutdown: true
mtu: 9100
@@ -178,12 +262,17 @@ ethernet_interfaces:
boundaries:
- boundary: ff00::/16
- boundary: ff01::/16
+ # test for switchport port-security violation
+ switchport:
+ enabled: false
+ port_security:
+ violation:
+ mode: protect
- name: Ethernet5
description: Molecule Routing
shutdown: false
mtu: 9100
- type: routed
ospf_network_point_to_point: true
ospf_area: 100
ospf_cost: 99
@@ -213,9 +302,12 @@ ethernet_interfaces:
isis_authentication_mode: md5
isis_authentication_key: "asfddja23452"
spanning_tree_guard: loop
+ # test for switchport access vlan
+ switchport:
+ enabled: false
+ access_vlan: 220
- name: Ethernet6
- type: switched
logging:
event:
link_status: true
@@ -226,8 +318,12 @@ ethernet_interfaces:
peer_interface: Eth1
peer_type: server
description: SRV-POD02_Eth1
- mode: trunk
- vlans: 110-111,210-211
+ # test for switchport trunk mode
+ switchport:
+ enabled: true
+ trunk:
+ allowed_vlan: 110-111,210-211
+ mode: trunk
spanning_tree_bpduguard: enabled
spanning_tree_bpdufilter: enabled
@@ -279,6 +375,7 @@ ethernet_interfaces:
lldp:
transmit: false
receive: false
+
- name: Ethernet8.101
description: to WAN-ISP-01 Ethernet2.101 - VRF-C1
type: l3dot1q
@@ -314,9 +411,11 @@ ethernet_interfaces:
- name: Ethernet11
description: interface_in_mode_access_accepting_tagged_LACP
- type: switched
- mode: access
- vlans: 200
+ # test for switchport access mode
+ switchport:
+ enabled: true
+ mode: access
+ access_vlan: 200
l2_protocol:
encapsulation_dot1q_vlan: 200
spanning_tree_bpduguard: false # No config should be rendered for this case
@@ -324,9 +423,11 @@ ethernet_interfaces:
- name: Ethernet12
description: interface_with_dot1q_tunnel
- type: switched
- mode: dot1q-tunnel
- vlans: 300
+ # test for switchport dot1q-tunnel mode
+ switchport:
+ enabled: true
+ mode: dot1q-tunnel
+ access_vlan: 300
- name: Ethernet13
logging:
@@ -336,15 +437,17 @@ ethernet_interfaces:
spanning_tree: false
storm_control_discards: false
description: interface_in_mode_access_with_voice
- type: switched
- native_vlan: 100
- mode: "trunk phone"
- phone:
- trunk: untagged
- vlan: 70
+ # test for switchport trunk-phone mode
+ switchport:
+ enabled: true
+ trunk:
+ native_vlan: 100
+ mode: "trunk phone"
+ phone:
+ trunk: untagged
+ vlan: 70
- name: Ethernet14
- type: switched
logging:
event:
link_status: true
@@ -352,32 +455,43 @@ ethernet_interfaces:
peer_interface: Eth1
peer_type: server
description: SRV-POD02_Eth1
- mode: trunk
- vlans: 110-111,210-211
+ # test for switchport trunk mode settings
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110-111,210-211
- name: Ethernet15
- type: switched
description: PVLAN Promiscuous Access - only one secondary
- mode: access
- vlans: 110
- pvlan_mapping: 111
+ # test for switchport pvlan mapping
+ switchport:
+ enabled: true
+ mode: access
+ access_vlan: 110
+ pvlan_mapping: 111
- name: Ethernet16
- type: switched
description: PVLAN Promiscuous Trunk - vlan translation out
- mode: trunk
- vlans: 110-112
- vlan_translations:
- - direction: out
- from: 111-112
- to: 110
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110-112
+ vlan_translations:
+ out_required: true
+ direction_out:
+ - from: 111-112
+ to: 110
- name: Ethernet17
- type: switched
description: PVLAN Secondary Trunk
- mode: trunk
- vlans: 110-112
- trunk_private_vlan_secondary: true
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110-112
+ private_vlan_secondary: true
- name: Ethernet18
description: PBR Description
@@ -389,10 +503,11 @@ ethernet_interfaces:
input: MyLANServicePolicy
- name: Ethernet19
- type: switched
description: Switched port with no LLDP rx/tx
- mode: access
- vlans: 110
+ switchport:
+ enabled: true
+ mode: access
+ access_vlan: 110
lldp:
transmit: false
receive: false
@@ -440,12 +555,14 @@ ethernet_interfaces:
- name: Ethernet26
type: routed
+
- name: Ethernet26.1
type: l2dot1q
description: TENANT_A pseudowire 1 interface
encapsulation_vlan:
client:
unmatched: true
+
- name: Ethernet26.100
type: l2dot1q
description: TENANT_A pseudowire 1 interface
@@ -455,6 +572,7 @@ ethernet_interfaces:
vlan: 100
network:
client: true
+
- name: Ethernet26.200
type: l2dot1q
description: TENANT_A pseudowire 2 interface
@@ -462,6 +580,7 @@ ethernet_interfaces:
client:
dot1q:
vlan: 200
+
- name: Ethernet26.300
type: l2dot1q
description: TENANT_A pseudowire 3 interface
@@ -472,6 +591,7 @@ ethernet_interfaces:
network:
dot1q:
vlan: 400
+
- name: Ethernet26.400
type: l2dot1q
description: TENANT_A pseudowire 3 interface
@@ -484,6 +604,7 @@ ethernet_interfaces:
dot1q:
outer: 401
inner: 21
+
- name: Ethernet26.500
type: l2dot1q
description: TENANT_A pseudowire 3 interface
@@ -674,11 +795,13 @@ ethernet_interfaces:
native_vlan_membership_egress: true
- name: Ethernet46
- type: switched
description: native-vlan-tag-precedence
- native_vlan_tag: true
- native_vlan: 100
- mode: trunk
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ native_vlan_tag: true
+ native_vlan: 100
- name: Ethernet47
description: IP Helper
@@ -937,12 +1060,14 @@ ethernet_interfaces:
spanning_tree: false
storm_control_discards: false
description: interface_in_mode_access_with_voice
- type: switched
- native_vlan: 100
- mode: "trunk phone"
- phone:
- trunk: "untagged phone"
- vlan: 70
+ switchport:
+ enabled: true
+ trunk:
+ native_vlan: 100
+ mode: "trunk phone"
+ phone:
+ trunk: "untagged phone"
+ vlan: 70
- name: Ethernet62
logging:
@@ -952,12 +1077,14 @@ ethernet_interfaces:
spanning_tree: false
storm_control_discards: false
description: interface_in_mode_access_with_voice
- type: switched
- native_vlan: 100
- mode: "trunk phone"
- phone:
- trunk: "tagged phone"
- vlan: 70
+ switchport:
+ enabled: true
+ trunk:
+ native_vlan: 100
+ mode: "trunk phone"
+ phone:
+ trunk: "tagged phone"
+ vlan: 70
- name: Ethernet63
description: DHCP client interface
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/lldp.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/lldp.yml
index f43e85bf03f..0573f6be5a4 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/lldp.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/lldp.yml
@@ -20,19 +20,21 @@ ethernet_interfaces:
receive: false
- name: Ethernet2
- type: switched
description: Switched port with no LLDP rx/tx
- mode: access
- vlans: 110
+ switchport:
+ enabled: true
+ mode: access
+ access_vlan: 110
lldp:
transmit: false
receive: true
- name: Ethernet3
- type: switched
description: No special LLDP settings
- mode: access
- vlans: 110
+ switchport:
+ enabled: true
+ mode: access
+ access_vlan: 110
- name: Ethernet4
description: test
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/mac-security-eth-po-entropy.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/mac-security-eth-po-entropy.yml
index 0963bb68091..018e52892f7 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/mac-security-eth-po-entropy.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/mac-security-eth-po-entropy.yml
@@ -54,10 +54,12 @@ management_security:
### L2 portchannel
port_channel_interfaces:
- name: Port-Channel3
- type: switched
description: L2-PORT
- vlans: 1-5
- mode: trunk
+ switchport:
+ enabled: true
+ trunk:
+ allowed_vlan: 1-5
+ mode: trunk
# Children interfaces
ethernet_interfaces:
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/port-channel-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/port-channel-interfaces.yml
index 480bc83b16b..e63640f92d9 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/port-channel-interfaces.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/port-channel-interfaces.yml
@@ -2,13 +2,15 @@
### Port-Channel Interfaces ###
port_channel_interfaces:
- name: Port-Channel5
- type: switched
description: DC1_L2LEAF1_Po1
- vlans: 110,201
link_tracking_groups:
- name: EVPN_MH_ES1
direction: downstream
- mode: trunk
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110,201
mlag: 5
storm_control:
broadcast:
@@ -52,42 +54,67 @@ port_channel_interfaces:
- name: ACL2
version: 2
- name: Port-Channel15
- type: switched
description: DC1_L2LEAF3_Po1
- vlans: 110,201
link_tracking_groups:
- name: EVPN_MH_ES2
direction: upstream
- mode: trunk
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110,201
+ private_vlan_secondary: false
mlag: 15
spanning_tree_guard: loop
- name: Port-Channel16
- type: switched
description: DC1_L2LEAF4_Po1
- vlans: 110,201
- mode: trunk
snmp_trap_link_change: true
mlag: 16
spanning_tree_guard: disabled
+ switchport:
+ mode: trunk
+ port_security:
+ mac_address_maximum:
+ limit: 100
+ violation:
+ mode: protect
+ protect_log: true
+ enabled: true
+ trunk:
+ native_vlan: 10
+ allowed_vlan: 110,201
+ dot1q:
+ vlan_tag: disallowed
+ vlan_translations:
+ direction_out:
+ - from: 23
+ dot1q_tunnel_to: 22
+ backup_link:
+ interface: Port-Channel100.102
+ prefer_vlan: 20
- name: Port-Channel3
- type: switched
description: MLAG_PEER_DC1-LEAF1B_Po3
- vlans: "2-4094"
- mode: trunk
snmp_trap_link_change: false
shape:
rate: 200000 kbps
- trunk_groups:
- - LEAF_PEER_L3
- - MLAG
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: "2-4094"
+ groups:
+ - LEAF_PEER_L3
+ - MLAG
- name: Port-Channel10
- type: switched
description: SRV01_bond0
- vlans: 2-3000
- mode: trunk
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 2-3000
evpn_ethernet_segment:
identifier: "0000:0000:0404:0404:0303"
route_target: "04:04:03:03:02:02"
@@ -95,20 +122,34 @@ port_channel_interfaces:
rate: 50 percent
- name: Port-Channel50
- type: switched
description: SRV-POD03_PortChanne1
- vlans: 1-4000
- mode: trunk
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 1-4000
evpn_ethernet_segment:
identifier: "0000:0000:0303:0202:0101"
route_target: "03:03:02:02:01:01"
lacp_id: 0303.0202.0101
- name: Port-Channel51
- type: switched
description: ipv6_prefix
- vlans: 1-500
- mode: trunk
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 1-500
+ port_security:
+ mac_address_maximum:
+ disabled: false
+ violation:
+ mode: shutdown
+ vlan_default_mac_address_maximum: 2
+ vlans:
+ - range: 1-3
+ mac_address_maximum: 3
+ - range: 4-5
ipv6_nd_prefixes:
- ipv6_prefix: a1::/64
valid_lifetime: infinite
@@ -116,10 +157,77 @@ port_channel_interfaces:
no_autoconfig_flag: true
- name: Port-Channel100
- type: routed
logging:
event:
link_status: true
+ switchport:
+ enabled: false
+ port_security:
+ enabled: true
+ mac_address_maximum:
+ disabled: true
+ trunk:
+ allowed_vlan: 10-11
+ native_vlan: 5
+ native_vlan_tag: true
+ groups:
+ - g1
+ - g2
+ private_vlan_secondary: true
+ access_vlan: 200
+ phone:
+ vlan: 110
+ trunk: tagged
+ mode: dot1q-tunnel
+ pvlan_mapping: 20-30
+ dot1q:
+ ethertype: 1536
+ vlan_tag: required
+ source_interface: tx multicast
+ vlan_translations:
+ in_required: true
+ direction_in:
+ - from: 34
+ to: 23
+ - from: 37
+ to: 49
+ inner_vlan_from: 56
+ - from: 23
+ to: 45
+ dot1q_tunnel: true
+ direction_both:
+ - from: 24
+ inner_vlan_from: 78
+ network: true
+ to: 46
+ - from: 12
+ to: 20
+ - from: 43
+ to: 30
+ dot1q_tunnel: true
+ - from: 23
+ inner_vlan_from: 74
+ network: false
+ to: 42
+ direction_out:
+ - from: 34
+ to: 50
+ - from: 10
+ to: 45
+ inner_vlan_to: 34
+ - from: 45
+ dot1q_tunnel_to: all
+ - from: 55
+ vlan_forwarding_accept_all: true
+ backup_link:
+ interface: Port-channel51
+ backup:
+ dest_macaddr: 01:00:00:00:00:00
+ mac_move_burst: 20
+ mac_move_burst_interval: 30
+ initial_mac_move_delay: 10
+ preemption_delay: 35
+
- name: Port-Channel100.101
type: l3dot1q
logging:
@@ -129,6 +237,7 @@ port_channel_interfaces:
mtu: 1500
ip_address: 10.1.1.3/31
encapsulation_dot1q_vlan: 101
+
- name: Port-Channel100.102
type: l3dot1q
logging:
@@ -144,7 +253,12 @@ port_channel_interfaces:
- name: Port-Channel8
description: to Dev02 Port-channel 8
- type: routed
+ switchport:
+ enabled: false
+ port_security:
+ violation:
+ mode: protect
+
- name: Port-Channel8.101
description: to Dev02 Port-Channel8.101 - VRF-C1
type: l3dot1q
@@ -167,24 +281,28 @@ port_channel_interfaces:
- name: Port-Channel20
description: Po_in_mode_access_accepting_tagged_LACP_frames
- type: switched
- mode: access
- vlans: 200
+ switchport:
+ enabled: true
+ mode: access
+ access_vlan: 200
l2_protocol:
encapsulation_dot1q_vlan: 200
- name: Port-Channel12
description: interface_in_mode_access_with_voice
- type: switched
- native_vlan: 100
- mode: "trunk phone"
- phone:
- trunk: untagged
- vlan: 70
+ switchport:
+ enabled: true
+ mode: "trunk phone"
+ trunk:
+ native_vlan: 100
+ phone:
+ trunk: untagged
+ vlan: 70
- name: Port-Channel13
- type: switched
description: EVPN-Vxlan single-active redundancy
+ switchport:
+ enabled: true
evpn_ethernet_segment:
redundancy: single-active
identifier: "0000:0000:0000:0102:0304"
@@ -229,36 +347,44 @@ port_channel_interfaces:
interval: 15
- name: Port-Channel101
- type: switched
description: PVLAN Promiscuous Access - only one secondary
- mode: access
- vlans: 110
- pvlan_mapping: 111
+ switchport:
+ enabled: true
+ mode: access
+ access_vlan: 110
+ pvlan_mapping: 111
qos:
trust: disabled
- name: Port-Channel102
- type: switched
description: PVLAN Promiscuous Trunk - vlan translation out
- mode: trunk
- vlans: 110-112
- vlan_translations:
- - direction: out
- from: 111-112
- to: 110
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110-112
+ vlan_translations:
+ out_required: true
+ direction_out:
+ - from: 111-112
+ to: 110
- name: Port-Channel103
- type: switched
description: PVLAN Secondary Trunk
- mode: trunk
- vlans: 110-112
- trunk_private_vlan_secondary: true
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110-112
+ private_vlan_secondary: true
- name: Port-Channel104
- type: switched
description: LACP fallback individual
- mode: trunk
- vlans: 112
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 112
lacp_fallback_timeout: 300
lacp_fallback_mode: individual
@@ -287,10 +413,11 @@ port_channel_interfaces:
spanning_tree_bpdufilter: false # No config should be rendered for this case
- name: Port-Channel109
- type: switched
description: Molecule ACLs
- mode: access
- vlans: 110
+ switchport:
+ enabled: true
+ mode: access
+ access_vlan: 110
access_group_in: IPV4_ACL_IN
access_group_out: IPV4_ACL_OUT
ipv6_access_group_in: IPV6_ACL_IN
@@ -314,12 +441,14 @@ port_channel_interfaces:
- name: Port-Channel111
description: Flexencap Port-Channel
type: routed
+
- name: Port-Channel111.1
type: l2dot1q
description: TENANT_A pseudowire 1 interface
encapsulation_vlan:
client:
unmatched: true
+
- name: Port-Channel111.100
type: l2dot1q
description: TENANT_A pseudowire 2 interface
@@ -329,6 +458,7 @@ port_channel_interfaces:
vlan: 100
network:
client: true
+
- name: Port-Channel111.200
type: l2dot1q
description: TENANT_A pseudowire 3 interface
@@ -336,6 +466,7 @@ port_channel_interfaces:
client:
dot1q:
vlan: 200
+
- name: Port-Channel111.300
type: l2dot1q
description: TENANT_A pseudowire 4 interface
@@ -346,6 +477,7 @@ port_channel_interfaces:
network:
dot1q:
vlan: 400
+
- name: Port-Channel111.400
type: l2dot1q
description: TENANT_A pseudowire 3 interface
@@ -358,6 +490,7 @@ port_channel_interfaces:
dot1q:
outer: 401
inner: 21
+
- name: Port-Channel111.1000
type: l2dot1q
description: L2 Subinterface
@@ -374,10 +507,12 @@ port_channel_interfaces:
lacp_id: 0303.0202.0101
- name: Port-Channel112
- type: switched
description: LACP fallback individual
- mode: trunk
- vlans: 112
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 112
lacp_fallback_timeout: 5
lacp_fallback_mode: individual
@@ -401,11 +536,13 @@ port_channel_interfaces:
interface: false
- name: Port-Channel115
- type: switched
description: native-vlan-tag-precedence
- native_vlan_tag: true
- native_vlan: 100
- mode: trunk
+ switchport:
+ enabled: true
+ trunk:
+ native_vlan_tag: true
+ native_vlan: 100
+ mode: trunk
- name: Port-Channel117
description: interface_with_sflow_ingress_egress_enabled
@@ -441,16 +578,19 @@ port_channel_interfaces:
- name: Port-Channel121
description: access_port_with_no_vlans
- type: switched
- mode: access
+ switchport:
+ enabled: true
+ mode: access
- name: Port-Channel122
description: trunk_port_with_no_vlans
- type: switched
- mode: trunk
+ switchport:
+ enabled: true
+ mode: trunk
- name: Port-Channel130
- type: switched
+ switchport:
+ enabled: true
description: IP NAT Testing
ip_nat:
destination:
@@ -471,9 +611,10 @@ port_channel_interfaces:
- name: Port-Channel131
description: dot1q-tunnel mode
- type: switched
- mode: dot1q-tunnel
- vlans: 115
+ switchport:
+ enabled: true
+ mode: dot1q-tunnel
+ access_vlan: 115
# Children interfaces
ethernet_interfaces:
@@ -586,13 +727,15 @@ ethernet_interfaces:
mode: active
- name: Ethernet10/4
- type: switched
description: LAG Member LACP fallback
channel_group:
id: 104
mode: active
- mode: trunk
- vlans: 100
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 100
spanning_tree_portfast: edge
- name: Ethernet18
@@ -620,13 +763,15 @@ ethernet_interfaces:
mode: active
- name: Ethernet11/2
- type: switched
description: LAG Member LACP fallback LLDP ZTP VLAN
channel_group:
id: 112
mode: active
- mode: trunk
- vlans: 112
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 112
spanning_tree_portfast: edge
lldp:
ztp_vlan: 112
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/ptp.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/ptp.yml
index 274c48bce9b..74f27af9a3f 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/ptp.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/ptp.yml
@@ -40,10 +40,12 @@ ptp:
# port-channels
port_channel_interfaces:
- name: Port-Channel5
- type: switched
description: DC1_L2LEAF1_Po1
- vlans: 110,201
- mode: trunk
+ switchport:
+ enabled: true
+ trunk:
+ allowed_vlan: 110,201
+ mode: trunk
mlag: 5
ptp:
enable: true
@@ -65,9 +67,11 @@ ethernet_interfaces:
peer_interface: Ethernet5
peer_type: spine
description: P2P_LINK_TO_DC1-SPINE2_Ethernet5
- type: switched
- mode: trunk
- vlans: 2,14
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 2,14
ptp:
enable: true
delay_mechanism: e2e
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/qos.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/qos.yml
index 4cf0c2fdb1b..2ca4b940207 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/qos.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/qos.yml
@@ -300,13 +300,15 @@ ethernet_interfaces:
dscp: 48
- name: Ethernet6
- type: switched
peer: SRV-POD02
peer_interface: Eth1
peer_type: server
description: SRV-POD02_Eth1
- mode: trunk
- vlans: 110-111,210-211
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110-111,210-211
service_profile: experiment
qos:
trust: cos
@@ -338,13 +340,15 @@ ethernet_interfaces:
mode: active
- name: Ethernet7
- type: switched
peer: SRV-POD03
peer_interface: Eth1
peer_type: server
description: Test-with-policymap
- mode: trunk
- vlans: 110-111,210-211
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 110-111,210-211
service_profile: qprof_testwithpolicy
uc_tx_queues:
- id: 4
@@ -355,13 +359,15 @@ ethernet_interfaces:
### Port-Channel Interfaces ###
port_channel_interfaces:
- name: Port-Channel3
- type: switched
description: MLAG_PEER_DC1-LEAF1B_Po3
- vlans: "2-4094"
- mode: trunk
- trunk_groups:
- - LEAF_PEER_L3
- - MLAG
+ switchport:
+ enabled: true
+ trunk:
+ allowed_vlan: "2-4094"
+ groups:
+ - LEAF_PEER_L3
+ - MLAG
+ mode: trunk
service_profile: experiment
service_policy:
qos:
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/sync-e.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/sync-e.yml
index c7672fe18bc..7572a0af808 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/sync-e.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/sync-e.yml
@@ -10,9 +10,11 @@ ethernet_interfaces:
peer_interface: Ethernet5
peer_type: spine
description: P2P_LINK_TO_DC1-SPINE2_Ethernet5
- type: switched
- mode: trunk
- vlans: 2,14
+ switchport:
+ enabled: true
+ mode: trunk
+ trunk:
+ allowed_vlan: 2,14
sync_e:
enable: true
priority: 10
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md
index 29d4da0f37d..08a6367f44b 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md
@@ -2,3 +2,136 @@
## Table of Contents
+- [Interfaces](#interfaces)
+ - [Ethernet Interfaces](#ethernet-interfaces)
+ - [Port-Channel Interfaces](#port-channel-interfaces)
+
+## Interfaces
+
+### Ethernet Interfaces
+
+#### Ethernet Interfaces Summary
+
+##### L2
+
+| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
+| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
+| Ethernet1 | - | access | 100 | - | - | - |
+| Ethernet2 | - | trunk | 110 | 10 | group1, group2 | - |
+| Ethernet3 | - | trunk phone | - | tag | - | - |
+| Ethernet4 | - | - | - | - | - | - |
+
+*Inherited from Port-Channel Interface
+
+##### Private VLAN
+
+| Interface | PVLAN Mapping | Secondary Trunk |
+| --------- | ------------- | ----------------|
+| Ethernet4 | 2,3,4 | True |
+
+##### VLAN Translations
+
+| Interface | Direction | From VLAN ID(s) | To VLAN ID | From Inner VLAN ID | To Inner VLAN ID | Network | Dot1q-tunnel |
+| --------- | --------- | --------------- | ---------- | ------------------ | ---------------- | ------- | ------------ |
+| Ethernet4 | in | 23 | 50 | - | - | - | - |
+| Ethernet4 | out | 25 | 49 | - | - | - | - |
+| Ethernet4 | both | 34 | 60 | - | - | - | - |
+
+##### Phone Interfaces
+
+| Interface | Mode | Native VLAN | Phone VLAN | Phone VLAN Mode |
+| --------- | ---- | ----------- | ---------- | --------------- |
+| Ethernet3 | trunk phone | 20 | 20 | tagged |
+| Port-Channel4 | trunk phone | 20 | 20 | tagged |
+
+#### Ethernet Interfaces Device Configuration
+
+```eos
+!
+interface Ethernet1
+ switchport access vlan 100
+ switchport mode access
+ switchport
+!
+interface Ethernet2
+ switchport trunk native vlan 10
+ switchport trunk allowed vlan 110
+ switchport mode trunk
+ switchport trunk group group1
+ switchport trunk group group2
+ switchport
+!
+interface Ethernet3
+ switchport trunk native vlan tag
+ switchport phone vlan 20
+ switchport phone trunk tagged
+ switchport mode trunk phone
+ switchport
+!
+interface Ethernet4
+ switchport vlan translation in 23 50
+ switchport vlan translation out 25 49
+ switchport vlan translation 34 60
+ switchport
+ switchport trunk private-vlan secondary
+ switchport pvlan mapping 2,3,4
+```
+
+### Port-Channel Interfaces
+
+#### Port-Channel Interfaces Summary
+
+##### L2
+
+| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
+| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
+| Port-Channel2 | - | access | 100 | - | - | - | - | - | - |
+| Port-Channel3 | - | trunk | 110 | 10 | group1, group2 | - | - | - | - |
+| Port-Channel4 | - | trunk phone | - | tag | - | - | - | - | - |
+| Port-Channel5 | - | - | - | - | - | - | - | - | - |
+
+##### Private VLAN
+
+| Interface | PVLAN Mapping | Secondary Trunk |
+| --------- | ------------- | ----------------|
+| Port-Channel5 | 2,3,4 | True |
+
+##### VLAN Translations
+
+| Interface | Direction | From VLAN ID(s) | To VLAN ID | From Inner VLAN ID | To Inner VLAN ID | Network | Dot1q-tunnel |
+| --------- | --------- | --------------- | ---------- | ------------------ | ---------------- | ------- | ------------ |
+| Port-Channel5 | in | 23 | 50 | - | - | - | - |
+| Port-Channel5 | out | 25 | 49 | - | - | - | - |
+| Port-Channel5 | both | 34 | 60 | - | - | - | - |
+
+#### Port-Channel Interfaces Device Configuration
+
+```eos
+!
+interface Port-Channel2
+ switchport
+ switchport access vlan 100
+!
+interface Port-Channel3
+ switchport
+ switchport trunk allowed vlan 110
+ switchport trunk native vlan 10
+ switchport mode trunk
+ switchport trunk group group1
+ switchport trunk group group2
+!
+interface Port-Channel4
+ switchport
+ switchport trunk native vlan tag
+ switchport phone vlan 20
+ switchport phone trunk tagged
+ switchport mode trunk phone
+!
+interface Port-Channel5
+ switchport
+ switchport trunk private-vlan secondary
+ switchport pvlan mapping 2,3,4
+ switchport vlan translation in 23 50
+ switchport vlan translation out 25 49
+ switchport vlan translation 34 60
+```
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg
index e69de29bb2d..a74d8ef2bd1 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg
@@ -0,0 +1,55 @@
+!
+interface Port-Channel2
+ switchport
+ switchport access vlan 100
+!
+interface Port-Channel3
+ switchport
+ switchport trunk allowed vlan 110
+ switchport trunk native vlan 10
+ switchport mode trunk
+ switchport trunk group group1
+ switchport trunk group group2
+!
+interface Port-Channel4
+ switchport
+ switchport trunk native vlan tag
+ switchport phone vlan 20
+ switchport phone trunk tagged
+ switchport mode trunk phone
+!
+interface Port-Channel5
+ switchport
+ switchport trunk private-vlan secondary
+ switchport pvlan mapping 2,3,4
+ switchport vlan translation in 23 50
+ switchport vlan translation out 25 49
+ switchport vlan translation 34 60
+!
+interface Ethernet1
+ switchport access vlan 100
+ switchport mode access
+ switchport
+!
+interface Ethernet2
+ switchport trunk native vlan 10
+ switchport trunk allowed vlan 110
+ switchport mode trunk
+ switchport trunk group group1
+ switchport trunk group group2
+ switchport
+!
+interface Ethernet3
+ switchport trunk native vlan tag
+ switchport phone vlan 20
+ switchport phone trunk tagged
+ switchport mode trunk phone
+ switchport
+!
+interface Ethernet4
+ switchport vlan translation in 23 50
+ switchport vlan translation out 25 49
+ switchport vlan translation 34 60
+ switchport
+ switchport trunk private-vlan secondary
+ switchport pvlan mapping 2,3,4
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/ethernet-interfaces-switchport.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/ethernet-interfaces-switchport.yml
new file mode 100644
index 00000000000..b85f08ef514
--- /dev/null
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/ethernet-interfaces-switchport.yml
@@ -0,0 +1,44 @@
+---
+### Ethernet Interfaces ###
+
+# Testing deprecated keys for switchport config in ethernet_interfaces
+# The deprecated keys listed below will be removed in AVD6.0.0:
+# mode, vlans, native_vlan, native_vlan_tag, trunk_groups, phone, vlan_translations, trunk_private_vlan_secondary, pvlan_mapping
+ethernet_interfaces:
+ - name: Ethernet1
+ type: switched
+ mode: access
+ vlans: 100
+
+ - name: Ethernet2
+ type: switched
+ mode: trunk
+ vlans: 110
+ native_vlan: 10
+ trunk_groups:
+ - group1
+ - group2
+
+ - name: Ethernet3
+ type: switched
+ native_vlan_tag: true
+ native_vlan: 20
+ mode: trunk phone
+ phone:
+ vlan: 20
+ trunk: tagged
+
+ - name: Ethernet4
+ type: switched
+ vlan_translations:
+ - from: 23
+ to: 50
+ direction: in
+ - from: 25
+ to: 49
+ direction: out
+ - from: 34
+ to: 60
+ direction: both
+ trunk_private_vlan_secondary: true
+ pvlan_mapping: "2,3,4"
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/port-channel-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/port-channel-interfaces.yml
new file mode 100644
index 00000000000..acd24fdb106
--- /dev/null
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/port-channel-interfaces.yml
@@ -0,0 +1,42 @@
+### Port-Channel Interfaces ###
+# Testing deprecated keys for switchport config in port-channel_interfaces
+# The deprecated keys listed below will be removed in AVD6.0.0:
+# mode, vlans, native_vlan, native_vlan_tag, trunk_groups, phone, vlan_translations, trunk_private_vlan_secondary, pvlan_mapping
+port_channel_interfaces:
+ - name: Port-Channel2
+ type: switched
+ mode: access
+ vlans: 100
+
+ - name: Port-Channel3
+ type: switched
+ mode: trunk
+ vlans: 110
+ native_vlan: 10
+ trunk_groups:
+ - group1
+ - group2
+
+ - name: Port-Channel4
+ type: switched
+ native_vlan_tag: true
+ native_vlan: 20
+ mode: trunk phone
+ phone:
+ vlan: 20
+ trunk: tagged
+
+ - name: Port-Channel5
+ type: switched
+ vlan_translations:
+ - from: 23
+ to: 50
+ direction: in
+ - from: 25
+ to: 49
+ direction: out
+ - from: 34
+ to: 60
+ direction: both
+ trunk_private_vlan_secondary: true
+ pvlan_mapping: "2,3,4"
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-BL1A.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-BL1A.md
index eec216d2756..09046512e6d 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-BL1A.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-BL1A.md
@@ -307,8 +307,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-BL1B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-BL1B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-BL1B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-BL1B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -372,7 +372,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-BL1B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-BL1B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-BL1B.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-BL1B.md
index 151043eb13e..0ce83ea3ec2 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-BL1B.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-BL1B.md
@@ -307,8 +307,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-BL1A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-BL1A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-BL1A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-BL1A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -372,7 +372,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-BL1A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-BL1A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-L2LEAF2A.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-L2LEAF2A.md
index 651f6ab333f..3a79df45677 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-L2LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-L2LEAF2A.md
@@ -328,8 +328,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-SVC3A_Ethernet7 | *trunk | *110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | *- | *- | 1 |
| Ethernet2 | DC1-SVC3B_Ethernet7 | *trunk | *110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -367,7 +367,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | DC1_SVC3_Po7 | trunk | 110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-L2LEAF2B.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-L2LEAF2B.md
index 1bff797c502..16a2334a63c 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-L2LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-L2LEAF2B.md
@@ -328,8 +328,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-SVC3A_Ethernet8 | *trunk | *110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | *- | *- | 1 |
| Ethernet2 | DC1-SVC3B_Ethernet8 | *trunk | *110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -367,7 +367,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | DC1_SVC3_Po7 | trunk | 110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF1A.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF1A.md
index 68428465948..5c788fd70f9 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF1A.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF1A.md
@@ -254,8 +254,8 @@ vlan 131
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet6 | server02_SINGLE_NODE_TRUNK_Eth1 | trunk | 110-111,210-211 | - | - | - |
-| Ethernet7 | server02_SINGLE_NODE_Eth1 | access | 110 | - | - | - |
+| Ethernet6 | server02_SINGLE_NODE_TRUNK_Eth1 | trunk | 110-111,210-211 | - | - | - |
+| Ethernet7 | server02_SINGLE_NODE_Eth1 | access | 110 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF2A.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF2A.md
index c1e9779efe1..20cb5f98dc7 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF2A.md
@@ -361,8 +361,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF2B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF2B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF2B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF2B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF1A_Ethernet1 | *trunk | *110-111,120-121,130-131 | *- | *- | 7 |
| Ethernet10 | server01_MLAG_Eth2 | *trunk | *210-211 | *- | *- | 10 |
@@ -438,7 +438,7 @@ interface Ethernet10
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF2B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF2B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1-L2LEAF1A_Po1 | trunk | 110-111,120-121,130-131 | - | - | - | - | 7 | - |
| Port-Channel10 | server01_MLAG_PortChanne1 | trunk | 210-211 | - | - | - | - | 10 | - |
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF2B.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF2B.md
index 3907b5d33fb..5b90bd39483 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-LEAF2B.md
@@ -361,8 +361,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF2A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF2A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF2A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF2A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF1A_Ethernet2 | *trunk | *110-111,120-121,130-131 | *- | *- | 7 |
| Ethernet10 | server01_MLAG_Eth3 | *trunk | *210-211 | *- | *- | 10 |
@@ -438,7 +438,7 @@ interface Ethernet10
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF2A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF2A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1-L2LEAF1A_Po1 | trunk | 110-111,120-121,130-131 | - | - | - | - | 7 | - |
| Port-Channel10 | server01_MLAG_PortChanne1 | trunk | 210-211 | - | - | - | - | 10 | - |
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-SVC3A.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-SVC3A.md
index 403ef7c6228..134c79b6e99 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-SVC3A.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-SVC3A.md
@@ -388,8 +388,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF2A_Ethernet1 | *trunk | *110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet8 | DC1-L2LEAF2B_Ethernet1 | *trunk | *110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet10 | server03_ESI_Eth1 | *trunk | *110-111,210-211 | *- | *- | 10 |
@@ -471,7 +471,7 @@ interface Ethernet10
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1_L2LEAF2_Po1 | trunk | 110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | - | - | - | - | 7 | - |
| Port-Channel10 | server03_ESI_PortChanne1 | trunk | 110-111,210-211 | - | - | - | - | - | 0000:0000:0303:0202:0101 |
diff --git a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-SVC3B.md b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-SVC3B.md
index 7f434e82e40..499bf035997 100644
--- a/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-SVC3B.md
+++ b/ansible_collections/arista/avd/molecule/eos_config_deploy_cvp/documentation/devices/DC1-SVC3B.md
@@ -388,8 +388,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF2A_Ethernet2 | *trunk | *110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet8 | DC1-L2LEAF2B_Ethernet2 | *trunk | *110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | *- | *- | 7 |
@@ -465,7 +465,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1_L2LEAF2_Po1 | trunk | 110-111,120-121,130-131,140-141,150,210-211,250,310-311,350 | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-LEAF1.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-LEAF1.md
index 1676f8a0d14..692df7538a9 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-LEAF1.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-LEAF1.md
@@ -116,11 +116,11 @@ vlan 4092
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | BGP-SPINE1_Ethernet1 | *trunk | *1,100,200,4092 | *- | *- | 1 |
| Ethernet2 | BGP-SPINE2_Ethernet1 | *trunk | *1,100,200,4092 | *- | *- | 1 |
-| Ethernet10 | Endpoint | access | 100 | - | - | - |
-| Ethernet11 | Endpoint | access | 100 | - | - | - |
-| Ethernet12 | IP Phone | trunk phone | - | 100 | - | - |
-| Ethernet13 | IP Phone | trunk phone | - | 100 | - | - |
-| Ethernet14 | IP Phone with no native VLAN | trunk phone | - | - | - | - |
+| Ethernet10 | Endpoint | access | 100 | - | - | - |
+| Ethernet11 | Endpoint | access | 100 | - | - | - |
+| Ethernet12 | IP Phone | trunk phone | - | 100 | - | - |
+| Ethernet13 | IP Phone | trunk phone | - | 100 | - | - |
+| Ethernet14 | IP Phone with no native VLAN | trunk phone | - | - | - | - |
*Inherited from Port-Channel Interface
@@ -130,7 +130,7 @@ vlan 4092
| --------- | ---- | ----------- | ---------- | --------------- |
| Ethernet12 | trunk phone | 100 | 200 | untagged |
| Ethernet13 | trunk phone | 100 | 200 | untagged |
-| Ethernet14 | trunk phone | 1 | 200 | untagged |
+| Ethernet14 | trunk phone | - | 200 | untagged |
#### Ethernet Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-LEAF2.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-LEAF2.md
index 7055f27d09f..ad49a8a9048 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-LEAF2.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-LEAF2.md
@@ -108,8 +108,8 @@ vlan 4092
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | BGP-SPINE1_Ethernet2 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | BGP-SPINE2_Ethernet2 | *trunk | *100,4092 | *- | *- | 1 |
-| Ethernet10 | Endpoint | access | 100 | - | - | - |
-| Ethernet11 | Endpoint | access | 100 | - | - | - |
+| Ethernet10 | Endpoint | access | 100 | - | - | - |
+| Ethernet11 | Endpoint | access | 100 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-SPINE1.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-SPINE1.md
index af8dbc5b462..689d99b1e03 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-SPINE1.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-SPINE1.md
@@ -176,8 +176,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | BGP-LEAF1_Ethernet1 | *trunk | *1,100,200,4092 | *- | *- | 1 |
| Ethernet2 | BGP-LEAF2_Ethernet1 | *trunk | *100,4092 | *- | *- | 2 |
-| Ethernet3 | MLAG_PEER_BGP-SPINE2_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_BGP-SPINE2_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_BGP-SPINE2_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_BGP-SPINE2_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -229,7 +229,7 @@ interface Ethernet5
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | BGP-LEAF1_Po1 | trunk | 1,100,200,4092 | - | - | - | - | 1 | - |
| Port-Channel2 | BGP-LEAF2_Po1 | trunk | 100,4092 | - | - | - | - | 2 | - |
-| Port-Channel3 | MLAG_PEER_BGP-SPINE2_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_BGP-SPINE2_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-SPINE2.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-SPINE2.md
index 31e8767f638..58d9d6c58ff 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-SPINE2.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/BGP-SPINE2.md
@@ -176,8 +176,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | BGP-LEAF1_Ethernet2 | *trunk | *1,100,200,4092 | *- | *- | 1 |
| Ethernet2 | BGP-LEAF2_Ethernet2 | *trunk | *100,4092 | *- | *- | 2 |
-| Ethernet3 | MLAG_PEER_BGP-SPINE1_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_BGP-SPINE1_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_BGP-SPINE1_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_BGP-SPINE1_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -229,7 +229,7 @@ interface Ethernet5
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | BGP-LEAF1_Po1 | trunk | 1,100,200,4092 | - | - | - | - | 1 | - |
| Port-Channel2 | BGP-LEAF2_Po1 | trunk | 100,4092 | - | - | - | - | 2 | - |
-| Port-Channel3 | MLAG_PEER_BGP-SPINE1_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_BGP-SPINE1_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/ISIS-SPINE1.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/ISIS-SPINE1.md
index d016d441223..cec71eb16f4 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/ISIS-SPINE1.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/ISIS-SPINE1.md
@@ -138,7 +138,7 @@ vlan 4092
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | ISIS-LEAF1_Ethernet1 | *trunk | *110,4092 | *- | *- | 1 |
-| Ethernet10 | Endpoint | access | 110 | - | - | - |
+| Ethernet10 | Endpoint | access | 110 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-LEAF1.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-LEAF1.md
index 8e2360f21ab..4eafe67e699 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-LEAF1.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-LEAF1.md
@@ -108,8 +108,8 @@ vlan 4092
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | L2ONLY-SPINE1_Ethernet1 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | L2ONLY-SPINE2_Ethernet1 | *trunk | *100,4092 | *- | *- | 1 |
-| Ethernet10 | Endpoint | access | 100 | - | - | - |
-| Ethernet11 | Endpoint | access | 100 | - | - | - |
+| Ethernet10 | Endpoint | access | 100 | - | - | - |
+| Ethernet11 | Endpoint | access | 100 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-LEAF2.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-LEAF2.md
index 7352d0105d9..04035a6b7b7 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-LEAF2.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-LEAF2.md
@@ -108,8 +108,8 @@ vlan 4092
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | L2ONLY-SPINE1_Ethernet2 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | L2ONLY-SPINE2_Ethernet2 | *trunk | *100,4092 | *- | *- | 1 |
-| Ethernet10 | Endpoint | access | 100 | - | - | - |
-| Ethernet11 | Endpoint | access | 100 | - | - | - |
+| Ethernet10 | Endpoint | access | 100 | - | - | - |
+| Ethernet11 | Endpoint | access | 100 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-SPINE1.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-SPINE1.md
index 7748f0d136b..844194ebc10 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-SPINE1.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-SPINE1.md
@@ -155,8 +155,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | L2ONLY-LEAF1_Ethernet1 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | L2ONLY-LEAF2_Ethernet1 | *trunk | *100,4092 | *- | *- | 2 |
-| Ethernet3 | MLAG_PEER_L2ONLY-SPINE2_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_L2ONLY-SPINE2_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_L2ONLY-SPINE2_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_L2ONLY-SPINE2_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -195,7 +195,7 @@ interface Ethernet4
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | L2ONLY-LEAF1_Po1 | trunk | 100,4092 | - | - | - | - | 1 | - |
| Port-Channel2 | L2ONLY-LEAF2_Po1 | trunk | 100,4092 | - | - | - | - | 2 | - |
-| Port-Channel3 | MLAG_PEER_L2ONLY-SPINE2_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_L2ONLY-SPINE2_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-SPINE2.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-SPINE2.md
index a20ea65f5bf..d6cb3982193 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-SPINE2.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/L2ONLY-SPINE2.md
@@ -155,8 +155,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | L2ONLY-LEAF1_Ethernet2 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | L2ONLY-LEAF2_Ethernet2 | *trunk | *100,4092 | *- | *- | 2 |
-| Ethernet3 | MLAG_PEER_L2ONLY-SPINE1_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_L2ONLY-SPINE1_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_L2ONLY-SPINE1_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_L2ONLY-SPINE1_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -195,7 +195,7 @@ interface Ethernet4
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | L2ONLY-LEAF1_Po1 | trunk | 100,4092 | - | - | - | - | 1 | - |
| Port-Channel2 | L2ONLY-LEAF2_Po1 | trunk | 100,4092 | - | - | - | - | 2 | - |
-| Port-Channel3 | MLAG_PEER_L2ONLY-SPINE1_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_L2ONLY-SPINE1_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-LEAF1.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-LEAF1.md
index 0765836d781..65da6ee477b 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-LEAF1.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-LEAF1.md
@@ -108,8 +108,8 @@ vlan 4092
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | OSPF-SPINE1_Ethernet1 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | OSPF-SPINE2_Ethernet1 | *trunk | *100,4092 | *- | *- | 1 |
-| Ethernet10 | Endpoint | access | 100 | - | - | - |
-| Ethernet11 | Endpoint | access | 100 | - | - | - |
+| Ethernet10 | Endpoint | access | 100 | - | - | - |
+| Ethernet11 | Endpoint | access | 100 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-LEAF2.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-LEAF2.md
index f1405dd8559..1fac3aed177 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-LEAF2.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-LEAF2.md
@@ -108,8 +108,8 @@ vlan 4092
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | OSPF-SPINE1_Ethernet2 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | OSPF-SPINE2_Ethernet2 | *trunk | *100,4092 | *- | *- | 1 |
-| Ethernet10 | Endpoint | access | 100 | - | - | - |
-| Ethernet11 | Endpoint | access | 100 | - | - | - |
+| Ethernet10 | Endpoint | access | 100 | - | - | - |
+| Ethernet11 | Endpoint | access | 100 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-SPINE1.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-SPINE1.md
index 951562f355f..25422a56e96 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-SPINE1.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-SPINE1.md
@@ -162,8 +162,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | OSPF-LEAF1_Ethernet1 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | OSPF-LEAF2_Ethernet1 | *trunk | *100,4092 | *- | *- | 2 |
-| Ethernet3 | MLAG_PEER_OSPF-SPINE2_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_OSPF-SPINE2_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_OSPF-SPINE2_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_OSPF-SPINE2_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -217,7 +217,7 @@ interface Ethernet5
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | OSPF-LEAF1_Po1 | trunk | 100,4092 | - | - | - | - | 1 | - |
| Port-Channel2 | OSPF-LEAF2_Po1 | trunk | 100,4092 | - | - | - | - | 2 | - |
-| Port-Channel3 | MLAG_PEER_OSPF-SPINE2_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_OSPF-SPINE2_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-SPINE2.md b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-SPINE2.md
index 992c021fe2e..bfcc0f12dc9 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-SPINE2.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-l2ls/documentation/devices/OSPF-SPINE2.md
@@ -162,8 +162,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | OSPF-LEAF1_Ethernet2 | *trunk | *100,4092 | *- | *- | 1 |
| Ethernet2 | OSPF-LEAF2_Ethernet2 | *trunk | *100,4092 | *- | *- | 2 |
-| Ethernet3 | MLAG_PEER_OSPF-SPINE1_Ethernet3 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_OSPF-SPINE1_Ethernet4 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_OSPF-SPINE1_Ethernet3 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
+| Ethernet4 | MLAG_PEER_OSPF-SPINE1_Ethernet4 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -217,7 +217,7 @@ interface Ethernet5
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | OSPF-LEAF1_Po1 | trunk | 100,4092 | - | - | - | - | 1 | - |
| Port-Channel2 | OSPF-LEAF2_Po1 | trunk | 100,4092 | - | - | - | - | 2 | - |
-| Port-Channel3 | MLAG_PEER_OSPF-SPINE1_Po3 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_OSPF-SPINE1_Po3 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-mpls-isis-sr-ldp/documentation/devices/SITE2-LER1.md b/ansible_collections/arista/avd/molecule/eos_designs-mpls-isis-sr-ldp/documentation/devices/SITE2-LER1.md
index b40f8132826..ff77528a2af 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-mpls-isis-sr-ldp/documentation/devices/SITE2-LER1.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-mpls-isis-sr-ldp/documentation/devices/SITE2-LER1.md
@@ -175,7 +175,7 @@ vlan 2020
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet8 | CPE_TENANT_A_SITE2_eth0 | trunk | 10 | - | - | - |
+| Ethernet8 | CPE_TENANT_A_SITE2_eth0 | trunk | 10 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-L2LEAF2A.md b/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-L2LEAF2A.md
index d21e9f9ad48..3bc8ebfe654 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-L2LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-L2LEAF2A.md
@@ -239,8 +239,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1.POD1.LEAF2A_Ethernet3 | *trunk | *110-113,1100-1102,2500,2600-2601,4085 | *- | *- | 1 |
| Ethernet2 | DC1-POD1-LEAF2B_Ethernet3 | *trunk | *110-113,1100-1102,2500,2600-2601,4085 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-POD1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-POD1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-POD1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-POD1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -278,7 +278,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | RACK2_MLAG_Po3 | trunk | 110-113,1100-1102,2500,2600-2601,4085 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-POD1-L2LEAF2B_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-POD1-L2LEAF2B_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-L2LEAF2B.md b/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-L2LEAF2B.md
index d831553c308..014871916b5 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-L2LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-L2LEAF2B.md
@@ -267,8 +267,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1.POD1.LEAF2A_Ethernet4 | *trunk | *110-113,1100-1102,2500,2600-2601,4085 | *- | *- | 1 |
| Ethernet2 | DC1-POD1-LEAF2B_Ethernet4 | *trunk | *110-113,1100-1102,2500,2600-2601,4085 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-POD1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-POD1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-POD1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-POD1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -306,7 +306,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | RACK2_MLAG_Po3 | trunk | 110-113,1100-1102,2500,2600-2601,4085 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-POD1-L2LEAF2A_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-POD1-L2LEAF2A_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-LEAF2B.md b/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-LEAF2B.md
index 9fbc0678f62..ddc405befee 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1-POD1-LEAF2B.md
@@ -292,8 +292,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet3 | DC1-POD1-L2LEAF2A_Ethernet2 | *trunk | *110-113,1100-1102,2500,2600-2601,4085 | *- | *- | 3 |
| Ethernet4 | DC1-POD1-L2LEAF2B_Ethernet2 | *trunk | *110-113,1100-1102,2500,2600-2601,4085 | *- | *- | 3 |
-| Ethernet5 | MLAG_PEER_DC1.POD1.LEAF2A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1.POD1.LEAF2A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1.POD1.LEAF2A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1.POD1.LEAF2A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet16 | server-1_Eth2 | *access | *110 | *- | *- | 16 |
| Ethernet17 | Set using structured_config on server adapter | *access | *110 | *- | *- | 17 |
| Ethernet18 | server-1_Eth6 | *access | *110 | *- | *- | 18 |
@@ -424,7 +424,7 @@ interface Ethernet19
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel3 | RACK2_MLAG_Po1 | trunk | 110-113,1100-1102,2500,2600-2601,4085 | - | - | - | - | 3 | - |
-| Port-Channel5 | MLAG_PEER_DC1.POD1.LEAF2A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1.POD1.LEAF2A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel16 | server-1_PortChannel | access | 110 | - | - | - | - | 16 | - |
| Port-Channel17 | Set using structured_config on server adapter port-channel | access | 110 | - | - | - | - | 17 | - |
| Port-Channel18 | server-1_PortChannel | access | 110 | - | - | - | - | 18 | - |
diff --git a/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1.POD1.LEAF2A.md b/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1.POD1.LEAF2A.md
index a8405db825f..b791f6cab75 100644
--- a/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1.POD1.LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/eos_designs-twodc-5stage-clos/documentation/devices/DC1.POD1.LEAF2A.md
@@ -268,8 +268,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet3 | DC1-POD1-L2LEAF2A_Ethernet1 | *trunk | *110-113,1100-1102,2500,2600-2601,4085 | *- | *- | 3 |
| Ethernet4 | DC1-POD1-L2LEAF2B_Ethernet1 | *trunk | *110-113,1100-1102,2500,2600-2601,4085 | *- | *- | 3 |
-| Ethernet5 | MLAG_PEER_DC1-POD1-LEAF2B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-POD1-LEAF2B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-POD1-LEAF2B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-POD1-LEAF2B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet16 | server-1_Eth1 | *access | *110 | *- | *- | 16 |
| Ethernet17 | Set using structured_config on server adapter | *access | *110 | *- | *- | 17 |
| Ethernet18 | server-1_Eth5 | *access | *110 | *- | *- | 18 |
@@ -399,7 +399,7 @@ interface Ethernet19
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel3 | RACK2_MLAG_Po1 | trunk | 110-113,1100-1102,2500,2600-2601,4085 | - | - | - | - | 3 | - |
-| Port-Channel5 | MLAG_PEER_DC1-POD1-LEAF2B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-POD1-LEAF2B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel16 | server-1_PortChannel | access | 110 | - | - | - | - | 16 | - |
| Port-Channel17 | Set using structured_config on server adapter port-channel | access | 110 | - | - | - | - | 17 | - |
| Port-Channel18 | server-1_PortChannel | access | 110 | - | - | - | - | 18 | - |
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF1A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF1A.md
index 4e849913daf..5905875040b 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF1A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF1A.md
@@ -336,8 +336,8 @@ vlan 4091
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | CUSTOM_DC1-LEAF2A_Ethernet7 | *trunk | *110-111,120-124,130-131,160-162 | *- | *- | 1 |
| Ethernet2 | CUSTOM_DC1-LEAF2B_Ethernet7 | *trunk | *110-111,120-124,130-131,160-162 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF1B_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF1B_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF1B_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF1B_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -375,7 +375,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | CUSTOM_DC1_LEAF2_Po7 | trunk | 110-111,120-124,130-131,160-162 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF1B_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF1B_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF1B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF1B.md
index e54aea784d3..4bf1b175ad7 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF1B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF1B.md
@@ -336,8 +336,8 @@ vlan 4091
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | CUSTOM_DC1-LEAF2A_Ethernet8 | *trunk | *110-111,120-124,130-131,160-162 | *- | *- | 1 |
| Ethernet2 | CUSTOM_DC1-LEAF2B_Ethernet8 | *trunk | *110-111,120-124,130-131,160-162 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF1A_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF1A_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF1A_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF1A_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -375,7 +375,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | CUSTOM_DC1_LEAF2_Po7 | trunk | 110-111,120-124,130-131,160-162 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF1A_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF1A_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
index 2bfeae90d18..29c5ca49945 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
@@ -374,8 +374,8 @@ vlan 4091
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | CUSTOM_DC1-SVC3A_Ethernet7 | *trunk | *110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | *- | *- | 1 |
| Ethernet2 | CUSTOM_DC1-SVC3B_Ethernet7 | *trunk | *110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -413,7 +413,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | CUSTOM_DC1_SVC3_Po7 | trunk | 110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
index 0862e05e342..94496d972a1 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
@@ -374,8 +374,8 @@ vlan 4091
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | CUSTOM_DC1-SVC3A_Ethernet8 | *trunk | *110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | *- | *- | 1 |
| Ethernet2 | CUSTOM_DC1-SVC3B_Ethernet8 | *trunk | *110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -413,7 +413,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | CUSTOM_DC1_SVC3_Po7 | trunk | 110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF1A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF1A.md
index 106dafc73a4..6fcb8ce9ffe 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF1A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF1A.md
@@ -289,8 +289,8 @@ vlan 131
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet6 | CUSTOM_server02_SINGLE_NODE_TRUNK_Eth1 | trunk | 1-4094 | - | - | - |
-| Ethernet7 | CUSTOM_server02_SINGLE_NODE_Eth1 | access | 110 | - | - | - |
+| Ethernet6 | CUSTOM_server02_SINGLE_NODE_TRUNK_Eth1 | trunk | 1-4094 | - | - | - |
+| Ethernet7 | CUSTOM_server02_SINGLE_NODE_Eth1 | access | 110 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
index 9ef2bb40293..f607454b1b3 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
@@ -359,10 +359,10 @@ vlan 311
| Ethernet9 | CUSTOM_DC1-L2LEAF3A_Ethernet1 | *trunk | *110-111,120-124,130-131,160-162 | *- | *- | 9 |
| Ethernet10 | CUSTOM_server01_MLAG_Eth2 | *trunk | *210-211 | *- | *- | 10 |
| Ethernet11 | CUSTOM_server01_MTU_PROFILE_MLAG_Eth4 | *access | *110 | *- | *- | 11 |
-| Ethernet12 | CUSTOM_server01_MTU_ADAPTOR_MLAG_Eth6 | *access | *- | *- | *- | 12 |
-| Ethernet13 | CUSTOM_server01_MTU_ADAPTOR_MLAG_Eth8 | *access | *- | *- | *- | 12 |
+| Ethernet12 | CUSTOM_server01_MTU_ADAPTOR_MLAG_Eth6 | *- | *- | *- | *- | 12 |
+| Ethernet13 | CUSTOM_server01_MTU_ADAPTOR_MLAG_Eth8 | *- | *- | *- | *- | 12 |
| Ethernet20 | CUSTOM_FIREWALL01_E0 | *trunk | *110-111,210-211 | *- | *- | 20 |
-| Ethernet21 | CUSTOM_ROUTER01_Eth0 | access | 110 | - | - | - |
+| Ethernet21 | CUSTOM_ROUTER01_Eth0 | access | 110 | - | - | - |
*Inherited from Port-Channel Interface
@@ -471,7 +471,7 @@ interface Ethernet21
| Port-Channel9 | CUSTOM_DC1-L2LEAF3A_Po1 | trunk | 110-111,120-124,130-131,160-162 | - | - | - | - | - | 0000:1234:0606:0707:0808 |
| Port-Channel10 | CUSTOM_server01_MLAG_PortChanne1 | trunk | 210-211 | - | - | - | - | - | - |
| Port-Channel11 | CUSTOM_server01_MTU_PROFILE_MLAG_PortChanne1 | access | 110 | - | - | - | - | - | - |
-| Port-Channel12 | CUSTOM_server01_MTU_ADAPTOR_MLAG_PortChanne1 | access | - | - | - | - | - | - | - |
+| Port-Channel12 | CUSTOM_server01_MTU_ADAPTOR_MLAG_PortChanne1 | - | - | - | - | - | - | - | - |
| Port-Channel20 | CUSTOM_FIREWALL01_PortChanne1 | trunk | 110-111,210-211 | - | - | - | - | - | - |
##### EVPN Multihoming
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
index 329bd9c59e4..6ac8da5704a 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
@@ -359,10 +359,10 @@ vlan 311
| Ethernet9 | CUSTOM_DC1-L2LEAF3A_Ethernet2 | *trunk | *110-111,120-124,130-131,160-162 | *- | *- | 9 |
| Ethernet10 | CUSTOM_server01_MLAG_Eth3 | *trunk | *210-211 | *- | *- | 10 |
| Ethernet11 | CUSTOM_server01_MTU_PROFILE_MLAG_Eth5 | *access | *110 | *- | *- | 11 |
-| Ethernet12 | CUSTOM_server01_MTU_ADAPTOR_MLAG_Eth7 | *access | *- | *- | *- | 12 |
-| Ethernet13 | CUSTOM_server01_MTU_ADAPTOR_MLAG_Eth9 | *access | *- | *- | *- | 12 |
+| Ethernet12 | CUSTOM_server01_MTU_ADAPTOR_MLAG_Eth7 | *- | *- | *- | *- | 12 |
+| Ethernet13 | CUSTOM_server01_MTU_ADAPTOR_MLAG_Eth9 | *- | *- | *- | *- | 12 |
| Ethernet20 | CUSTOM_FIREWALL01_E1 | *trunk | *110-111,210-211 | *- | *- | 20 |
-| Ethernet21 | CUSTOM_ROUTER01_Eth1 | access | 110 | - | - | - |
+| Ethernet21 | CUSTOM_ROUTER01_Eth1 | access | 110 | - | - | - |
*Inherited from Port-Channel Interface
@@ -471,7 +471,7 @@ interface Ethernet21
| Port-Channel9 | CUSTOM_DC1-L2LEAF3A_Po1 | trunk | 110-111,120-124,130-131,160-162 | - | - | - | - | - | 0000:1234:0606:0707:0808 |
| Port-Channel10 | CUSTOM_server01_MLAG_PortChanne1 | trunk | 210-211 | - | - | - | - | - | - |
| Port-Channel11 | CUSTOM_server01_MTU_PROFILE_MLAG_PortChanne1 | access | 110 | - | - | - | - | - | - |
-| Port-Channel12 | CUSTOM_server01_MTU_ADAPTOR_MLAG_PortChanne1 | access | - | - | - | - | - | - | - |
+| Port-Channel12 | CUSTOM_server01_MTU_ADAPTOR_MLAG_PortChanne1 | - | - | - | - | - | - | - | - |
| Port-Channel20 | CUSTOM_FIREWALL01_PortChanne1 | trunk | 110-111,210-211 | - | - | - | - | - | - |
##### EVPN Multihoming
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-SVC3A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-SVC3A.md
index c61c2a122df..260bd2b2f47 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-SVC3A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-SVC3A.md
@@ -430,22 +430,22 @@ vlan 4092
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | CUSTOM_MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | CUSTOM_MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | CUSTOM_MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | CUSTOM_MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | CUSTOM_DC1-L2LEAF2A_Ethernet1 | *trunk | *110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet8 | CUSTOM_DC1-L2LEAF2B_Ethernet1 | *trunk | *110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet10 | CUSTOM_server03_ESI_Eth1 | *trunk | *110-111,210-211 | *- | *- | 10 |
-| Ethernet11 | CUSTOM_server04_inherit_all_from_profile_Eth1 | trunk | 1-4094 | - | - | - |
-| Ethernet12 | CUSTOM_server05_no_profile_Eth1 | trunk | 1-4094 | - | - | - |
-| Ethernet13 | CUSTOM_server06_override_profile_Eth1 | access | 210 | - | - | - |
+| Ethernet11 | CUSTOM_server04_inherit_all_from_profile_Eth1 | trunk | 1-4094 | - | - | - |
+| Ethernet12 | CUSTOM_server05_no_profile_Eth1 | trunk | 1-4094 | - | - | - |
+| Ethernet13 | CUSTOM_server06_override_profile_Eth1 | access | 210 | - | - | - |
| Ethernet14 | CUSTOM_server07_inherit_all_from_profile_port_channel_Eth1 | *trunk | *1-4094 | *- | *- | 14 |
| Ethernet15 | CUSTOM_server08_no_profile_port_channel_Eth1 | *trunk | *1-4094 | *- | *- | 15 |
-| Ethernet16 | CUSTOM_server09_override_profile_no_port_channel_Eth1 | access | 210 | - | - | - |
+| Ethernet16 | CUSTOM_server09_override_profile_no_port_channel_Eth1 | access | 210 | - | - | - |
| Ethernet17 | CUSTOM_server10_no_profile_port_channel_lacp_fallback_Eth1 | *trunk | *1-4094 | *- | *- | 17 |
| Ethernet18 | CUSTOM_server11_inherit_profile_port_channel_lacp_fallback_Eth1 | *trunk | *1-4094 | *- | *- | 18 |
| Ethernet19 | CUSTOM_server12_inherit_nested_profile_port_channel_lacp_fallback_Eth1 | *trunk | *1-4094 | *- | *- | 19 |
-| Ethernet20 | CUSTOM_server13_disabled_interfaces_Eth1 | access | 110 | - | - | - |
-| Ethernet21 | CUSTOM_server14_explicitly_enabled_interfaces_Eth1 | access | 110 | - | - | - |
+| Ethernet20 | CUSTOM_server13_disabled_interfaces_Eth1 | access | 110 | - | - | - |
+| Ethernet21 | CUSTOM_server14_explicitly_enabled_interfaces_Eth1 | access | 110 | - | - | - |
| Ethernet22 | CUSTOM_server15_port_channel_disabled_interfaces_Eth1 | *access | *110 | *- | *- | 22 |
*Inherited from Port-Channel Interface
@@ -631,7 +631,7 @@ interface Ethernet44
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | CUSTOM_MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | CUSTOM_MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | CUSTOM_DC1_L2LEAF2_Po1 | trunk | 110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | - | - | - | - | 7 | - |
| Port-Channel10 | CUSTOM_server03_ESI_PortChanne1 | trunk | 110-111,210-211 | - | - | - | - | - | 0000:1234:0303:0202:0101 |
| Port-Channel14 | CUSTOM_server07_inherit_all_from_profile_port_channel_ALL_WITH_SECURITY_PORT_CHANNEL | trunk | 1-4094 | - | - | - | - | 14 | - |
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-SVC3B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-SVC3B.md
index 0ddc4dcf3f2..b3a62c0fb20 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-SVC3B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ebgp_overlay_ebgp/documentation/devices/DC1-SVC3B.md
@@ -430,22 +430,22 @@ vlan 4092
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | CUSTOM_MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | CUSTOM_MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | CUSTOM_MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | CUSTOM_MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | CUSTOM_DC1-L2LEAF2A_Ethernet2 | *trunk | *110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet8 | CUSTOM_DC1-L2LEAF2B_Ethernet2 | *trunk | *110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet10 | CUSTOM_server03_ESI_Eth2 | *trunk | *110-111,210-211 | *- | *- | 10 |
-| Ethernet11 | CUSTOM_server04_inherit_all_from_profile_Eth2 | trunk | 1-4094 | - | - | - |
-| Ethernet12 | CUSTOM_server05_no_profile_Eth2 | trunk | 1-4094 | - | - | - |
-| Ethernet13 | CUSTOM_server06_override_profile_Eth2 | access | 210 | - | - | - |
+| Ethernet11 | CUSTOM_server04_inherit_all_from_profile_Eth2 | trunk | 1-4094 | - | - | - |
+| Ethernet12 | CUSTOM_server05_no_profile_Eth2 | trunk | 1-4094 | - | - | - |
+| Ethernet13 | CUSTOM_server06_override_profile_Eth2 | access | 210 | - | - | - |
| Ethernet14 | CUSTOM_server07_inherit_all_from_profile_port_channel_Eth2 | *trunk | *1-4094 | *- | *- | 14 |
| Ethernet15 | CUSTOM_server08_no_profile_port_channel_Eth2 | *trunk | *1-4094 | *- | *- | 15 |
-| Ethernet16 | CUSTOM_server09_override_profile_no_port_channel_Eth2 | access | 210 | - | - | - |
+| Ethernet16 | CUSTOM_server09_override_profile_no_port_channel_Eth2 | access | 210 | - | - | - |
| Ethernet17 | CUSTOM_server10_no_profile_port_channel_lacp_fallback_Eth2 | *trunk | *1-4094 | *- | *- | 17 |
| Ethernet18 | CUSTOM_server11_inherit_profile_port_channel_lacp_fallback_Eth2 | *trunk | *1-4094 | *- | *- | 18 |
| Ethernet19 | CUSTOM_server12_inherit_nested_profile_port_channel_lacp_fallback_Eth2 | *trunk | *1-4094 | *- | *- | 19 |
-| Ethernet20 | CUSTOM_server13_disabled_interfaces_Eth2 | access | 110 | - | - | - |
-| Ethernet21 | CUSTOM_server14_explicitly_enabled_interfaces_Eth2 | access | 110 | - | - | - |
+| Ethernet20 | CUSTOM_server13_disabled_interfaces_Eth2 | access | 110 | - | - | - |
+| Ethernet21 | CUSTOM_server14_explicitly_enabled_interfaces_Eth2 | access | 110 | - | - | - |
| Ethernet22 | CUSTOM_server15_port_channel_disabled_interfaces_Eth2 | *access | *110 | *- | *- | 22 |
*Inherited from Port-Channel Interface
@@ -631,7 +631,7 @@ interface Ethernet44
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | CUSTOM_MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | CUSTOM_MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | CUSTOM_DC1_L2LEAF2_Po1 | trunk | 110-111,120-124,130-131,140-141,150,160-162,210-211,250,310-311,350 | - | - | - | - | 7 | - |
| Port-Channel10 | CUSTOM_server03_ESI_PortChanne1 | trunk | 110-111,210-211 | - | - | - | - | - | 0000:1234:0303:0202:0101 |
| Port-Channel14 | CUSTOM_server07_inherit_all_from_profile_port_channel_ALL_WITH_SECURITY_PORT_CHANNEL | trunk | 1-4094 | - | - | - | - | 14 | - |
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-BL1A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-BL1A.md
index dc6ec463f7d..9c6cc5da8a1 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-BL1A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-BL1A.md
@@ -281,8 +281,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-BL1B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-BL1B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-BL1B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-BL1B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -390,7 +390,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-BL1B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-BL1B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-BL1B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-BL1B.md
index 90058586fa5..28da8b5273d 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-BL1B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-BL1B.md
@@ -281,8 +281,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-BL1A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-BL1A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-BL1A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-BL1A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -375,7 +375,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-BL1A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-BL1A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-L2LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-L2LEAF2A.md
index 71b548a5bf5..d6f0be68e52 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-L2LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-L2LEAF2A.md
@@ -268,8 +268,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-SVC3A_Ethernet7 | *trunk | *none | *- | *- | 1 |
| Ethernet2 | DC1-SVC3B_Ethernet7 | *trunk | *none | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -307,7 +307,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | DC1_SVC3_Po7 | trunk | none | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-L2LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-L2LEAF2B.md
index deb2ac5a71b..259eaa09b13 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-L2LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-L2LEAF2B.md
@@ -268,8 +268,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-SVC3A_Ethernet8 | *trunk | *none | *- | *- | 1 |
| Ethernet2 | DC1-SVC3B_Ethernet8 | *trunk | *none | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -307,7 +307,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | DC1_SVC3_Po7 | trunk | none | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-LEAF2A.md
index b9fe50b4171..33e5490e456 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-LEAF2A.md
@@ -281,8 +281,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF2B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF2B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF2B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF2B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF1A_Ethernet1 | *trunk | *none | *- | *- | 7 |
*Inherited from Port-Channel Interface
@@ -381,7 +381,7 @@ interface Ethernet7
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF2B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF2B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1-L2LEAF1A_Po1 | trunk | none | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-LEAF2B.md
index 3b084431e62..795f799750b 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-LEAF2B.md
@@ -281,8 +281,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF2A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF2A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF2A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF2A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF1A_Ethernet2 | *trunk | *none | *- | *- | 7 |
*Inherited from Port-Channel Interface
@@ -381,7 +381,7 @@ interface Ethernet7
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF2A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF2A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1-L2LEAF1A_Po1 | trunk | none | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-SVC3A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-SVC3A.md
index f2227753fea..f97a0c15829 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-SVC3A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-SVC3A.md
@@ -276,8 +276,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF2A_Ethernet1 | *trunk | *none | *- | *- | 7 |
| Ethernet8 | DC1-L2LEAF2B_Ethernet1 | *trunk | *none | *- | *- | 7 |
@@ -382,7 +382,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1_L2LEAF2_Po1 | trunk | none | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-SVC3B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-SVC3B.md
index 61bce37e328..9ad94747426 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-SVC3B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_isis_overlay_ibgp/documentation/devices/DC1-SVC3B.md
@@ -276,8 +276,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF2A_Ethernet2 | *trunk | *none | *- | *- | 7 |
| Ethernet8 | DC1-L2LEAF2B_Ethernet2 | *trunk | *none | *- | *- | 7 |
@@ -382,7 +382,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1_L2LEAF2_Po1 | trunk | none | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-BL1A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-BL1A.md
index ae8d3540641..c289aad475e 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-BL1A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-BL1A.md
@@ -278,8 +278,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-BL1B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-BL1B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-BL1B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-BL1B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -359,7 +359,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-BL1B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-BL1B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-BL1B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-BL1B.md
index 8d6ade37533..6ce29464b08 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-BL1B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-BL1B.md
@@ -278,8 +278,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-BL1A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-BL1A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-BL1A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-BL1A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -359,7 +359,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-BL1A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-BL1A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
index 329349fb4ad..5a574714edf 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
@@ -272,8 +272,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-SVC3A_Ethernet7 | *trunk | *210 | *- | *- | 1 |
| Ethernet2 | DC1-SVC3B_Ethernet7 | *trunk | *210 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -311,7 +311,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | DC1_SVC3_Po7 | trunk | 210 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
index abf0bf85f49..ab00eca0b05 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
@@ -272,8 +272,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-SVC3A_Ethernet8 | *trunk | *210 | *- | *- | 1 |
| Ethernet2 | DC1-SVC3B_Ethernet8 | *trunk | *210 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -311,7 +311,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | DC1_SVC3_Po7 | trunk | 210 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
index a5ff953b3b1..e6c4630674e 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
@@ -289,8 +289,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF2B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF2B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF2B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF2B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF1A_Ethernet1 | *trunk | *210 | *- | *- | 7 |
*Inherited from Port-Channel Interface
@@ -376,7 +376,7 @@ interface Ethernet7
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF2B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF2B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1-L2LEAF1A_Po1 | trunk | 210 | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
index 11918e5887c..ab7ab7553c4 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
@@ -289,8 +289,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF2A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF2A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF2A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF2A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF1A_Ethernet2 | *trunk | *210 | *- | *- | 7 |
*Inherited from Port-Channel Interface
@@ -376,7 +376,7 @@ interface Ethernet7
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF2A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF2A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1-L2LEAF1A_Po1 | trunk | 210 | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-SVC3A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-SVC3A.md
index a5290e12b75..572b1fd2876 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-SVC3A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-SVC3A.md
@@ -284,8 +284,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF2A_Ethernet1 | *trunk | *210 | *- | *- | 7 |
| Ethernet8 | DC1-L2LEAF2B_Ethernet1 | *trunk | *210 | *- | *- | 7 |
@@ -377,7 +377,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1_L2LEAF2_Po1 | trunk | 210 | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-SVC3B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-SVC3B.md
index 2e985c0395d..605b9aaee03 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-SVC3B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_ospf_overlay_ebgp/documentation/devices/DC1-SVC3B.md
@@ -284,8 +284,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF2A_Ethernet2 | *trunk | *210 | *- | *- | 7 |
| Ethernet8 | DC1-L2LEAF2B_Ethernet2 | *trunk | *210 | *- | *- | 7 |
@@ -377,7 +377,7 @@ interface Ethernet8
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1_L2LEAF2_Po1 | trunk | 210 | - | - | - | - | 7 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
index dc7d1dbd78e..52f0536f142 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-L2LEAF2A.md
@@ -338,8 +338,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-SVC3A_Ethernet7 | *trunk | *110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | *- | *- | 1 |
| Ethernet2 | DC1-SVC3B_Ethernet7 | *trunk | *110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2B_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2B_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -377,7 +377,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | DC1_SVC3_Po7 | trunk | 110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2B_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
index 1a63d816e18..2a181119062 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-L2LEAF2B.md
@@ -338,8 +338,8 @@ vlan 4094
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
| Ethernet1 | DC1-SVC3A_Ethernet8 | *trunk | *110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | *- | *- | 1 |
| Ethernet2 | DC1-SVC3B_Ethernet8 | *trunk | *110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | *- | *- | 1 |
-| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *['MLAG'] | 3 |
-| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *['MLAG'] | 3 |
+| Ethernet3 | MLAG_PEER_DC1-L2LEAF2A_Ethernet3 | *trunk | *- | *- | *MLAG | 3 |
+| Ethernet4 | MLAG_PEER_DC1-L2LEAF2A_Ethernet4 | *trunk | *- | *- | *MLAG | 3 |
*Inherited from Port-Channel Interface
@@ -377,7 +377,7 @@ interface Ethernet4
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
| Port-Channel1 | DC1_SVC3_Po7 | trunk | 110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | - | - | - | - | 1 | - |
-| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | ['MLAG'] | - | - | - | - |
+| Port-Channel3 | MLAG_PEER_DC1-L2LEAF2A_Po3 | trunk | - | - | MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF1A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF1A.md
index e0ba84c5020..aeda30f8f5b 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF1A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF1A.md
@@ -271,8 +271,8 @@ vlan 131
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet6 | server02_SINGLE_NODE_TRUNK_Eth1 | trunk | 1-4094 | - | - | - |
-| Ethernet7 | server02_SINGLE_NODE_Eth1 | access | 110 | - | - | - |
+| Ethernet6 | server02_SINGLE_NODE_TRUNK_Eth1 | trunk | 1-4094 | - | - | - |
+| Ethernet7 | server02_SINGLE_NODE_Eth1 | access | 110 | - | - | - |
*Inherited from Port-Channel Interface
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
index 1572e2f7a42..d93324a4abb 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md
@@ -386,12 +386,12 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF2B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF2B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF2B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF2B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF1A_Ethernet1 | *trunk | *110-111,120-121,130-131,160-161 | *- | *- | 7 |
| Ethernet10 | server01_MLAG_Eth2 | *trunk | *210-211 | *- | *- | 10 |
| Ethernet11 | server01_MTU_PROFILE_MLAG_Eth4 | *access | *110 | *- | *- | 11 |
-| Ethernet12 | server01_MTU_ADAPTOR_MLAG_Eth6 | *access | *- | *- | *- | 12 |
+| Ethernet12 | server01_MTU_ADAPTOR_MLAG_Eth6 | *- | *- | *- | *- | 12 |
*Inherited from Port-Channel Interface
@@ -475,11 +475,11 @@ interface Ethernet12
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF2B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF2B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1-L2LEAF1A_Po1 | trunk | 110-111,120-121,130-131,160-161 | - | - | - | - | 7 | - |
| Port-Channel10 | server01_MLAG_PortChanne1 | trunk | 210-211 | - | - | - | - | 10 | - |
| Port-Channel11 | server01_MTU_PROFILE_MLAG_PortChanne1 | access | 110 | - | - | - | - | 11 | - |
-| Port-Channel12 | server01_MTU_ADAPTOR_MLAG_PortChanne1 | access | - | - | - | - | - | 12 | - |
+| Port-Channel12 | server01_MTU_ADAPTOR_MLAG_PortChanne1 | - | - | - | - | - | - | 12 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
index 5483d28ec2a..5fec08b8926 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md
@@ -386,12 +386,12 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF2A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF2A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF2A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF2A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF1A_Ethernet2 | *trunk | *110-111,120-121,130-131,160-161 | *- | *- | 7 |
| Ethernet10 | server01_MLAG_Eth3 | *trunk | *210-211 | *- | *- | 10 |
| Ethernet11 | server01_MTU_PROFILE_MLAG_Eth5 | *access | *110 | *- | *- | 11 |
-| Ethernet12 | server01_MTU_ADAPTOR_MLAG_Eth7 | *access | *- | *- | *- | 12 |
+| Ethernet12 | server01_MTU_ADAPTOR_MLAG_Eth7 | *- | *- | *- | *- | 12 |
*Inherited from Port-Channel Interface
@@ -475,11 +475,11 @@ interface Ethernet12
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF2A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF2A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1-L2LEAF1A_Po1 | trunk | 110-111,120-121,130-131,160-161 | - | - | - | - | 7 | - |
| Port-Channel10 | server01_MLAG_PortChanne1 | trunk | 210-211 | - | - | - | - | 10 | - |
| Port-Channel11 | server01_MTU_PROFILE_MLAG_PortChanne1 | access | 110 | - | - | - | - | 11 | - |
-| Port-Channel12 | server01_MTU_ADAPTOR_MLAG_PortChanne1 | access | - | - | - | - | - | 12 | - |
+| Port-Channel12 | server01_MTU_ADAPTOR_MLAG_PortChanne1 | - | - | - | - | - | - | 12 | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3A.md
index 7c5b9cef941..ddadbcf8c5a 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3A.md
@@ -387,8 +387,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF3B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF3B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF3B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF3B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -436,7 +436,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF3B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF3B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3B.md
index 4cc84a209c0..4bc675d2f03 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3B.md
@@ -387,8 +387,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF3A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF3A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF3A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF3A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -436,7 +436,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF3A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF3A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4A.md
index 0e2d1b16ac3..c723afefb14 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4A.md
@@ -387,8 +387,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF4B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF4B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF4B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF4B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -428,7 +428,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF4B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF4B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4B.md
index 8303a7e7e62..12eddf45ceb 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4B.md
@@ -387,8 +387,8 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-LEAF4A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-LEAF4A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-LEAF4A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-LEAF4A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
*Inherited from Port-Channel Interface
@@ -428,7 +428,7 @@ interface Ethernet6
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-LEAF4A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-LEAF4A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
#### Port-Channel Interfaces Device Configuration
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md
index ae30d84348f..3da27ab1819 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md
@@ -413,17 +413,17 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-SVC3B_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-SVC3B_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF2A_Ethernet1 | *trunk | *110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet8 | DC1-L2LEAF2B_Ethernet1 | *trunk | *110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet10 | server03_ESI_Eth1 | *trunk | *110-111,210-211 | *- | *- | 10 |
-| Ethernet11 | server04_inherit_all_from_profile_Eth1 | trunk | 1-4094 | - | - | - |
-| Ethernet12 | server05_no_profile_Eth1 | trunk | 1-4094 | - | - | - |
-| Ethernet13 | server06_override_profile_Eth1 | access | 210 | - | - | - |
+| Ethernet11 | server04_inherit_all_from_profile_Eth1 | trunk | 1-4094 | - | - | - |
+| Ethernet12 | server05_no_profile_Eth1 | trunk | 1-4094 | - | - | - |
+| Ethernet13 | server06_override_profile_Eth1 | access | 210 | - | - | - |
| Ethernet14 | server07_inherit_all_from_profile_port_channel_Eth1 | *trunk | *1-4094 | *- | *- | 14 |
| Ethernet15 | server08_no_profile_port_channel_Eth1 | *trunk | *1-4094 | *- | *- | 15 |
-| Ethernet16 | server09_override_profile_no_port_channel_Eth1 | access | 210 | - | - | - |
+| Ethernet16 | server09_override_profile_no_port_channel_Eth1 | access | 210 | - | - | - |
*Inherited from Port-Channel Interface
@@ -564,7 +564,7 @@ interface Ethernet16
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-SVC3B_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1_L2LEAF2_Po1 | trunk | 110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | - | - | - | - | 7 | - |
| Port-Channel10 | server03_ESI_PortChanne1 | trunk | 110-111,210-211 | - | - | - | - | - | 0000:0000:0303:0202:0101 |
| Port-Channel14 | server07_inherit_all_from_profile_port_channel_ALL_WITH_SECURITY_PORT_CHANNEL | trunk | 1-4094 | - | - | - | - | 14 | - |
diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md
index 79b0f63a7a2..55fe99c035a 100644
--- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md
+++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md
@@ -413,16 +413,16 @@ vlan 4094
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group |
| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- |
-| Ethernet5 | MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
-| Ethernet6 | MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *['LEAF_PEER_L3', 'MLAG'] | 5 |
+| Ethernet5 | MLAG_PEER_DC1-SVC3A_Ethernet5 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
+| Ethernet6 | MLAG_PEER_DC1-SVC3A_Ethernet6 | *trunk | *- | *- | *LEAF_PEER_L3, MLAG | 5 |
| Ethernet7 | DC1-L2LEAF2A_Ethernet2 | *trunk | *110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | *- | *- | 7 |
| Ethernet8 | DC1-L2LEAF2B_Ethernet2 | *trunk | *110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | *- | *- | 7 |
-| Ethernet11 | server04_inherit_all_from_profile_Eth2 | trunk | 1-4094 | - | - | - |
-| Ethernet12 | server05_no_profile_Eth2 | trunk | 1-4094 | - | - | - |
-| Ethernet13 | server06_override_profile_Eth2 | access | 210 | - | - | - |
+| Ethernet11 | server04_inherit_all_from_profile_Eth2 | trunk | 1-4094 | - | - | - |
+| Ethernet12 | server05_no_profile_Eth2 | trunk | 1-4094 | - | - | - |
+| Ethernet13 | server06_override_profile_Eth2 | access | 210 | - | - | - |
| Ethernet14 | server07_inherit_all_from_profile_port_channel_Eth2 | *trunk | *1-4094 | *- | *- | 14 |
| Ethernet15 | server08_no_profile_port_channel_Eth2 | *trunk | *1-4094 | *- | *- | 15 |
-| Ethernet16 | server09_override_profile_no_port_channel_Eth2 | access | 210 | - | - | - |
+| Ethernet16 | server09_override_profile_no_port_channel_Eth2 | access | 210 | - | - | - |
*Inherited from Port-Channel Interface
@@ -558,7 +558,7 @@ interface Ethernet16
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
-| Port-Channel5 | MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | ['LEAF_PEER_L3', 'MLAG'] | - | - | - | - |
+| Port-Channel5 | MLAG_PEER_DC1-SVC3A_Po5 | trunk | - | - | LEAF_PEER_L3, MLAG | - | - | - | - |
| Port-Channel7 | DC1_L2LEAF2_Po1 | trunk | 110-111,120-121,130-131,140-141,150,160-161,210-211,250,310-311,350 | - | - | - | - | 7 | - |
| Port-Channel14 | server07_inherit_all_from_profile_port_channel_ALL_WITH_SECURITY_PORT_CHANNEL | trunk | 1-4094 | - | - | - | - | 14 | - |
| Port-Channel15 | server08_no_profile_port_channel_server08_no_profile_port_channel | trunk | 1-4094 | - | - | - | - | 15 | - |
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/ethernet-interfaces.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/ethernet-interfaces.md
index 407df496afe..857b2191b8b 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/ethernet-interfaces.md
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/ethernet-interfaces.md
@@ -16,19 +16,19 @@
| [ mtu](## "ethernet_interfaces.[].mtu") | Integer | | | Min: 68
Max: 65535 | |
| [ l2_mtu](## "ethernet_interfaces.[].l2_mtu") | Integer | | | Min: 68
Max: 65535 | "l2_mtu" should only be defined for platforms supporting the "l2 mtu" CLI.
|
| [ l2_mru](## "ethernet_interfaces.[].l2_mru") | Integer | | | Min: 68
Max: 65535 | "l2_mru" should only be defined for platforms supporting the "l2 mru" CLI.
|
- | [ vlans](## "ethernet_interfaces.[].vlans") | String | | | | List of switchport vlans as string.
For a trunk port this would be a range like "1-200,300".
For an access port this would be a single vlan "123".
|
- | [ native_vlan](## "ethernet_interfaces.[].native_vlan") | Integer | | | | |
- | [ native_vlan_tag](## "ethernet_interfaces.[].native_vlan_tag") | Boolean | | | | If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence. |
- | [ mode](## "ethernet_interfaces.[].mode") | String | | | Valid Values:
- access
- dot1q-tunnel
- trunk
- trunk phone
| |
- | [ phone](## "ethernet_interfaces.[].phone") | Dictionary | | | | |
- | [ trunk](## "ethernet_interfaces.[].phone.trunk") | String | | | Valid Values:
- tagged
- tagged phone
- untagged
- untagged phone
| |
- | [ vlan](## "ethernet_interfaces.[].phone.vlan") | Integer | | | Min: 1
Max: 4094 | |
+ | [ vlans](## "ethernet_interfaces.[].vlans") deprecated | String | | | | List of switchport vlans as string.
For a trunk port this would be a range like "1-200,300".
For an access port this would be a single vlan "123".
This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.access_vlan or ethernet_interfaces[].switchport.trunk.allowed_vlan instead. |
+ | [ native_vlan](## "ethernet_interfaces.[].native_vlan") deprecated | Integer | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.trunk.native_vlan instead. |
+ | [ native_vlan_tag](## "ethernet_interfaces.[].native_vlan_tag") deprecated | Boolean | | | | If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.trunk.native_vlan_tag instead. |
+ | [ mode](## "ethernet_interfaces.[].mode") deprecated | String | | | Valid Values:
- access
- dot1q-tunnel
- trunk
- trunk phone
| This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.mode instead. |
+ | [ phone](## "ethernet_interfaces.[].phone") deprecated | Dictionary | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.phone instead. |
+ | [ trunk](## "ethernet_interfaces.[].phone.trunk") deprecated | String | | | Valid Values:
- tagged
- tagged phone
- untagged
- untagged phone
| This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.phone.trunk instead. |
+ | [ vlan](## "ethernet_interfaces.[].phone.vlan") deprecated | Integer | | | Min: 1
Max: 4094 | This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.phone.vlan instead. |
| [ l2_protocol](## "ethernet_interfaces.[].l2_protocol") | Dictionary | | | | |
| [ encapsulation_dot1q_vlan](## "ethernet_interfaces.[].l2_protocol.encapsulation_dot1q_vlan") | Integer | | | | Vlan tag to configure on sub-interface. |
| [ forwarding_profile](## "ethernet_interfaces.[].l2_protocol.forwarding_profile") | String | | | | L2 protocol forwarding profile. |
- | [ trunk_groups](## "ethernet_interfaces.[].trunk_groups") | List, items: String | | | | |
+ | [ trunk_groups](## "ethernet_interfaces.[].trunk_groups") deprecated | List, items: String | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.trunk.groups instead. |
| [ - <str>](## "ethernet_interfaces.[].trunk_groups.[]") | String | | | | |
- | [ type](## "ethernet_interfaces.[].type") | String | | | Valid Values:
- routed
- switched
- l3dot1q
- l2dot1q
- port-channel-member
| l3dot1q and l2dot1q are used for sub-interfaces. The parent interface should be defined as routed.
Interface will not be listed in device documentation, unless "type" is set.
|
+ | [ type](## "ethernet_interfaces.[].type") | String | | | Valid Values:
- routed
- switched
- l3dot1q
- l2dot1q
- port-channel-member
| l3dot1q and l2dot1q are used for sub-interfaces. The parent interface should be defined as routed.
The `type = switched/routed` should not be combined with `switchport`.
|
| [ snmp_trap_link_change](## "ethernet_interfaces.[].snmp_trap_link_change") | Boolean | | | | |
| [ address_locking](## "ethernet_interfaces.[].address_locking") | Dictionary | | | | |
| [ ipv4](## "ethernet_interfaces.[].address_locking.ipv4") | Boolean | | | | Enable address locking for IPv4. |
@@ -247,9 +247,9 @@
| [ transmit](## "ethernet_interfaces.[].lldp.transmit") | Boolean | | | | |
| [ receive](## "ethernet_interfaces.[].lldp.receive") | Boolean | | | | |
| [ ztp_vlan](## "ethernet_interfaces.[].lldp.ztp_vlan") | Integer | | | | ZTP vlan number. |
- | [ trunk_private_vlan_secondary](## "ethernet_interfaces.[].trunk_private_vlan_secondary") | Boolean | | | | |
- | [ pvlan_mapping](## "ethernet_interfaces.[].pvlan_mapping") | String | | | | List of vlans as string. |
- | [ vlan_translations](## "ethernet_interfaces.[].vlan_translations") | List, items: Dictionary | | | | |
+ | [ trunk_private_vlan_secondary](## "ethernet_interfaces.[].trunk_private_vlan_secondary") deprecated | Boolean | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.trunk.private_vlan_secondary instead. |
+ | [ pvlan_mapping](## "ethernet_interfaces.[].pvlan_mapping") deprecated | String | | | | List of vlans as string.This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.pvlan_mapping instead. |
+ | [ vlan_translations](## "ethernet_interfaces.[].vlan_translations") deprecated | List, items: Dictionary | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use ethernet_interfaces[].switchport.vlan_translations instead. |
| [ - from](## "ethernet_interfaces.[].vlan_translations.[].from") | String | | | | List of vlans as string (only one vlan if direction is "both"). |
| [ to](## "ethernet_interfaces.[].vlan_translations.[].to") | Integer | | | | VLAN ID. |
| [ direction](## "ethernet_interfaces.[].vlan_translations.[].direction") | String | | `both` | Valid Values:
- in
- out
- both
| |
@@ -400,7 +400,54 @@
| [ ipv6](## "ethernet_interfaces.[].vrrp_ids.[].ipv6") | Dictionary | | | | |
| [ address](## "ethernet_interfaces.[].vrrp_ids.[].ipv6.address") | String | Required | | | Virtual IPv6 address. |
| [ validate_state](## "ethernet_interfaces.[].validate_state") | Boolean | | | | Set to false to disable interface validation by the `eos_validate_state` role. |
- | [ switchport](## "ethernet_interfaces.[].switchport") | Dictionary | | | | |
+ | [ switchport](## "ethernet_interfaces.[].switchport") | Dictionary | | | | This should not be combined with `ethernet_interfaces[].type = switched/routed`. |
+ | [ enabled](## "ethernet_interfaces.[].switchport.enabled") | Boolean | | | | Warning: This should not be combined with `ethernet_interfaces[].type = routed`. |
+ | [ mode](## "ethernet_interfaces.[].switchport.mode") | String | | | Valid Values:
- access
- dot1q-tunnel
- trunk
- trunk phone
| Warning: This should not be combined with `ethernet_interfaces[].mode`. |
+ | [ access_vlan](## "ethernet_interfaces.[].switchport.access_vlan") | Integer | | | Min: 1
Max: 4094 | Set VLAN when interface is in access mode.
Warning: This should not be combined with `ethernet_interfaces[].mode = access/dot1q-tunnel` and `ethernet_interface[].vlans`. |
+ | [ trunk](## "ethernet_interfaces.[].switchport.trunk") | Dictionary | | | | |
+ | [ allowed_vlan](## "ethernet_interfaces.[].switchport.trunk.allowed_vlan") | String | | | | VLAN ID or range(s) of VLAN IDs.
Warning: This should not be combined with `ethernet_interfaces[].mode = trunk` and `ethernet_interface[].vlans`. |
+ | [ native_vlan](## "ethernet_interfaces.[].switchport.trunk.native_vlan") | Integer | | | Min: 1
Max: 4094 | Set native VLAN when interface is in trunking mode.
Warning: This should not be combined with `ethernet_interfaces[].native_vlan`. |
+ | [ native_vlan_tag](## "ethernet_interfaces.[].switchport.trunk.native_vlan_tag") | Boolean | | | | If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
Warning: This should not be combined with `ethernet_interfaces[].native_vlan_tag`. |
+ | [ private_vlan_secondary](## "ethernet_interfaces.[].switchport.trunk.private_vlan_secondary") | Boolean | | | | Enable secondary VLAN mapping for a private vlan.
Warning: This should not be combined with `ethernet_ineterfaces[].trunk_private_vlan_secondary`. |
+ | [ groups](## "ethernet_interfaces.[].switchport.trunk.groups") | List, items: String | | | | Warning: This should not be combined with `ethernet_ineterfaces[].trunk_groups`.
|
+ | [ - <str>](## "ethernet_interfaces.[].switchport.trunk.groups.[]") | String | | | | Trunk group name. |
+ | [ phone](## "ethernet_interfaces.[].switchport.phone") | Dictionary | | | | Warning: This should not be combined with `ethernet_interfaces[].phone`. |
+ | [ vlan](## "ethernet_interfaces.[].switchport.phone.vlan") | Integer | | | Min: 1
Max: 4094 | Warning: This should not be combined with `ethernet_interfaces[].phone.vlan`. |
+ | [ trunk](## "ethernet_interfaces.[].switchport.phone.trunk") | String | | | Valid Values:
- tagged
- tagged phone
- untagged
- untagged phone
| Warning: This should not be combined with `ethernet_interfaces[].phone.trunk`. |
+ | [ pvlan_mapping](## "ethernet_interfaces.[].switchport.pvlan_mapping") | String | | | | Secondary VLAN IDs of the private VLAN mapping.
Warning: This should not be combined with `ethernet_interfaces[].pvlan_mapping`. |
+ | [ dot1q](## "ethernet_interfaces.[].switchport.dot1q") | Dictionary | | | | |
+ | [ ethertype](## "ethernet_interfaces.[].switchport.dot1q.ethertype") | Integer | | | Min: 1536
Max: 65535 | Ethertype/TPID (Tag Protocol IDentifier) for VLAN tagged frames. |
+ | [ vlan_tag](## "ethernet_interfaces.[].switchport.dot1q.vlan_tag") | String | | | Valid Values:
- disallowed
- required
| Allow/disallow VLAN tagged frames. |
+ | [ source_interface](## "ethernet_interfaces.[].switchport.source_interface") | String | | | Valid Values:
- tx
- tx multicast
| tx: Allow bridged traffic to go out of the source interface.
tx multicast: Allow multicast traffic only to go out of the source interface. |
+ | [ vlan_translations](## "ethernet_interfaces.[].switchport.vlan_translations") | Dictionary | | | | VLAN Translation mappings.
Warning: This should not be combined with `ethernet_interfaces[].vlan_translations`. |
+ | [ in_required](## "ethernet_interfaces.[].switchport.vlan_translations.in_required") | Boolean | | | | Drop the ingress traffic that do not match any VLAN mapping. |
+ | [ out_required](## "ethernet_interfaces.[].switchport.vlan_translations.out_required") | Boolean | | | | Drop the egress traffic that do not match any VLAN mapping. |
+ | [ direction_in](## "ethernet_interfaces.[].switchport.vlan_translations.direction_in") | List, items: Dictionary | | | | Map ingress traffic only. |
+ | [ - from](## "ethernet_interfaces.[].switchport.vlan_translations.direction_in.[].from") | String | Required | | | VLAN ID or range of VLAN IDs to map from. Range 1-4094. |
+ | [ to](## "ethernet_interfaces.[].switchport.vlan_translations.direction_in.[].to") | Integer | Required | | Min: 1
Max: 4094 | VLAN ID to map to. |
+ | [ dot1q_tunnel](## "ethernet_interfaces.[].switchport.vlan_translations.direction_in.[].dot1q_tunnel") | Boolean | | | | |
+ | [ inner_vlan_from](## "ethernet_interfaces.[].switchport.vlan_translations.direction_in.[].inner_vlan_from") | Integer | | | Min: 1
Max: 4094 | Inner VLAN ID to map from. |
+ | [ direction_out](## "ethernet_interfaces.[].switchport.vlan_translations.direction_out") | List, items: Dictionary | | | | Map egress traffic only. |
+ | [ - from](## "ethernet_interfaces.[].switchport.vlan_translations.direction_out.[].from") | String | Required | | | VLAN ID or range of VLAN IDs to map from. Range 1-4094. |
+ | [ to](## "ethernet_interfaces.[].switchport.vlan_translations.direction_out.[].to") | Integer | | | Min: 1
Max: 4094 | VLAN ID to map to. |
+ | [ dot1q_tunnel_to](## "ethernet_interfaces.[].switchport.vlan_translations.direction_out.[].dot1q_tunnel_to") | String | | | | VLAN ID or range of VLAN IDs or "all". Range 1-4094.
This takes precedence over `to` and `inner_vlan_to`. |
+ | [ inner_vlan_to](## "ethernet_interfaces.[].switchport.vlan_translations.direction_out.[].inner_vlan_to") | Integer | | | Min: 1
Max: 4094 | Inner VLAN ID to map to. |
+ | [ direction_both](## "ethernet_interfaces.[].switchport.vlan_translations.direction_both") | List, items: Dictionary | | | | Map both egress and ingress traffic. |
+ | [ - from](## "ethernet_interfaces.[].switchport.vlan_translations.direction_both.[].from") | String | Required | | | VLAN ID or range of VLAN IDs to map from. Range 1-4094. |
+ | [ to](## "ethernet_interfaces.[].switchport.vlan_translations.direction_both.[].to") | Integer | Required | | Min: 1
Max: 4094 | VLAN ID to map to. |
+ | [ dot1q_tunnel](## "ethernet_interfaces.[].switchport.vlan_translations.direction_both.[].dot1q_tunnel") | Boolean | | | | |
+ | [ inner_vlan_from](## "ethernet_interfaces.[].switchport.vlan_translations.direction_both.[].inner_vlan_from") | Integer | | | Min: 1
Max: 4094 | Inner VLAN ID to map from. |
+ | [ network](## "ethernet_interfaces.[].switchport.vlan_translations.direction_both.[].network") | Boolean | | | | Enable use of network-side VLAN ID.
This setting can only be enabled when `inner_vlan_from` is defined. |
+ | [ vlan_forwarding_accept_all](## "ethernet_interfaces.[].switchport.vlan_forwarding_accept_all") | Boolean | | | | |
+ | [ backup_link](## "ethernet_interfaces.[].switchport.backup_link") | Dictionary | | | | |
+ | [ interface](## "ethernet_interfaces.[].switchport.backup_link.interface") | String | | | | Backup interface. Example - Ethernet4, Vlan10 etc. |
+ | [ prefer_vlan](## "ethernet_interfaces.[].switchport.backup_link.prefer_vlan") | String | | | | VLANs to carry on the backup interface (1-4094). |
+ | [ backup](## "ethernet_interfaces.[].switchport.backup") | Dictionary | | | | The `backup_link` is required for this setting. |
+ | [ dest_macaddr](## "ethernet_interfaces.[].switchport.backup.dest_macaddr") | String | | | Format: mac | Destination MAC address for MAC move updates.
The mac address should be multicast or broadcast.
Example: 01:00:00:00:00:00 |
+ | [ initial_mac_move_delay](## "ethernet_interfaces.[].switchport.backup.initial_mac_move_delay") | Integer | | | Min: 0
Max: 65535 | Initial MAC move delay in milliseconds. |
+ | [ mac_move_burst](## "ethernet_interfaces.[].switchport.backup.mac_move_burst") | Integer | | | Min: 0
Max: 65535 | Size of MAC move bursts. |
+ | [ mac_move_burst_interval](## "ethernet_interfaces.[].switchport.backup.mac_move_burst_interval") | Integer | | | Min: 0
Max: 65535 | MAC move burst interval in milliseconds. |
+ | [ preemption_delay](## "ethernet_interfaces.[].switchport.backup.preemption_delay") | Integer | | | Min: 0
Max: 65535 | Preemption delay in milliseconds. |
| [ port_security](## "ethernet_interfaces.[].switchport.port_security") | Dictionary | | | | |
| [ enabled](## "ethernet_interfaces.[].switchport.port_security.enabled") | Boolean | | | | |
| [ mac_address_maximum](## "ethernet_interfaces.[].switchport.port_security.mac_address_maximum") | Dictionary | | | | Maximum number of MAC addresses allowed on the interface. |
@@ -439,14 +486,35 @@
# List of switchport vlans as string.
# For a trunk port this would be a range like "1-200,300".
# For an access port this would be a single vlan "123".
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.access_vlan or ethernet_interfaces[].switchport.trunk.allowed_vlan instead.
vlans:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.trunk.native_vlan instead.
native_vlan:
# If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.trunk.native_vlan_tag instead.
native_vlan_tag:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.mode instead.
mode:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.phone instead.
phone:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.phone.trunk instead.
trunk:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.phone.vlan instead.
vlan:
l2_protocol:
@@ -455,11 +523,14 @@
# L2 protocol forwarding profile.
forwarding_profile:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.trunk.groups instead.
trunk_groups:
-
# l3dot1q and l2dot1q are used for sub-interfaces. The parent interface should be defined as routed.
- # Interface will not be listed in device documentation, unless "type" is set.
+ # The `type = switched/routed` should not be combined with `switchport`.
type:
snmp_trap_link_change:
address_locking:
@@ -865,10 +936,19 @@
# ZTP vlan number.
ztp_vlan:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.trunk.private_vlan_secondary instead.
trunk_private_vlan_secondary:
# List of vlans as string.
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.pvlan_mapping instead.
pvlan_mapping:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use ethernet_interfaces[].switchport.vlan_translations instead.
vlan_translations:
# List of vlans as string (only one vlan if direction is "both").
@@ -1137,7 +1217,150 @@
# Set to false to disable interface validation by the `eos_validate_state` role.
validate_state:
+
+ # This should not be combined with `ethernet_interfaces[].type = switched/routed`.
switchport:
+
+ # Warning: This should not be combined with `ethernet_interfaces[].type = routed`.
+ enabled:
+
+ # Warning: This should not be combined with `ethernet_interfaces[].mode`.
+ mode:
+
+ # Set VLAN when interface is in access mode.
+ # Warning: This should not be combined with `ethernet_interfaces[].mode = access/dot1q-tunnel` and `ethernet_interface[].vlans`.
+ access_vlan:
+ trunk:
+
+ # VLAN ID or range(s) of VLAN IDs.
+ # Warning: This should not be combined with `ethernet_interfaces[].mode = trunk` and `ethernet_interface[].vlans`.
+ allowed_vlan:
+
+ # Set native VLAN when interface is in trunking mode.
+ # Warning: This should not be combined with `ethernet_interfaces[].native_vlan`.
+ native_vlan:
+
+ # If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ # Warning: This should not be combined with `ethernet_interfaces[].native_vlan_tag`.
+ native_vlan_tag:
+
+ # Enable secondary VLAN mapping for a private vlan.
+ # Warning: This should not be combined with `ethernet_ineterfaces[].trunk_private_vlan_secondary`.
+ private_vlan_secondary:
+
+ # Warning: This should not be combined with `ethernet_ineterfaces[].trunk_groups`.
+ groups:
+
+ # Trunk group name.
+ -
+
+ # Warning: This should not be combined with `ethernet_interfaces[].phone`.
+ phone:
+
+ # Warning: This should not be combined with `ethernet_interfaces[].phone.vlan`.
+ vlan:
+
+ # Warning: This should not be combined with `ethernet_interfaces[].phone.trunk`.
+ trunk:
+
+ # Secondary VLAN IDs of the private VLAN mapping.
+ # Warning: This should not be combined with `ethernet_interfaces[].pvlan_mapping`.
+ pvlan_mapping:
+ dot1q:
+
+ # Ethertype/TPID (Tag Protocol IDentifier) for VLAN tagged frames.
+ ethertype:
+
+ # Allow/disallow VLAN tagged frames.
+ vlan_tag:
+
+ # tx: Allow bridged traffic to go out of the source interface.
+ # tx multicast: Allow multicast traffic only to go out of the source interface.
+ source_interface:
+
+ # VLAN Translation mappings.
+ # Warning: This should not be combined with `ethernet_interfaces[].vlan_translations`.
+ vlan_translations:
+
+ # Drop the ingress traffic that do not match any VLAN mapping.
+ in_required:
+
+ # Drop the egress traffic that do not match any VLAN mapping.
+ out_required:
+
+ # Map ingress traffic only.
+ direction_in:
+
+ # VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ - from:
+
+ # VLAN ID to map to.
+ to:
+ dot1q_tunnel:
+
+ # Inner VLAN ID to map from.
+ inner_vlan_from:
+
+ # Map egress traffic only.
+ direction_out:
+
+ # VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ - from:
+
+ # VLAN ID to map to.
+ to:
+
+ # VLAN ID or range of VLAN IDs or "all". Range 1-4094.
+ # This takes precedence over `to` and `inner_vlan_to`.
+ dot1q_tunnel_to:
+
+ # Inner VLAN ID to map to.
+ inner_vlan_to:
+
+ # Map both egress and ingress traffic.
+ direction_both:
+
+ # VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ - from:
+
+ # VLAN ID to map to.
+ to:
+ dot1q_tunnel:
+
+ # Inner VLAN ID to map from.
+ inner_vlan_from:
+
+ # Enable use of network-side VLAN ID.
+ # This setting can only be enabled when `inner_vlan_from` is defined.
+ network:
+ vlan_forwarding_accept_all:
+ backup_link:
+
+ # Backup interface. Example - Ethernet4, Vlan10 etc.
+ interface:
+
+ # VLANs to carry on the backup interface (1-4094).
+ prefer_vlan:
+
+ # The `backup_link` is required for this setting.
+ backup:
+
+ # Destination MAC address for MAC move updates.
+ # The mac address should be multicast or broadcast.
+ # Example: 01:00:00:00:00:00
+ dest_macaddr:
+
+ # Initial MAC move delay in milliseconds.
+ initial_mac_move_delay:
+
+ # Size of MAC move bursts.
+ mac_move_burst:
+
+ # MAC move burst interval in milliseconds.
+ mac_move_burst_interval:
+
+ # Preemption delay in milliseconds.
+ preemption_delay:
port_security:
enabled:
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md
index 8b5c713ce2a..c5d73708a51 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md
@@ -17,7 +17,7 @@
| [ shutdown](## "port_channel_interfaces.[].shutdown") | Boolean | | | | |
| [ l2_mtu](## "port_channel_interfaces.[].l2_mtu") | Integer | | | Min: 68
Max: 65535 | "l2_mtu" should only be defined for platforms supporting the "l2 mtu" CLI.
|
| [ l2_mru](## "port_channel_interfaces.[].l2_mru") | Integer | | | Min: 68
Max: 65535 | "l2_mru" should only be defined for platforms supporting the "l2 mru" CLI.
|
- | [ vlans](## "port_channel_interfaces.[].vlans") | String | | | | List of switchport vlans as string.
For a trunk port this would be a range like "1-200,300".
For an access port this would be a single vlan "123".
|
+ | [ vlans](## "port_channel_interfaces.[].vlans") deprecated | String | | | | List of switchport vlans as string.
For a trunk port this would be a range like "1-200,300".
For an access port this would be a single vlan "123".
This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.access_vlan or port_channel_interfaces[].switchport.trunk.allowed_vlan instead. |
| [ snmp_trap_link_change](## "port_channel_interfaces.[].snmp_trap_link_change") | Boolean | | | | |
| [ type](## "port_channel_interfaces.[].type") | String | | | Valid Values:
- routed
- switched
- l3dot1q
- l2dot1q
| l3dot1q and l2dot1q are used for sub-interfaces. The parent interface should be defined as routed.
Interface will not be listed in device documentation, unless "type" is set.
|
| [ encapsulation_dot1q_vlan](## "port_channel_interfaces.[].encapsulation_dot1q_vlan") | Integer | | | | VLAN tag to configure on sub-interface. |
@@ -36,21 +36,21 @@
| [ inner](## "port_channel_interfaces.[].encapsulation_vlan.network.dot1q.inner") | Integer | | | | Network Inner VLAN ID. |
| [ client](## "port_channel_interfaces.[].encapsulation_vlan.network.client") | Boolean | | | | |
| [ vlan_id](## "port_channel_interfaces.[].vlan_id") | Integer | | | Min: 1
Max: 4094 | |
- | [ mode](## "port_channel_interfaces.[].mode") | String | | | Valid Values:
- access
- dot1q-tunnel
- trunk
- trunk phone
| |
- | [ native_vlan](## "port_channel_interfaces.[].native_vlan") | Integer | | | | If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence. |
- | [ native_vlan_tag](## "port_channel_interfaces.[].native_vlan_tag") | Boolean | | `False` | | If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence. |
+ | [ mode](## "port_channel_interfaces.[].mode") deprecated | String | | | Valid Values:
- access
- dot1q-tunnel
- trunk
- trunk phone
| This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.mode instead. |
+ | [ native_vlan](## "port_channel_interfaces.[].native_vlan") deprecated | Integer | | | | If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.trunk.native_vlan instead. |
+ | [ native_vlan_tag](## "port_channel_interfaces.[].native_vlan_tag") deprecated | Boolean | | `False` | | If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.trunk.native_vlan_tag instead. |
| [ link_tracking_groups](## "port_channel_interfaces.[].link_tracking_groups") | List, items: Dictionary | | | | |
| [ - name](## "port_channel_interfaces.[].link_tracking_groups.[].name") | String | Required, Unique | | | Group name. |
| [ direction](## "port_channel_interfaces.[].link_tracking_groups.[].direction") | String | | | Valid Values:
- upstream
- downstream
| |
- | [ phone](## "port_channel_interfaces.[].phone") | Dictionary | | | | |
- | [ trunk](## "port_channel_interfaces.[].phone.trunk") | String | | | Valid Values:
- tagged
- untagged
| |
- | [ vlan](## "port_channel_interfaces.[].phone.vlan") | Integer | | | Min: 1
Max: 4094 | |
+ | [ phone](## "port_channel_interfaces.[].phone") deprecated | Dictionary | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.phone instead. |
+ | [ trunk](## "port_channel_interfaces.[].phone.trunk") deprecated | String | | | Valid Values:
- tagged
- untagged
| This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.phone.trunk instead. |
+ | [ vlan](## "port_channel_interfaces.[].phone.vlan") deprecated | Integer | | | Min: 1
Max: 4094 | This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.phone.vlan instead. |
| [ l2_protocol](## "port_channel_interfaces.[].l2_protocol") | Dictionary | | | | |
| [ encapsulation_dot1q_vlan](## "port_channel_interfaces.[].l2_protocol.encapsulation_dot1q_vlan") | Integer | | | | Vlan tag to configure on sub-interface. |
| [ forwarding_profile](## "port_channel_interfaces.[].l2_protocol.forwarding_profile") | String | | | | L2 protocol forwarding profile. |
| [ mtu](## "port_channel_interfaces.[].mtu") | Integer | | | Min: 68
Max: 65535 | |
| [ mlag](## "port_channel_interfaces.[].mlag") | Integer | | | Min: 1
Max: 2000 | MLAG ID. |
- | [ trunk_groups](## "port_channel_interfaces.[].trunk_groups") | List, items: String | | | | |
+ | [ trunk_groups](## "port_channel_interfaces.[].trunk_groups") deprecated | List, items: String | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.trunk.groups instead. |
| [ - <str>](## "port_channel_interfaces.[].trunk_groups.[]") | String | | | | |
| [ lacp_fallback_timeout](## "port_channel_interfaces.[].lacp_fallback_timeout") | Integer | | `90` | Min: 0
Max: 300 | Timeout in seconds. |
| [ lacp_fallback_mode](## "port_channel_interfaces.[].lacp_fallback_mode") | String | | | Valid Values:
- individual
- static
| |
@@ -77,9 +77,9 @@
| [ ldp](## "port_channel_interfaces.[].mpls.ldp") | Dictionary | | | | |
| [ interface](## "port_channel_interfaces.[].mpls.ldp.interface") | Boolean | | | | |
| [ igp_sync](## "port_channel_interfaces.[].mpls.ldp.igp_sync") | Boolean | | | | |
- | [ trunk_private_vlan_secondary](## "port_channel_interfaces.[].trunk_private_vlan_secondary") | Boolean | | | | |
- | [ pvlan_mapping](## "port_channel_interfaces.[].pvlan_mapping") | String | | | | List of vlans as string. |
- | [ vlan_translations](## "port_channel_interfaces.[].vlan_translations") | List, items: Dictionary | | | | |
+ | [ trunk_private_vlan_secondary](## "port_channel_interfaces.[].trunk_private_vlan_secondary") deprecated | Boolean | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.trunk.private_vlan_secondary instead. |
+ | [ pvlan_mapping](## "port_channel_interfaces.[].pvlan_mapping") deprecated | String | | | | List of vlans as string.This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.pvlan_mapping instead. |
+ | [ vlan_translations](## "port_channel_interfaces.[].vlan_translations") deprecated | List, items: Dictionary | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. Use port_channel_interfaces[].switchport.vlan_translations instead. |
| [ - from](## "port_channel_interfaces.[].vlan_translations.[].from") | String | | | | List of vlans as string (only one vlan if direction is "both"). |
| [ to](## "port_channel_interfaces.[].vlan_translations.[].to") | Integer | | | | VLAN ID. |
| [ direction](## "port_channel_interfaces.[].vlan_translations.[].direction") | String | | `both` | Valid Values:
- in
- out
- both
| |
@@ -246,6 +246,66 @@
| [ egress](## "port_channel_interfaces.[].sflow.egress") | Dictionary | | | | |
| [ enable](## "port_channel_interfaces.[].sflow.egress.enable") | Boolean | | | | |
| [ unmodified_enable](## "port_channel_interfaces.[].sflow.egress.unmodified_enable") | Boolean | | | | |
+ | [ switchport](## "port_channel_interfaces.[].switchport") | Dictionary | | | | |
+ | [ enabled](## "port_channel_interfaces.[].switchport.enabled") | Boolean | | | | Warning: This should not be combined with `port_channel_interfaces[].type = routed`. |
+ | [ mode](## "port_channel_interfaces.[].switchport.mode") | String | | | Valid Values:
- access
- dot1q-tunnel
- trunk
- trunk phone
| Warning: This should not be combined with `port_channel_interfaces[].mode` |
+ | [ access_vlan](## "port_channel_interfaces.[].switchport.access_vlan") | Integer | | | Min: 1
Max: 4094 | Set VLAN when interface is in access mode.
Warning: This should not be combined with `port_channel_interfaces[].mode = access/dot1q-tunnel` and `port_channel_interface.vlans`. |
+ | [ trunk](## "port_channel_interfaces.[].switchport.trunk") | Dictionary | | | | |
+ | [ allowed_vlan](## "port_channel_interfaces.[].switchport.trunk.allowed_vlan") | String | | | | VLAN ID or range(s) of VLAN IDs (1-4094).
Warning: This should not be combined with `port_channel_interfaces[].mode = trunk` and `port_channel_interfaces[].vlans`. |
+ | [ native_vlan](## "port_channel_interfaces.[].switchport.trunk.native_vlan") | Integer | | | Min: 1
Max: 4094 | Set native VLAN when interface is in trunking mode.
Warning: This should not be combined with `port_channel_interfaces[].native_vlan`. |
+ | [ native_vlan_tag](## "port_channel_interfaces.[].switchport.trunk.native_vlan_tag") | Boolean | | | | If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
Warning: This should not be combined with `port_channel_interfaces[].native_vlan_tag`. |
+ | [ private_vlan_secondary](## "port_channel_interfaces.[].switchport.trunk.private_vlan_secondary") | Boolean | | | | Enable secondary VLAN mapping for a private vlan.
Warning: This should not be combined with `port_channel_interfaces[].trunk_private_vlan_secondary`. |
+ | [ groups](## "port_channel_interfaces.[].switchport.trunk.groups") | List, items: String | | | | Warning: This should not be combined with `port_channel_interfaces[].trunk_groups`.
|
+ | [ - <str>](## "port_channel_interfaces.[].switchport.trunk.groups.[]") | String | | | | Trunk group name. |
+ | [ phone](## "port_channel_interfaces.[].switchport.phone") | Dictionary | | | | |
+ | [ vlan](## "port_channel_interfaces.[].switchport.phone.vlan") | Integer | | | Min: 1
Max: 4094 | Warning: This should not be combined with `port_channel_interfaces[].phone.vlan`. |
+ | [ trunk](## "port_channel_interfaces.[].switchport.phone.trunk") | String | | | Valid Values:
- tagged
- tagged phone
- untagged
- untagged phone
| Warning: This should not be combined with `port_channel_interfaces[].phone.trunk` |
+ | [ pvlan_mapping](## "port_channel_interfaces.[].switchport.pvlan_mapping") | String | | | | Secondary VLAN IDs of the private VLAN mapping.
Warning: This should not be combined with `port_channel_interfaces[].pvlan_mapping`. |
+ | [ dot1q](## "port_channel_interfaces.[].switchport.dot1q") | Dictionary | | | | |
+ | [ ethertype](## "port_channel_interfaces.[].switchport.dot1q.ethertype") | Integer | | | Min: 1536
Max: 65535 | Ethertype/TPID (Tag Protocol IDentifier) for VLAN tagged frames. |
+ | [ vlan_tag](## "port_channel_interfaces.[].switchport.dot1q.vlan_tag") | String | | | Valid Values:
- disallowed
- required
| |
+ | [ source_interface](## "port_channel_interfaces.[].switchport.source_interface") | String | | | Valid Values:
- tx
- tx multicast
| tx: Allow bridged traffic to go out of the source interface.
tx multicast: Allow multicast traffic only to go out of the source interface. |
+ | [ vlan_translations](## "port_channel_interfaces.[].switchport.vlan_translations") | Dictionary | | | | VLAN Translation mappings.
Warning: This should not be combined with `port_channel_interfaces[].vlan_translations`. |
+ | [ in_required](## "port_channel_interfaces.[].switchport.vlan_translations.in_required") | Boolean | | | | Drop the ingress traffic that do not match any VLAN mapping. |
+ | [ out_required](## "port_channel_interfaces.[].switchport.vlan_translations.out_required") | Boolean | | | | Drop the egress traffic that do not match any VLAN mapping. |
+ | [ direction_in](## "port_channel_interfaces.[].switchport.vlan_translations.direction_in") | List, items: Dictionary | | | | Map ingress traffic only. |
+ | [ - from](## "port_channel_interfaces.[].switchport.vlan_translations.direction_in.[].from") | String | | | | VLAN ID or range of VLAN IDs to map from. Range 1-4094. |
+ | [ to](## "port_channel_interfaces.[].switchport.vlan_translations.direction_in.[].to") | Integer | | | Min: 1
Max: 4094 | VLAN ID to map to. |
+ | [ dot1q_tunnel](## "port_channel_interfaces.[].switchport.vlan_translations.direction_in.[].dot1q_tunnel") | Boolean | | | | |
+ | [ inner_vlan_from](## "port_channel_interfaces.[].switchport.vlan_translations.direction_in.[].inner_vlan_from") | Integer | | | Min: 1
Max: 4094 | Inner VLAN ID to map from. |
+ | [ direction_out](## "port_channel_interfaces.[].switchport.vlan_translations.direction_out") | List, items: Dictionary | | | | Map egress traffic only. |
+ | [ - from](## "port_channel_interfaces.[].switchport.vlan_translations.direction_out.[].from") | String | Required | | | VLAN ID or range of VLAN IDs to map from. Range 1-4094. |
+ | [ to](## "port_channel_interfaces.[].switchport.vlan_translations.direction_out.[].to") | Integer | | | Min: 1
Max: 4094 | VLAN ID to map to. |
+ | [ dot1q_tunnel_to](## "port_channel_interfaces.[].switchport.vlan_translations.direction_out.[].dot1q_tunnel_to") | String | | | | VLAN ID or range of VLAN IDs or "all". Range 1-4094.
This takes precedence over `to` and `inner_vlan_to`. |
+ | [ inner_vlan_to](## "port_channel_interfaces.[].switchport.vlan_translations.direction_out.[].inner_vlan_to") | Integer | | | Min: 1
Max: 4094 | Inner VLAN ID to map to. |
+ | [ direction_both](## "port_channel_interfaces.[].switchport.vlan_translations.direction_both") | List, items: Dictionary | | | | Map both egress and ingress traffic. |
+ | [ - from](## "port_channel_interfaces.[].switchport.vlan_translations.direction_both.[].from") | String | Required | | | VLAN ID or range of VLAN IDs to map from. Range 1-4094. |
+ | [ to](## "port_channel_interfaces.[].switchport.vlan_translations.direction_both.[].to") | Integer | Required | | Min: 1
Max: 4094 | VLAN ID to map to. |
+ | [ dot1q_tunnel](## "port_channel_interfaces.[].switchport.vlan_translations.direction_both.[].dot1q_tunnel") | Boolean | | | | |
+ | [ inner_vlan_from](## "port_channel_interfaces.[].switchport.vlan_translations.direction_both.[].inner_vlan_from") | Integer | | | Min: 1
Max: 4094 | Inner VLAN ID to map from. |
+ | [ network](## "port_channel_interfaces.[].switchport.vlan_translations.direction_both.[].network") | Boolean | | | | Enable use of network-side VLAN ID.
This setting can only be enabled when `inner_vlan_from` is defined. |
+ | [ vlan_forwarding_accept_all](## "port_channel_interfaces.[].switchport.vlan_forwarding_accept_all") | Boolean | | | | |
+ | [ backup_link](## "port_channel_interfaces.[].switchport.backup_link") | Dictionary | | | | |
+ | [ interface](## "port_channel_interfaces.[].switchport.backup_link.interface") | String | Required | | | Backup interface. Example - Ethernet4, Vlan10 etc. |
+ | [ prefer_vlan](## "port_channel_interfaces.[].switchport.backup_link.prefer_vlan") | String | | | | VLANs to carry on the backup interface (1-4094). |
+ | [ backup](## "port_channel_interfaces.[].switchport.backup") | Dictionary | | | | The `backup_link` is required for this setting. |
+ | [ dest_macaddr](## "port_channel_interfaces.[].switchport.backup.dest_macaddr") | String | | | Format: mac | Destination MAC address for MAC move updates.
The mac address should be multicast or broadcast.
Example: 01:00:00:00:00:00 |
+ | [ initial_mac_move_delay](## "port_channel_interfaces.[].switchport.backup.initial_mac_move_delay") | Integer | | | Min: 0
Max: 65535 | Initial MAC move delay in milliseconds. |
+ | [ mac_move_burst](## "port_channel_interfaces.[].switchport.backup.mac_move_burst") | Integer | | | Min: 0
Max: 65535 | Size of MAC move bursts. |
+ | [ mac_move_burst_interval](## "port_channel_interfaces.[].switchport.backup.mac_move_burst_interval") | Integer | | | Min: 0
Max: 65535 | MAC move burst interval in milliseconds. |
+ | [ preemption_delay](## "port_channel_interfaces.[].switchport.backup.preemption_delay") | Integer | | | Min: 0
Max: 65535 | Preemption delay in milliseconds. |
+ | [ port_security](## "port_channel_interfaces.[].switchport.port_security") | Dictionary | | | | |
+ | [ enabled](## "port_channel_interfaces.[].switchport.port_security.enabled") | Boolean | | | | |
+ | [ mac_address_maximum](## "port_channel_interfaces.[].switchport.port_security.mac_address_maximum") | Dictionary | | | | Maximum number of MAC addresses allowed on the interface. |
+ | [ disabled](## "port_channel_interfaces.[].switchport.port_security.mac_address_maximum.disabled") | Boolean | | | | Disable port level check for port security (only in violation 'shutdown' mode). |
+ | [ limit](## "port_channel_interfaces.[].switchport.port_security.mac_address_maximum.limit") | Integer | | | Min: 1
Max: 1000 | MAC address limit. |
+ | [ violation](## "port_channel_interfaces.[].switchport.port_security.violation") | Dictionary | | | | Configure violation mode (shutdown or protect), EOS default is 'shutdown'. |
+ | [ mode](## "port_channel_interfaces.[].switchport.port_security.violation.mode") | String | | | Valid Values:
- shutdown
- protect
| Configure port security mode. |
+ | [ protect_log](## "port_channel_interfaces.[].switchport.port_security.violation.protect_log") | Boolean | | | | Log new addresses seen after limit is reached in protect mode. |
+ | [ vlan_default_mac_address_maximum](## "port_channel_interfaces.[].switchport.port_security.vlan_default_mac_address_maximum") | Integer | | | Min: 0
Max: 1000 | Default maximum MAC addresses for all VLANs on this interface. |
+ | [ vlans](## "port_channel_interfaces.[].switchport.port_security.vlans") | List, items: Dictionary | | | | |
+ | [ - range](## "port_channel_interfaces.[].switchport.port_security.vlans.[].range") | String | Required, Unique | | | VLAN ID or range(s) of VLAN IDs, <1-4094>.
Example:
- 3
- 1,3
- 1-10
|
+ | [ mac_address_maximum](## "port_channel_interfaces.[].switchport.port_security.vlans.[].mac_address_maximum") | Integer | | | | |
| [ validate_state](## "port_channel_interfaces.[].validate_state") | Boolean | | | | Set to false to disable interface validation by the `eos_validate_state` role. |
| [ eos_cli](## "port_channel_interfaces.[].eos_cli") | String | | | | Multiline EOS CLI rendered directly on the port-channel interface in the final EOS configuration. |
| [ esi](## "port_channel_interfaces.[].esi") removed | String | | | | EVPN Ethernet Segment Identifier (Type 1 format).
This key was removed. Support was removed in AVD version 5.0.0. Use evpn_ethernet_segment.identifier instead. |
@@ -274,6 +334,9 @@
# List of switchport vlans as string.
# For a trunk port this would be a range like "1-200,300".
# For an access port this would be a single vlan "123".
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.access_vlan or port_channel_interfaces[].switchport.trunk.allowed_vlan instead.
vlans:
snmp_trap_link_change:
@@ -314,20 +377,38 @@
inner:
client:
vlan_id:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.mode instead.
mode:
# If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.trunk.native_vlan instead.
native_vlan:
# If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.trunk.native_vlan_tag instead.
native_vlan_tag:
link_tracking_groups:
# Group name.
- name:
direction:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.phone instead.
phone:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.phone.trunk instead.
trunk:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.phone.vlan instead.
vlan:
l2_protocol:
@@ -340,6 +421,9 @@
# MLAG ID.
mlag:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.trunk.groups instead.
trunk_groups:
-
@@ -383,10 +467,19 @@
ldp:
interface:
igp_sync:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.trunk.private_vlan_secondary instead.
trunk_private_vlan_secondary:
# List of vlans as string.
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.pvlan_mapping instead.
pvlan_mapping:
+ # This key is deprecated.
+ # Support will be removed in AVD version 6.0.0.
+ # Use port_channel_interfaces[].switchport.vlan_translations instead.
vlan_translations:
# List of vlans as string (only one vlan if direction is "both").
@@ -700,6 +793,176 @@
egress:
enable:
unmodified_enable:
+ switchport:
+
+ # Warning: This should not be combined with `port_channel_interfaces[].type = routed`.
+ enabled:
+
+ # Warning: This should not be combined with `port_channel_interfaces[].mode`
+ mode:
+
+ # Set VLAN when interface is in access mode.
+ # Warning: This should not be combined with `port_channel_interfaces[].mode = access/dot1q-tunnel` and `port_channel_interface.vlans`.
+ access_vlan:
+ trunk:
+
+ # VLAN ID or range(s) of VLAN IDs (1-4094).
+ # Warning: This should not be combined with `port_channel_interfaces[].mode = trunk` and `port_channel_interfaces[].vlans`.
+ allowed_vlan:
+
+ # Set native VLAN when interface is in trunking mode.
+ # Warning: This should not be combined with `port_channel_interfaces[].native_vlan`.
+ native_vlan:
+
+ # If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ # Warning: This should not be combined with `port_channel_interfaces[].native_vlan_tag`.
+ native_vlan_tag:
+
+ # Enable secondary VLAN mapping for a private vlan.
+ # Warning: This should not be combined with `port_channel_interfaces[].trunk_private_vlan_secondary`.
+ private_vlan_secondary:
+
+ # Warning: This should not be combined with `port_channel_interfaces[].trunk_groups`.
+ groups:
+
+ # Trunk group name.
+ -
+ phone:
+
+ # Warning: This should not be combined with `port_channel_interfaces[].phone.vlan`.
+ vlan:
+
+ # Warning: This should not be combined with `port_channel_interfaces[].phone.trunk`
+ trunk:
+
+ # Secondary VLAN IDs of the private VLAN mapping.
+ # Warning: This should not be combined with `port_channel_interfaces[].pvlan_mapping`.
+ pvlan_mapping:
+ dot1q:
+
+ # Ethertype/TPID (Tag Protocol IDentifier) for VLAN tagged frames.
+ ethertype:
+ vlan_tag:
+
+ # tx: Allow bridged traffic to go out of the source interface.
+ # tx multicast: Allow multicast traffic only to go out of the source interface.
+ source_interface:
+
+ # VLAN Translation mappings.
+ # Warning: This should not be combined with `port_channel_interfaces[].vlan_translations`.
+ vlan_translations:
+
+ # Drop the ingress traffic that do not match any VLAN mapping.
+ in_required:
+
+ # Drop the egress traffic that do not match any VLAN mapping.
+ out_required:
+
+ # Map ingress traffic only.
+ direction_in:
+
+ # VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ - from:
+
+ # VLAN ID to map to.
+ to:
+ dot1q_tunnel:
+
+ # Inner VLAN ID to map from.
+ inner_vlan_from:
+
+ # Map egress traffic only.
+ direction_out:
+
+ # VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ - from:
+
+ # VLAN ID to map to.
+ to:
+
+ # VLAN ID or range of VLAN IDs or "all". Range 1-4094.
+ # This takes precedence over `to` and `inner_vlan_to`.
+ dot1q_tunnel_to:
+
+ # Inner VLAN ID to map to.
+ inner_vlan_to:
+
+ # Map both egress and ingress traffic.
+ direction_both:
+
+ # VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ - from:
+
+ # VLAN ID to map to.
+ to:
+ dot1q_tunnel:
+
+ # Inner VLAN ID to map from.
+ inner_vlan_from:
+
+ # Enable use of network-side VLAN ID.
+ # This setting can only be enabled when `inner_vlan_from` is defined.
+ network:
+ vlan_forwarding_accept_all:
+ backup_link:
+
+ # Backup interface. Example - Ethernet4, Vlan10 etc.
+ interface:
+
+ # VLANs to carry on the backup interface (1-4094).
+ prefer_vlan:
+
+ # The `backup_link` is required for this setting.
+ backup:
+
+ # Destination MAC address for MAC move updates.
+ # The mac address should be multicast or broadcast.
+ # Example: 01:00:00:00:00:00
+ dest_macaddr:
+
+ # Initial MAC move delay in milliseconds.
+ initial_mac_move_delay:
+
+ # Size of MAC move bursts.
+ mac_move_burst:
+
+ # MAC move burst interval in milliseconds.
+ mac_move_burst_interval:
+
+ # Preemption delay in milliseconds.
+ preemption_delay:
+ port_security:
+ enabled:
+
+ # Maximum number of MAC addresses allowed on the interface.
+ mac_address_maximum:
+
+ # Disable port level check for port security (only in violation 'shutdown' mode).
+ disabled:
+
+ # MAC address limit.
+ limit:
+
+ # Configure violation mode (shutdown or protect), EOS default is 'shutdown'.
+ violation:
+
+ # Configure port security mode.
+ mode:
+
+ # Log new addresses seen after limit is reached in protect mode.
+ protect_log:
+
+ # Default maximum MAC addresses for all VLANs on this interface.
+ vlan_default_mac_address_maximum:
+ vlans:
+
+ # VLAN ID or range(s) of VLAN IDs, <1-4094>.
+ # Example:
+ # - 3
+ # - 1,3
+ # - 1-10
+ - range:
+ mac_address_maximum:
# Set to false to disable interface validation by the `eos_validate_state` role.
validate_state:
diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ethernet-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ethernet-interfaces.j2
index 8a02d3bfb2c..afba8dce670 100644
--- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ethernet-interfaces.j2
+++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ethernet-interfaces.j2
@@ -20,9 +20,40 @@
{% set port_channel_interface = port_channel_interfaces | arista.avd.default([]) |
selectattr('name', 'arista.avd.defined', port_channel_interface_name) |
first %}
-{% if port_channel_interface.type is arista.avd.defined('switched') %}
+{# Below if condition is added to keep the existing support for rendering switchport attributes on the basis of port_channel_interface.type == switched #}
+{# TODO: AVD6.0 this if condition should be removed once the port_channel_interface.type key is removed in AVD6.0 #}
+{% if (port_channel_interface.switchport.mode is arista.avd.defined or
+ port_channel_interface.switchport.access_vlan is arista.avd.defined or
+ port_channel_interface.switchport.trunk.allowed_vlan is arista.avd.defined or
+ port_channel_interface.switchport.trunk.native_vlan_tag is arista.avd.defined(true) or
+ port_channel_interface.switchport.trunk.native_vlan is arista.avd.defined or
+ port_channel_interface.switchport.trunk.groups is arista.avd.defined) and
+ (port_channel_interface.type is not arista.avd.defined or (port_channel_interface.type is arista.avd.defined and port_channel_interface.type not in ["switched", "routed"])) %}
{% set description = ethernet_interface.description | arista.avd.default("-") %}
-{% set mode = port_channel_interface.mode | arista.avd.default("access") %}
+{% set mode = port_channel_interface.switchport.mode | arista.avd.default('-') %}
+{% if port_channel_interface.switchport.access_vlan is arista.avd.defined or
+ port_channel_interface.switchport.trunk.allowed_vlan is arista.avd.defined %}
+{% set vlans = [] %}
+{% if port_channel_interface.switchport.access_vlan is arista.avd.defined %}
+{% do vlans.append(port_channel_interface.switchport.access_vlan) %}
+{% endif %}
+{% if port_channel_interface.switchport.trunk.allowed_vlan is arista.avd.defined %}
+{% do vlans.extend(port_channel_interface.switchport.trunk.allowed_vlan | arista.avd.range_expand | map('int')) %}
+{% endif %}
+{% set vlans = vlans | arista.avd.list_compress %}
+{% endif %}
+{% if port_channel_interface.switchport.trunk.native_vlan_tag is arista.avd.defined(true) %}
+{% set native_vlan = "tag" %}
+{% else %}
+{% set native_vlan = port_channel_interface.switchport.trunk.native_vlan | arista.avd.default('-') %}
+{% endif %}
+{% set channel_group = ethernet_interface.channel_group.id %}
+{% set trunk_groups = port_channel_interface.switchport.trunk.groups | arista.avd.default(['-']) | join(', ') %}
+| {{ ethernet_interface.name }} | {{ description }} | *{{ mode }} | *{{ vlans | arista.avd.default('-') }} | *{{ native_vlan }} | *{{ trunk_groups }} | {{ channel_group }} |
+{# TODO: AVD6.0 Below elif block should be removed once the deprecated keys are removed in AVD6.0 #}
+{% elif port_channel_interface.type is arista.avd.defined('switched') %}
+{% set description = ethernet_interface.description | arista.avd.default("-") %}
+{% set mode = port_channel_interface.mode | arista.avd.default('-') %}
{% set vlans = port_channel_interface.vlans | arista.avd.default('-') %}
{% if port_channel_interface.native_vlan_tag is arista.avd.defined(true) %}
{% set native_vlan = "tag" %}
@@ -30,38 +61,52 @@
{% set native_vlan = port_channel_interface.native_vlan | arista.avd.default('-') %}
{% endif %}
{% set channel_group = ethernet_interface.channel_group.id %}
-{% if port_channel_interface.trunk_groups is arista.avd.defined %}
-{% set l2 = namespace() %}
-{% set l2.trunk_groups = [] %}
-{% for trunk_group in port_channel_interface.trunk_groups | arista.avd.natural_sort %}
-{% do l2.trunk_groups.append(trunk_group) %}
-{% endfor %}
+{% set trunk_groups = port_channel_interface.trunk_groups | arista.avd.default(['-']) | join(', ') %}
+| {{ ethernet_interface.name }} | {{ description }} | *{{ mode }} | *{{ vlans }} | *{{ native_vlan }} | *{{ trunk_groups }} | {{ channel_group }} |
+{% endif %}
+{% else %}
+{# Below if condition is added to keep the existing support for rendering switchport attributes on the basis of port_channel_interface.type == switched #}
+{# TODO: AVD6.0 this if condition should be removed once the port_channel_interface.type key is removed in AVD6.0 #}
+{% if (ethernet_interface.switchport.mode is arista.avd.defined or
+ ethernet_interface.switchport.access_vlan is arista.avd.defined or
+ ethernet_interface.switchport.trunk.allowed_vlan is arista.avd.defined or
+ ethernet_interface.switchport.trunk.native_vlan_tag is arista.avd.defined(true) or
+ ethernet_interface.switchport.trunk.native_vlan is arista.avd.defined or
+ ethernet_interface.switchport.trunk.groups is arista.avd.defined) and
+ (ethernet_interface.type is not arista.avd.defined or (ethernet_interface.type is arista.avd.defined and ethernet_interface.type not in ["switched", "routed"])) %}
+{% set description = ethernet_interface.description | arista.avd.default("-") %}
+{% set mode = ethernet_interface.switchport.mode | arista.avd.default('-') %}
+{% if ethernet_interface.switchport.access_vlan is arista.avd.defined or
+ ethernet_interface.switchport.trunk.allowed_vlan is arista.avd.defined %}
+{% set vlans = [] %}
+{% if ethernet_interface.switchport.access_vlan is arista.avd.defined %}
+{% do vlans.append(ethernet_interface.switchport.access_vlan) %}
+{% endif %}
+{% if ethernet_interface.switchport.trunk.allowed_vlan is arista.avd.defined %}
+{% do vlans.extend(ethernet_interface.switchport.trunk.allowed_vlan | arista.avd.range_expand | map('int')) %}
+{% endif %}
+{% set vlans = vlans | arista.avd.list_compress %}
+{% endif %}
+{% if ethernet_interface.switchport.trunk.native_vlan_tag is arista.avd.defined(true) %}
+{% set native_vlan = "tag" %}
{% else %}
-{% set l2 = namespace() %}
-{% set l2.trunk_groups = "-" %}
+{% set native_vlan = ethernet_interface.switchport.trunk.native_vlan | arista.avd.default('-') %}
{% endif %}
-| {{ ethernet_interface.name }} | {{ description }} | *{{ mode }} | *{{ vlans }} | *{{ native_vlan }} | *{{ l2.trunk_groups }} | {{ channel_group }} |
-{% endif %}
-{% elif ethernet_interface.type is arista.avd.defined('switched') %}
-{% set description = ethernet_interface.description | arista.avd.default("-") %}
-{% set mode = ethernet_interface.mode | arista.avd.default("access") %}
-{% set vlans = ethernet_interface.vlans | arista.avd.default('-') %}
-{% if ethernet_interface.native_vlan_tag is arista.avd.defined(true) %}
-{% set native_vlan = "tag" %}
-{% else %}
-{% set native_vlan = ethernet_interface.native_vlan | arista.avd.default('-') %}
-{% endif %}
-{% if ethernet_interface.trunk_groups is defined %}
-{% set l2 = namespace() %}
-{% set l2.trunk_groups = [] %}
-{% for trunk_group in ethernet_interface.trunk_groups | arista.avd.natural_sort %}
-{% do l2.trunk_groups.append(trunk_group) %}
-{% endfor %}
-{% else %}
-{% set l2 = namespace() %}
-{% set l2.trunk_groups = "-" %}
+{% set trunk_groups = ethernet_interface.switchport.trunk.groups | arista.avd.default(['-']) | join(', ') %}
+| {{ ethernet_interface.name }} | {{ description }} | {{ mode }} | {{ vlans | arista.avd.default('-') }} | {{ native_vlan }} | {{ trunk_groups }} | - |
+{# TODO: AVD6.0 Below elif block should be removed once the deprecated keys are removed in AVD6.0 #}
+{% elif ethernet_interface.type is arista.avd.defined('switched') %}
+{% set description = ethernet_interface.description | arista.avd.default("-") %}
+{% set mode = ethernet_interface.mode | arista.avd.default('-') %}
+{% set vlans = ethernet_interface.vlans | arista.avd.default('-') %}
+{% if ethernet_interface.native_vlan_tag is arista.avd.defined(true) %}
+{% set native_vlan = "tag" %}
+{% else %}
+{% set native_vlan = ethernet_interface.native_vlan | arista.avd.default('-') %}
+{% endif %}
+{% set trunk_groups = ethernet_interface.trunk_groups | arista.avd.default(['-']) | join(', ') %}
+| {{ ethernet_interface.name }} | {{ description }} | {{ mode }} | {{ vlans }} | {{ native_vlan }} | {{ trunk_groups }} | - |
{% endif %}
-| {{ ethernet_interface.name }} | {{ description }} | {{ mode }} | {{ vlans }} | {{ native_vlan }} | {{ l2.trunk_groups }} | - |
{% endif %}
{% endfor %}
@@ -116,7 +161,9 @@
{% set ethernet_interface_pvlan.configured = false %}
{% for ethernet_interface in ethernet_interfaces | arista.avd.natural_sort('name') %}
{% if ethernet_interface.pvlan_mapping is arista.avd.defined or
- ethernet_interface.trunk_private_vlan_secondary is arista.avd.defined %}
+ ethernet_interface.trunk_private_vlan_secondary is arista.avd.defined or
+ ethernet_interface.switchport.pvlan_mapping is arista.avd.defined or
+ ethernet_interface.switchport.trunk.private_vlan_secondary is arista.avd.defined %}
{% set ethernet_interface_pvlan.configured = true %}
{% break %}
{% endif %}
@@ -128,10 +175,9 @@
| Interface | PVLAN Mapping | Secondary Trunk |
| --------- | ------------- | ----------------|
{% for ethernet_interface in ethernet_interfaces | arista.avd.natural_sort('name') %}
-{% if ethernet_interface.pvlan_mapping is arista.avd.defined or
- ethernet_interface.trunk_private_vlan_secondary is arista.avd.defined %}
-{% set row_pvlan_mapping = ethernet_interface.pvlan_mapping | arista.avd.default('-') %}
-{% set row_trunk_private_vlan_secondary = ethernet_interface.trunk_private_vlan_secondary | arista.avd.default('-') %}
+{% set row_pvlan_mapping = ethernet_interface.switchport.pvlan_mapping | arista.avd.default(ethernet_interface.pvlan_mapping, '-') %}
+{% set row_trunk_private_vlan_secondary = ethernet_interface.switchport.trunk.private_vlan_secondary | arista.avd.default(ethernet_interface.trunk_private_vlan_secondary, '-') %}
+{% if row_pvlan_mapping != '-' or row_trunk_private_vlan_secondary != '-' %}
| {{ ethernet_interface.name }} | {{ row_pvlan_mapping }} | {{ row_trunk_private_vlan_secondary }} |
{% endif %}
{% endfor %}
@@ -140,7 +186,8 @@
{% set ethernet_interface_vlan_xlate = namespace() %}
{% set ethernet_interface_vlan_xlate.configured = false %}
{% for ethernet_interface in ethernet_interfaces | arista.avd.natural_sort('name') %}
-{% if ethernet_interface.vlan_translations is arista.avd.defined %}
+{% if ethernet_interface.switchport.vlan_translations is arista.avd.defined or
+ ethernet_interface.vlan_translations is arista.avd.defined %}
{% set ethernet_interface_vlan_xlate.configured = true %}
{% break %}
{% endif %}
@@ -149,14 +196,30 @@
##### VLAN Translations
-| Interface | From VLAN ID(s) | To VLAN ID | Direction |
-| --------- | --------------- | -----------| --------- |
+| Interface | Direction | From VLAN ID(s) | To VLAN ID | From Inner VLAN ID | To Inner VLAN ID | Network | Dot1q-tunnel |
+| --------- | --------- | --------------- | ---------- | ------------------ | ---------------- | ------- | ------------ |
{% for ethernet_interface in ethernet_interfaces | arista.avd.natural_sort('name') %}
-{% if ethernet_interface.vlan_translations is arista.avd.defined %}
+{% if ethernet_interface.switchport.vlan_translations is arista.avd.defined %}
+{% for vlan_translation in ethernet_interface.switchport.vlan_translations.direction_both | arista.avd.natural_sort('from') %}
+| {{ ethernet_interface.name }} | both | {{ vlan_translation.from }} | {{ vlan_translation.to }} | {{ vlan_translation.inner_vlan_from | arista.avd.default('-') }} | - | {{ vlan_translation.network | arista.avd.default('-') }} | {{ vlan_translation.dot1q_tunnel | arista.avd.default('-') }} |
+{% endfor %}
+{% for vlan_translation in ethernet_interface.switchport.vlan_translations.direction_in | arista.avd.natural_sort('from') %}
+| {{ ethernet_interface.name }} | in | {{ vlan_translation.from }} | {{ vlan_translation.to }} | {{ vlan_translation.inner_vlan_from | arista.avd.default('-') }} | - | {{ vlan_translation.network | arista.avd.default('-') }} | {{ vlan_translation.dot1q_tunnel | arista.avd.default('-') }} |
+{% endfor %}
+{% for vlan_translation in ethernet_interface.switchport.vlan_translations.direction_out | arista.avd.natural_sort('from') %}
+{% if vlan_translation.dot1q_tunnel_to is arista.avd.defined %}
+{% set dot1q_tunnel = "True" %}
+{% set to_vlan_id = vlan_translation.dot1q_tunnel_to %}
+{% else %}
+{% set to_vlan_id = vlan_translation.to | arista.avd.default("-") %}
+{% endif %}
+| {{ ethernet_interface.name }} | out | {{ vlan_translation.from }} | {{ to_vlan_id }} | - | {{ vlan_translation.inner_vlan_to | arista.avd.default('-') }} | {{ vlan_translation.network | arista.avd.default('-') }} | {{ dot1q_tunnel | arista.avd.default('-') }} |
+{% endfor %}
+{% elif ethernet_interface.vlan_translations is arista.avd.defined %}
{% for vlan_translation in ethernet_interface.vlan_translations | arista.avd.natural_sort %}
{% if vlan_translation.from is arista.avd.defined and vlan_translation.to is arista.avd.defined %}
{% set row_direction = vlan_translation.direction | arista.avd.default('both') %}
-| {{ ethernet_interface.name }} | {{ vlan_translation.from }} | {{ vlan_translation.to }} | {{ row_direction }} |
+| {{ ethernet_interface.name }} | {{ row_direction }} | {{ vlan_translation.from }} | {{ vlan_translation.to }} | - | - | - | - |
{% endif %}
{% endfor %}
{% endif %}
@@ -237,7 +300,7 @@
{# Phone Interfaces #}
{% set phone_interfaces = [] %}
{% for interface in ethernet_interfaces | arista.avd.natural_sort('name') + port_channel_interfaces | arista.avd.natural_sort('name') %}
-{% if interface.phone is arista.avd.defined %}
+{% if interface.switchport.phone is arista.avd.defined or interface.phone is arista.avd.defined %}
{% do phone_interfaces.append(interface) %}
{% endif %}
{% endfor %}
@@ -248,7 +311,11 @@
| Interface | Mode | Native VLAN | Phone VLAN | Phone VLAN Mode |
| --------- | ---- | ----------- | ---------- | --------------- |
{% for phone_interface in phone_interfaces %}
-| {{ phone_interface.name }} | {{ phone_interface.mode }} | {{ phone_interface.native_vlan | arista.avd.default(1) }} | {{ phone_interface.phone.vlan | arista.avd.default('-') }} | {{ phone_interface.phone.trunk | arista.avd.default('-') }} |
+{% set mode = phone_interface.switchport.mode | arista.avd.default(phone_interface.mode, '-') %}
+{% set native_vlan = phone_interface.switchport.trunk.native_vlan | arista.avd.default(phone_interface.native_vlan, '-') %}
+{% set phone_vlan = phone_interface.switchport.phone.vlan | arista.avd.default(phone_interface.phone.vlan, '-') %}
+{% set phone_vlan_mode = phone_interface.switchport.phone.trunk | arista.avd.default(phone_interface.phone.trunk, '-') %}
+| {{ phone_interface.name }} | {{ mode }} | {{ native_vlan }} | {{ phone_vlan }} | {{ phone_vlan_mode }} |
{% endfor %}
{% endif %}
{# Multicast Routing #}
diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2
index 53f9f8324a6..db344efdca5 100644
--- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2
+++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2
@@ -15,30 +15,55 @@
| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI |
| --------- | ----------- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- |
{% for port_channel_interface in port_channel_interfaces | arista.avd.natural_sort('name') %}
-{% if port_channel_interface.type is arista.avd.defined("switched") %}
+{# Below if condition is added to keep the existing support for rendering switchport attributes on the basis of port_channel_interface.type == switched #}
+{# TODO: AVD6.0 this if condition should be removed once the port_channel_interface.type key is removed in AVD6.0 #}
+{% if (port_channel_interface.switchport.mode is arista.avd.defined or
+ port_channel_interface.switchport.access_vlan is arista.avd.defined or
+ port_channel_interface.switchport.trunk.allowed_vlan is arista.avd.defined or
+ port_channel_interface.switchport.trunk.native_vlan_tag is arista.avd.defined(true) or
+ port_channel_interface.switchport.trunk.native_vlan is arista.avd.defined or
+ port_channel_interface.switchport.trunk.groups is arista.avd.defined) and
+ (port_channel_interface.type is not arista.avd.defined or (port_channel_interface.type is arista.avd.defined and port_channel_interface.type not in ["switched", "routed"])) %}
{% set description = port_channel_interface.description | arista.avd.default("-") %}
-{% set mode = port_channel_interface.mode | arista.avd.default("access") %}
-{% set vlans = port_channel_interface.vlans | arista.avd.default("-") %}
-{% if port_channel_interface.native_vlan_tag is arista.avd.defined(true) %}
+{% set mode = port_channel_interface.switchport.mode | arista.avd.default('-') %}
+{% if port_channel_interface.switchport.access_vlan is arista.avd.defined or
+ port_channel_interface.switchport.trunk.allowed_vlan is arista.avd.defined %}
+{% set vlans = [] %}
+{% if port_channel_interface.switchport.access_vlan is arista.avd.defined %}
+{% do vlans.append(port_channel_interface.switchport.access_vlan) %}
+{% endif %}
+{% if port_channel_interface.switchport.trunk.allowed_vlan is arista.avd.defined %}
+{% do vlans.extend(port_channel_interface.switchport.trunk.allowed_vlan | arista.avd.range_expand | map('int')) %}
+{% endif %}
+{% set vlans = vlans | arista.avd.list_compress %}
+{% endif %}
+{% if port_channel_interface.switchport.trunk.native_vlan_tag is arista.avd.defined(true) %}
{% set native_vlan = "tag" %}
{% else %}
-{% set native_vlan = port_channel_interface.native_vlan | arista.avd.default("-") %}
+{% set native_vlan = port_channel_interface.switchport.trunk.native_vlan | arista.avd.default('-') %}
{% endif %}
-{% if port_channel_interface.trunk_groups is defined %}
-{% set l2 = namespace() %}
-{% set l2.trunk_groups = [] %}
-{% for trunk_group in port_channel_interface.trunk_groups | arista.avd.natural_sort %}
-{% do l2.trunk_groups.append(trunk_group) %}
-{% endfor %}
+{% set trunk_groups = port_channel_interface.switchport.trunk.groups | arista.avd.default(['-']) | join(', ') %}
+{% set lacp_fallback_timeout = port_channel_interface.lacp_fallback_timeout | arista.avd.default("-") %}
+{% set lacp_fallback_mode = port_channel_interface.lacp_fallback_mode | arista.avd.default("-") %}
+{% set mlag = port_channel_interface.mlag | arista.avd.default("-") %}
+{% set esi = port_channel_interface.evpn_ethernet_segment.identifier | arista.avd.default("-") %}
+| {{ port_channel_interface.name }} | {{ description }} | {{ mode }} | {{ vlans | arista.avd.default('-') }} | {{ native_vlan }} | {{ trunk_groups }} | {{ lacp_fallback_timeout }} | {{ lacp_fallback_mode }} | {{ mlag }} | {{ esi }} |
+{# TODO: AVD6.0 Below elif block should be removed once the deprecated keys are removed in AVD6.0 #}
+{% elif port_channel_interface.type is arista.avd.defined("switched") %}
+{% set description = port_channel_interface.description | arista.avd.default("-") %}
+{% set mode = port_channel_interface.mode | arista.avd.default('-') %}
+{% set vlans = port_channel_interface.vlans | arista.avd.default('-') %}
+{% if port_channel_interface.native_vlan_tag is arista.avd.defined(true) %}
+{% set native_vlan = "tag" %}
{% else %}
-{% set l2 = namespace() %}
-{% set l2.trunk_groups = "-" %}
+{% set native_vlan = port_channel_interface.native_vlan | arista.avd.default('-') %}
{% endif %}
+{% set trunk_groups = port_channel_interface.trunk_groups | arista.avd.default(['-']) | join(', ') %}
{% set lacp_fallback_timeout = port_channel_interface.lacp_fallback_timeout | arista.avd.default("-") %}
{% set lacp_fallback_mode = port_channel_interface.lacp_fallback_mode | arista.avd.default("-") %}
{% set mlag = port_channel_interface.mlag | arista.avd.default("-") %}
{% set esi = port_channel_interface.evpn_ethernet_segment.identifier | arista.avd.default("-") %}
-| {{ port_channel_interface.name }} | {{ description }} | {{ mode }} | {{ vlans }} | {{ native_vlan }} | {{ l2.trunk_groups }} | {{ lacp_fallback_timeout }} | {{ lacp_fallback_mode }} | {{ mlag }} | {{ esi }} |
+| {{ port_channel_interface.name }} | {{ description }} | {{ mode }} | {{ vlans }} | {{ native_vlan }} | {{ trunk_groups }} | {{ lacp_fallback_timeout }} | {{ lacp_fallback_mode }} | {{ mlag }} | {{ esi }} |
{% endif %}
{% endfor %}
{# Encapsulation #}
@@ -91,7 +116,9 @@
{% set port_channel_interface_pvlan.configured = false %}
{% for port_channel_interface in port_channel_interfaces | arista.avd.natural_sort('name') %}
{% if port_channel_interface.pvlan_mapping is arista.avd.defined or
- port_channel_interface.trunk_private_vlan_secondary is arista.avd.defined %}
+ port_channel_interface.trunk_private_vlan_secondary is arista.avd.defined or
+ port_channel_interface.switchport.pvlan_mapping is arista.avd.defined or
+ port_channel_interface.switchport.trunk.private_vlan_secondary is arista.avd.defined %}
{% set port_channel_interface_pvlan.configured = true %}
{% break %}
{% endif %}
@@ -103,10 +130,9 @@
| Interface | PVLAN Mapping | Secondary Trunk |
| --------- | ------------- | ----------------|
{% for port_channel_interface in port_channel_interfaces | arista.avd.natural_sort('name') %}
-{% if port_channel_interface.pvlan_mapping is arista.avd.defined or
- port_channel_interface.trunk_private_vlan_secondary is arista.avd.defined %}
-{% set row_pvlan_mapping = port_channel_interface.pvlan_mapping | arista.avd.default('-') %}
-{% set row_trunk_private_vlan_secondary = port_channel_interface.trunk_private_vlan_secondary | arista.avd.default('-') %}
+{% set row_pvlan_mapping = port_channel_interface.switchport.pvlan_mapping | arista.avd.default(port_channel_interface.pvlan_mapping, '-') %}
+{% set row_trunk_private_vlan_secondary = port_channel_interface.switchport.trunk.private_vlan_secondary | arista.avd.default(port_channel_interface.trunk_private_vlan_secondary, '-') %}
+{% if row_pvlan_mapping != '-' or row_trunk_private_vlan_secondary != '-' %}
| {{ port_channel_interface.name }} | {{ row_pvlan_mapping }} | {{ row_trunk_private_vlan_secondary }} |
{% endif %}
{% endfor %}
@@ -115,7 +141,8 @@
{% set port_channel_interface_vlan_xlate = namespace() %}
{% set port_channel_interface_vlan_xlate.configured = false %}
{% for port_channel_interface in port_channel_interfaces | arista.avd.natural_sort('name') %}
-{% if port_channel_interface.vlan_translations is arista.avd.defined %}
+{% if port_channel_interface.switchport.vlan_translations is arista.avd.defined or
+ port_channel_interface.vlan_translations is arista.avd.defined %}
{% set port_channel_interface_vlan_xlate.configured = true %}
{% break %}
{% endif %}
@@ -124,14 +151,30 @@
##### VLAN Translations
-| Interface | From VLAN ID(s) | To VLAN ID | Direction |
-| --------- | --------------- | -----------| --------- |
+| Interface | Direction | From VLAN ID(s) | To VLAN ID | From Inner VLAN ID | To Inner VLAN ID | Network | Dot1q-tunnel |
+| --------- | --------- | --------------- | ---------- | ------------------ | ---------------- | ------- | ------------ |
{% for port_channel_interface in port_channel_interfaces | arista.avd.natural_sort('name') %}
-{% if port_channel_interface.vlan_translations is arista.avd.defined %}
+{% if port_channel_interface.switchport.vlan_translations is arista.avd.defined %}
+{% for vlan_translation in port_channel_interface.switchport.vlan_translations.direction_both | arista.avd.natural_sort('from') %}
+| {{ port_channel_interface.name }} | both | {{ vlan_translation.from }} | {{ vlan_translation.to }} | {{ vlan_translation.inner_vlan_from | arista.avd.default('-') }} | - | {{ vlan_translation.network | arista.avd.default('-') }} | {{ vlan_translation.dot1q_tunnel | arista.avd.default('-') }} |
+{% endfor %}
+{% for vlan_translation in port_channel_interface.switchport.vlan_translations.direction_in | arista.avd.natural_sort('from') %}
+| {{ port_channel_interface.name }} | in | {{ vlan_translation.from }} | {{ vlan_translation.to }} | - | {{ vlan_translation.inner_vlan_from | arista.avd.default('-') }} | {{ vlan_translation.network | arista.avd.default('-') }} | {{ vlan_translation.dot1q_tunnel | arista.avd.default('-') }} |
+{% endfor %}
+{% for vlan_translation in port_channel_interface.switchport.vlan_translations.direction_out | arista.avd.natural_sort('from') %}
+{% if vlan_translation.dot1q_tunnel_to is arista.avd.defined %}
+{% set dot1q_tunnel = "True" %}
+{% set to_vlan_id = vlan_translation.dot1q_tunnel_to %}
+{% else %}
+{% set to_vlan_id = vlan_translation.to | arista.avd.default("-") %}
+{% endif %}
+| {{ port_channel_interface.name }} | out | {{ vlan_translation.from }} | {{ to_vlan_id }} | - | {{ vlan_translation.inner_vlan_to | arista.avd.default('-') }} | {{ vlan_translation.network | arista.avd.default('-') }} | {{ dot1q_tunnel | arista.avd.default('-') }} |
+{% endfor %}
+{% elif port_channel_interface.vlan_translations is arista.avd.defined %}
{% for vlan_translation in port_channel_interface.vlan_translations | arista.avd.natural_sort %}
{% if vlan_translation.from is arista.avd.defined and vlan_translation.to is arista.avd.defined %}
{% set row_direction = vlan_translation.direction | arista.avd.default('both') %}
-| {{ port_channel_interface.name }} | {{ vlan_translation.from }} | {{ vlan_translation.to }} | {{ row_direction }} |
+| {{ port_channel_interface.name }} | {{ row_direction }} | {{ vlan_translation.from }} | {{ vlan_translation.to }} | - | - | - | - |
{% endif %}
{% endfor %}
{% endif %}
diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/ethernet-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/ethernet-interfaces.j2
index da73daefdaf..6cf7227c774 100644
--- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/ethernet-interfaces.j2
+++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/ethernet-interfaces.j2
@@ -160,6 +160,98 @@ interface {{ ethernet_interface.name }}
{% if ethernet_interface.pvlan_mapping is arista.avd.defined %}
switchport pvlan mapping {{ ethernet_interface.pvlan_mapping }}
{% endif %}
+{% if ethernet_interface.switchport.access_vlan is arista.avd.defined %}
+ switchport access vlan {{ ethernet_interface.switchport.access_vlan }}
+{% endif %}
+{% if ethernet_interface.switchport.trunk.native_vlan_tag is arista.avd.defined(true) %}
+ switchport trunk native vlan tag
+{% elif ethernet_interface.switchport.trunk.native_vlan is arista.avd.defined %}
+ switchport trunk native vlan {{ ethernet_interface.switchport.trunk.native_vlan }}
+{% endif %}
+{% if ethernet_interface.switchport.phone.vlan is arista.avd.defined %}
+ switchport phone vlan {{ ethernet_interface.switchport.phone.vlan }}
+{% endif %}
+{% if ethernet_interface.switchport.phone.trunk is arista.avd.defined %}
+ switchport phone trunk {{ ethernet_interface.switchport.phone.trunk }}
+{% endif %}
+{% if ethernet_interface.switchport.vlan_translations.in_required is arista.avd.defined(true) %}
+ switchport vlan translation in required
+{% endif %}
+{% if ethernet_interface.switchport.vlan_translations.out_required is arista.avd.defined(true) %}
+ switchport vlan translation out required
+{% endif %}
+{% if ethernet_interface.switchport.dot1q.vlan_tag is arista.avd.defined %}
+ switchport dot1q vlan tag {{ ethernet_interface.switchport.dot1q.vlan_tag }}
+{% endif %}
+{% if ethernet_interface.switchport.trunk.allowed_vlan is arista.avd.defined %}
+ switchport trunk allowed vlan {{ ethernet_interface.switchport.trunk.allowed_vlan }}
+{% endif %}
+{% if ethernet_interface.switchport.mode is arista.avd.defined %}
+ switchport mode {{ ethernet_interface.switchport.mode }}
+{% endif %}
+{% if ethernet_interface.switchport.dot1q.ethertype is arista.avd.defined %}
+ switchport dot1q ethertype {{ ethernet_interface.switchport.dot1q.ethertype }}
+{% endif %}
+{% if ethernet_interface.switchport.vlan_forwarding_accept_all is arista.avd.defined(true) %}
+ switchport vlan forwarding accept all
+{% endif %}
+{% for trunk_group in ethernet_interface.switchport.trunk.groups | arista.avd.natural_sort %}
+ switchport trunk group {{ trunk_group }}
+{% endfor %}
+{% if ethernet_interface.switchport.enabled is arista.avd.defined(true) %}
+ switchport
+{% elif ethernet_interface.switchport.enabled is arista.avd.defined(false) %}
+ no switchport
+{% endif %}
+{% if ethernet_interface.switchport.source_interface is arista.avd.defined %}
+ switchport source-interface {{ ethernet_interface.switchport.source_interface }}
+{% endif %}
+{% for vlan_translation in ethernet_interface.switchport.vlan_translations.direction_both | arista.avd.natural_sort('from') %}
+{% set vlan_translation_both_cli = 'switchport vlan translation ' ~ vlan_translation.from %}
+{% if vlan_translation.dot1q_tunnel is arista.avd.defined(true) %}
+{% set vlan_translation_both_cli = vlan_translation_both_cli ~ ' dot1q-tunnel' %}
+{% elif vlan_translation.inner_vlan_from is arista.avd.defined %}
+{% set vlan_translation_both_cli = vlan_translation_both_cli ~ ' inner ' ~ vlan_translation.inner_vlan_from %}
+{% if vlan_translation.network is arista.avd.defined(true) %}
+{% set vlan_translation_both_cli = vlan_translation_both_cli ~ ' network' %}
+{% endif %}
+{% endif %}
+{% set vlan_translation_both_cli = vlan_translation_both_cli ~ ' ' ~ vlan_translation.to %}
+ {{ vlan_translation_both_cli }}
+{% endfor %}
+{% if ethernet_interface.switchport.vlan_translations.direction_in is arista.avd.defined %}
+{% for vlan_translation in ethernet_interface.switchport.vlan_translations.direction_in %}
+{% set vlan_translation_in_cli = 'switchport vlan translation in ' ~ vlan_translation.from %}
+{% if vlan_translation.dot1q_tunnel is arista.avd.defined(true) %}
+{% set vlan_translation_in_cli = vlan_translation_in_cli ~ ' dot1q-tunnel' %}
+{% elif vlan_translation.inner_vlan_from is arista.avd.defined %}
+{% set vlan_translation_in_cli = vlan_translation_in_cli ~ ' inner ' ~ vlan_translation.inner_vlan_from %}
+{% endif %}
+{% set vlan_translation_in_cli = vlan_translation_in_cli ~ " " ~ vlan_translation.to %}
+ {{ vlan_translation_in_cli }}
+{% endfor %}
+{% endif %}
+{% if ethernet_interface.switchport.vlan_translations.direction_out is arista.avd.defined %}
+{% for vlan_translation in ethernet_interface.switchport.vlan_translations.direction_out %}
+{% if vlan_translation.dot1q_tunnel_to is arista.avd.defined %}
+{% set vlan_translation_out_cli = 'switchport vlan translation out ' ~ vlan_translation.from ~ ' dot1q-tunnel ' ~ vlan_translation.dot1q_tunnel_to %}
+{% elif vlan_translation.to is arista.avd.defined %}
+{% set vlan_translation_out_cli = 'switchport vlan translation out ' ~ vlan_translation.from ~ ' ' ~ vlan_translation.to %}
+{% if vlan_translation.inner_vlan_to is arista.avd.defined %}
+{% set vlan_translation_out_cli = vlan_translation_out_cli ~ ' inner ' ~ vlan_translation.inner_vlan_to %}
+{% endif %}
+{% endif %}
+{% if vlan_translation_out_cli is arista.avd.defined %}
+ {{ vlan_translation_out_cli }}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if ethernet_interface.switchport.trunk.private_vlan_secondary is arista.avd.defined(true) %}
+ switchport trunk private-vlan secondary
+{% endif %}
+{% if ethernet_interface.switchport.pvlan_mapping is arista.avd.defined %}
+ switchport pvlan mapping {{ ethernet_interface.switchport.pvlan_mapping }}
+{% endif %}
{% if ethernet_interface.l2_protocol.encapsulation_dot1q_vlan is arista.avd.defined %}
l2-protocol encapsulation dot1q vlan {{ ethernet_interface.l2_protocol.encapsulation_dot1q_vlan }}
{% endif %}
@@ -338,6 +430,28 @@ interface {{ ethernet_interface.name }}
{{ ip_helper_cli }}
{% endfor %}
{% endif %}
+{% if ethernet_interface.switchport.backup_link.interface is arista.avd.defined %}
+{% set backup_link_cli = "switchport backup-link " ~ ethernet_interface.switchport.backup_link.interface %}
+{% if ethernet_interface.switchport.backup_link.prefer_vlan is arista.avd.defined %}
+{% set backup_link_cli = backup_link_cli ~ " prefer vlan " ~ ethernet_interface.switchport.backup_link.prefer_vlan %}
+{% endif %}
+ {{ backup_link_cli }}
+{% if ethernet_interface.switchport.backup.preemption_delay is arista.avd.defined %}
+ switchport backup preemption-delay {{ ethernet_interface.switchport.backup.preemption_delay }}
+{% endif %}
+{% if ethernet_interface.switchport.backup.mac_move_burst is arista.avd.defined %}
+ switchport backup mac-move-burst {{ ethernet_interface.switchport.backup.mac_move_burst }}
+{% endif %}
+{% if ethernet_interface.switchport.backup.mac_move_burst_interval is arista.avd.defined %}
+ switchport backup mac-move-burst-interval {{ ethernet_interface.switchport.backup.mac_move_burst_interval }}
+{% endif %}
+{% if ethernet_interface.switchport.backup.initial_mac_move_delay is arista.avd.defined %}
+ switchport backup initial-mac-move-delay {{ ethernet_interface.switchport.backup.initial_mac_move_delay }}
+{% endif %}
+{% if ethernet_interface.switchport.backup.dest_macaddr is arista.avd.defined %}
+ switchport backup dest-macaddr {{ ethernet_interface.switchport.backup.dest_macaddr }}
+{% endif %}
+{% endif %}
{% if ethernet_interface.ip_address is arista.avd.defined("dhcp") and ethernet_interface.dhcp_client_accept_default_route is arista.avd.defined(true) %}
dhcp client accept default-route
{% endif %}
diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2
index 0246fd624ff..6f06ab86a3f 100644
--- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2
+++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2
@@ -108,6 +108,98 @@ interface {{ port_channel_interface.name }}
{{ vlan_translation_cli }}
{% endif %}
{% endfor %}
+{% if port_channel_interface.switchport.access_vlan is arista.avd.defined %}
+ switchport access vlan {{ port_channel_interface.switchport.access_vlan }}
+{% endif %}
+{% if port_channel_interface.switchport.trunk.native_vlan_tag is arista.avd.defined(true) %}
+ switchport trunk native vlan tag
+{% elif port_channel_interface.switchport.trunk.native_vlan is arista.avd.defined %}
+ switchport trunk native vlan {{ port_channel_interface.switchport.trunk.native_vlan }}
+{% endif %}
+{% if port_channel_interface.switchport.phone.vlan is arista.avd.defined %}
+ switchport phone vlan {{ port_channel_interface.switchport.phone.vlan }}
+{% endif %}
+{% if port_channel_interface.switchport.phone.trunk is arista.avd.defined %}
+ switchport phone trunk {{ port_channel_interface.switchport.phone.trunk }}
+{% endif %}
+{% if port_channel_interface.switchport.vlan_translations.in_required is arista.avd.defined(true) %}
+ switchport vlan translation in required
+{% endif %}
+{% if port_channel_interface.switchport.vlan_translations.out_required is arista.avd.defined(true) %}
+ switchport vlan translation out required
+{% endif %}
+{% if port_channel_interface.switchport.dot1q.vlan_tag is arista.avd.defined %}
+ switchport dot1q vlan tag {{ port_channel_interface.switchport.dot1q.vlan_tag }}
+{% endif %}
+{% if port_channel_interface.switchport.trunk.allowed_vlan is arista.avd.defined %}
+ switchport trunk allowed vlan {{ port_channel_interface.switchport.trunk.allowed_vlan }}
+{% endif %}
+{% if port_channel_interface.switchport.mode is arista.avd.defined %}
+ switchport mode {{ port_channel_interface.switchport.mode }}
+{% endif %}
+{% if port_channel_interface.switchport.dot1q.ethertype is arista.avd.defined %}
+ switchport dot1q ethertype {{ port_channel_interface.switchport.dot1q.ethertype }}
+{% endif %}
+{% if port_channel_interface.switchport.vlan_forwarding_accept_all is arista.avd.defined(true) %}
+ switchport vlan forwarding accept all
+{% endif %}
+{% for trunk_group in port_channel_interface.switchport.trunk.groups | arista.avd.natural_sort %}
+ switchport trunk group {{ trunk_group }}
+{% endfor %}
+{% if port_channel_interface.switchport.enabled is arista.avd.defined(true) %}
+ switchport
+{% elif port_channel_interface.switchport.enabled is arista.avd.defined(false) %}
+ no switchport
+{% endif %}
+{% if port_channel_interface.switchport.source_interface is arista.avd.defined %}
+ switchport source-interface {{ port_channel_interface.switchport.source_interface }}
+{% endif %}
+{% for vlan_translation in port_channel_interface.switchport.vlan_translations.direction_both | arista.avd.natural_sort('from') %}
+{% set vlan_translation_both_cli = 'switchport vlan translation ' ~ vlan_translation.from %}
+{% if vlan_translation.dot1q_tunnel is arista.avd.defined(true) %}
+{% set vlan_translation_both_cli = vlan_translation_both_cli ~ ' dot1q-tunnel' %}
+{% elif vlan_translation.inner_vlan_from is arista.avd.defined %}
+{% set vlan_translation_both_cli = vlan_translation_both_cli ~ ' inner ' ~ vlan_translation.inner_vlan_from %}
+{% if vlan_translation.network is arista.avd.defined(true) %}
+{% set vlan_translation_both_cli = vlan_translation_both_cli ~ ' network' %}
+{% endif %}
+{% endif %}
+{% set vlan_translation_both_cli = vlan_translation_both_cli ~ ' ' ~ vlan_translation.to %}
+ {{ vlan_translation_both_cli }}
+{% endfor %}
+{% if port_channel_interface.switchport.vlan_translations.direction_in is arista.avd.defined %}
+{% for vlan_translation in port_channel_interface.switchport.vlan_translations.direction_in %}
+{% set vlan_translation_in_cli = 'switchport vlan translation in ' ~ vlan_translation.from %}
+{% if vlan_translation.dot1q_tunnel is arista.avd.defined(true) %}
+{% set vlan_translation_in_cli = vlan_translation_in_cli ~ ' dot1q-tunnel' %}
+{% elif vlan_translation.inner_vlan_from is arista.avd.defined %}
+{% set vlan_translation_in_cli = vlan_translation_in_cli ~ ' inner ' ~ vlan_translation.inner_vlan_from %}
+{% endif %}
+{% set vlan_translation_in_cli = vlan_translation_in_cli ~ " " ~ vlan_translation.to %}
+ {{ vlan_translation_in_cli }}
+{% endfor %}
+{% endif %}
+{% if port_channel_interface.switchport.vlan_translations.direction_out is arista.avd.defined %}
+{% for vlan_translation in port_channel_interface.switchport.vlan_translations.direction_out %}
+{% if vlan_translation.dot1q_tunnel_to is arista.avd.defined %}
+{% set vlan_translation_out_cli = 'switchport vlan translation out ' ~ vlan_translation.from ~ ' dot1q-tunnel ' ~ vlan_translation.dot1q_tunnel_to %}
+{% elif vlan_translation.to is arista.avd.defined %}
+{% set vlan_translation_out_cli = 'switchport vlan translation out ' ~ vlan_translation.from ~ ' ' ~ vlan_translation.to %}
+{% if vlan_translation.inner_vlan_to is arista.avd.defined %}
+{% set vlan_translation_out_cli = vlan_translation_out_cli ~ ' inner ' ~ vlan_translation.inner_vlan_to %}
+{% endif %}
+{% endif %}
+{% if vlan_translation_out_cli is arista.avd.defined %}
+ {{ vlan_translation_out_cli }}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if port_channel_interface.switchport.trunk.private_vlan_secondary is arista.avd.defined(true) %}
+ switchport trunk private-vlan secondary
+{% endif %}
+{% if port_channel_interface.switchport.pvlan_mapping is arista.avd.defined %}
+ switchport pvlan mapping {{ port_channel_interface.switchport.pvlan_mapping }}
+{% endif %}
{% if port_channel_interface.l2_protocol.encapsulation_dot1q_vlan is arista.avd.defined %}
l2-protocol encapsulation dot1q vlan {{ port_channel_interface.l2_protocol.encapsulation_dot1q_vlan }}
{% endif %}
@@ -217,6 +309,38 @@ interface {{ port_channel_interface.name }}
{% if port_channel_interface.mlag is arista.avd.defined %}
mlag {{ port_channel_interface.mlag }}
{% endif %}
+{% if port_channel_interface.switchport.port_security is arista.avd.defined %}
+{% if port_channel_interface.switchport.port_security.enabled is arista.avd.defined(true) or port_channel_interface.switchport.port_security.violation.mode is arista.avd.defined('shutdown') %}
+ switchport port-security
+{% elif port_channel_interface.switchport.port_security.violation.mode is arista.avd.defined('protect') %}
+{% if port_channel_interface.switchport.port_security.violation.protect_log is arista.avd.defined(true) %}
+ switchport port-security violation protect log
+{% else %}
+ switchport port-security violation protect
+{% endif %}
+{% endif %}
+{% if port_channel_interface.switchport.port_security.mac_address_maximum.disabled is arista.avd.defined(true) %}
+ switchport port-security mac-address maximum disabled
+{% elif port_channel_interface.switchport.port_security.mac_address_maximum.disabled is arista.avd.defined(false) %}
+ no switchport port-security mac-address maximum disabled
+{% elif port_channel_interface.switchport.port_security.mac_address_maximum.limit is arista.avd.defined %}
+ switchport port-security mac-address maximum {{ port_channel_interface.switchport.port_security.mac_address_maximum.limit }}
+{% endif %}
+{% if port_channel_interface.switchport.port_security.violation.mode is not arista.avd.defined('protect') %}
+{% if port_channel_interface.switchport.port_security.vlans is arista.avd.defined %}
+{% for vlan in port_channel_interface.switchport.port_security.vlans %}
+{% if vlan.range is arista.avd.defined and vlan.mac_address_maximum is arista.avd.defined %}
+{% for id in vlan.range | arista.avd.range_expand %}
+ switchport port-security vlan {{ id }} mac-address maximum {{ vlan.mac_address_maximum }}
+{% endfor %}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if port_channel_interface.switchport.port_security.vlan_default_mac_address_maximum is arista.avd.defined %}
+ switchport port-security vlan default mac-address maximum {{ port_channel_interface.switchport.port_security.vlan_default_mac_address_maximum }}
+{% endif %}
+{% endif %}
+{% endif %}
{% if port_channel_interface.qos.trust is arista.avd.defined %}
{% if port_channel_interface.qos.trust == 'disabled' %}
no qos trust
@@ -358,6 +482,28 @@ interface {{ port_channel_interface.name }}
{% if port_channel_interface.pim.ipv4.bfd is arista.avd.defined(true) %}
pim ipv4 bfd
{% endif %}
+{% if port_channel_interface.switchport.backup_link.interface is arista.avd.defined %}
+{% set backup_link_cli = "switchport backup-link " ~ port_channel_interface.switchport.backup_link.interface %}
+{% if port_channel_interface.switchport.backup_link.prefer_vlan is arista.avd.defined %}
+{% set backup_link_cli = backup_link_cli ~ " prefer vlan " ~ port_channel_interface.switchport.backup_link.prefer_vlan %}
+{% endif %}
+ {{ backup_link_cli }}
+{% if port_channel_interface.switchport.backup.preemption_delay is arista.avd.defined %}
+ switchport backup preemption-delay {{ port_channel_interface.switchport.backup.preemption_delay }}
+{% endif %}
+{% if port_channel_interface.switchport.backup.mac_move_burst is arista.avd.defined %}
+ switchport backup mac-move-burst {{ port_channel_interface.switchport.backup.mac_move_burst }}
+{% endif %}
+{% if port_channel_interface.switchport.backup.mac_move_burst_interval is arista.avd.defined %}
+ switchport backup mac-move-burst-interval {{ port_channel_interface.switchport.backup.mac_move_burst_interval }}
+{% endif %}
+{% if port_channel_interface.switchport.backup.initial_mac_move_delay is arista.avd.defined %}
+ switchport backup initial-mac-move-delay {{ port_channel_interface.switchport.backup.initial_mac_move_delay }}
+{% endif %}
+{% if port_channel_interface.switchport.backup.dest_macaddr is arista.avd.defined %}
+ switchport backup dest-macaddr {{ port_channel_interface.switchport.backup.dest_macaddr }}
+{% endif %}
+{% endif %}
{% if port_channel_interface.vmtracer is arista.avd.defined(true) %}
vmtracer vmware-esx
{% endif %}
diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml
index 0eff5cd834f..f087b550f2f 100644
--- a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml
+++ b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml
@@ -1982,14 +1982,29 @@ keys:
For an access port this would be a single vlan "123".
'
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.access_vlan or ethernet_interfaces[].switchport.trunk.allowed_vlan
native_vlan:
type: int
convert_types:
- str
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.trunk.native_vlan
native_vlan_tag:
type: bool
description: If setting both native_vlan and native_vlan_tag, native_vlan_tag
takes precedence.
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.trunk.native_vlan_tag
mode:
type: str
valid_values:
@@ -1997,7 +2012,17 @@ keys:
- dot1q-tunnel
- trunk
- trunk phone
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.mode
phone:
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.phone
type: dict
keys:
trunk:
@@ -2007,12 +2032,22 @@ keys:
- tagged phone
- untagged
- untagged phone
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.phone.trunk
vlan:
type: int
min: 1
max: 4094
convert_types:
- str
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.phone.vlan
l2_protocol:
type: dict
keys:
@@ -2028,6 +2063,11 @@ keys:
type: list
items:
type: str
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.trunk.groups
type:
type: str
valid_values:
@@ -2039,8 +2079,7 @@ keys:
description: 'l3dot1q and l2dot1q are used for sub-interfaces. The parent
interface should be defined as routed.
- Interface will not be listed in device documentation, unless "type" is
- set.
+ The `type = switched/routed` should not be combined with `switchport`.
'
snmp_trap_link_change:
@@ -2769,12 +2808,27 @@ keys:
description: ZTP vlan number.
trunk_private_vlan_secondary:
type: bool
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.trunk.private_vlan_secondary
pvlan_mapping:
type: str
convert_types:
- int
description: List of vlans as string.
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.pvlan_mapping
vlan_translations:
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.vlan_translations
type: list
items:
type: dict
@@ -3443,7 +3497,292 @@ keys:
role.
switchport:
type: dict
+ description: This should not be combined with `ethernet_interfaces[].type
+ = switched/routed`.
keys:
+ enabled:
+ type: bool
+ description: 'Warning: This should not be combined with `ethernet_interfaces[].type
+ = routed`.'
+ mode:
+ type: str
+ valid_values:
+ - access
+ - dot1q-tunnel
+ - trunk
+ - trunk phone
+ description: 'Warning: This should not be combined with `ethernet_interfaces[].mode`.'
+ access_vlan:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: 'Set VLAN when interface is in access mode.
+
+ Warning: This should not be combined with `ethernet_interfaces[].mode
+ = access/dot1q-tunnel` and `ethernet_interface[].vlans`.'
+ trunk:
+ type: dict
+ keys:
+ allowed_vlan:
+ type: str
+ convert_types:
+ - int
+ description: 'VLAN ID or range(s) of VLAN IDs.
+
+ Warning: This should not be combined with `ethernet_interfaces[].mode
+ = trunk` and `ethernet_interface[].vlans`.'
+ native_vlan:
+ type: int
+ convert_types:
+ - str
+ description: 'Set native VLAN when interface is in trunking mode.
+
+ Warning: This should not be combined with `ethernet_interfaces[].native_vlan`.'
+ min: 1
+ max: 4094
+ native_vlan_tag:
+ type: bool
+ description: 'If setting both native_vlan and native_vlan_tag, native_vlan_tag
+ takes precedence.
+
+ Warning: This should not be combined with `ethernet_interfaces[].native_vlan_tag`.'
+ private_vlan_secondary:
+ type: bool
+ description: 'Enable secondary VLAN mapping for a private vlan.
+
+ Warning: This should not be combined with `ethernet_ineterfaces[].trunk_private_vlan_secondary`.'
+ groups:
+ description: 'Warning: This should not be combined with `ethernet_ineterfaces[].trunk_groups`.
+
+ '
+ type: list
+ items:
+ type: str
+ convert_types:
+ - int
+ description: Trunk group name.
+ phone:
+ type: dict
+ description: 'Warning: This should not be combined with `ethernet_interfaces[].phone`.'
+ keys:
+ vlan:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: 'Warning: This should not be combined with `ethernet_interfaces[].phone.vlan`.'
+ trunk:
+ type: str
+ description: 'Warning: This should not be combined with `ethernet_interfaces[].phone.trunk`.'
+ valid_values:
+ - tagged
+ - tagged phone
+ - untagged
+ - untagged phone
+ pvlan_mapping:
+ type: str
+ convert_types:
+ - int
+ description: 'Secondary VLAN IDs of the private VLAN mapping.
+
+ Warning: This should not be combined with `ethernet_interfaces[].pvlan_mapping`.'
+ dot1q:
+ type: dict
+ keys:
+ ethertype:
+ type: int
+ convert_types:
+ - str
+ min: 1536
+ max: 65535
+ description: Ethertype/TPID (Tag Protocol IDentifier) for VLAN tagged
+ frames.
+ vlan_tag:
+ type: str
+ description: Allow/disallow VLAN tagged frames.
+ valid_values:
+ - disallowed
+ - required
+ source_interface:
+ type: str
+ description: 'tx: Allow bridged traffic to go out of the source interface.
+
+ tx multicast: Allow multicast traffic only to go out of the source
+ interface.'
+ valid_values:
+ - tx
+ - tx multicast
+ vlan_translations:
+ description: 'VLAN Translation mappings.
+
+ Warning: This should not be combined with `ethernet_interfaces[].vlan_translations`.'
+ type: dict
+ keys:
+ in_required:
+ type: bool
+ description: Drop the ingress traffic that do not match any VLAN
+ mapping.
+ out_required:
+ type: bool
+ description: Drop the egress traffic that do not match any VLAN
+ mapping.
+ direction_in:
+ type: list
+ description: Map ingress traffic only.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range
+ 1-4094.
+ required: true
+ to:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: VLAN ID to map to.
+ required: true
+ dot1q_tunnel:
+ type: bool
+ inner_vlan_from:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map from.
+ direction_out:
+ type: list
+ description: Map egress traffic only.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range
+ 1-4094.
+ required: true
+ to:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: VLAN ID to map to.
+ dot1q_tunnel_to:
+ type: str
+ convert_types:
+ - int
+ description: 'VLAN ID or range of VLAN IDs or "all". Range
+ 1-4094.
+
+ This takes precedence over `to` and `inner_vlan_to`.'
+ inner_vlan_to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map to.
+ direction_both:
+ type: list
+ description: Map both egress and ingress traffic.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range
+ 1-4094.
+ required: true
+ to:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: VLAN ID to map to.
+ required: true
+ dot1q_tunnel:
+ type: bool
+ inner_vlan_from:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: Inner VLAN ID to map from.
+ network:
+ type: bool
+ description: 'Enable use of network-side VLAN ID.
+
+ This setting can only be enabled when `inner_vlan_from`
+ is defined.'
+ vlan_forwarding_accept_all:
+ type: bool
+ backup_link:
+ type: dict
+ keys:
+ interface:
+ type: str
+ description: Backup interface. Example - Ethernet4, Vlan10 etc.
+ prefer_vlan:
+ type: str
+ convert_types:
+ - int
+ description: VLANs to carry on the backup interface (1-4094).
+ backup:
+ type: dict
+ description: The `backup_link` is required for this setting.
+ keys:
+ dest_macaddr:
+ type: str
+ format: mac
+ description: 'Destination MAC address for MAC move updates.
+
+ The mac address should be multicast or broadcast.
+
+ Example: 01:00:00:00:00:00'
+ initial_mac_move_delay:
+ type: int
+ convert_types:
+ - str
+ description: Initial MAC move delay in milliseconds.
+ min: 0
+ max: 65535
+ mac_move_burst:
+ type: int
+ convert_types:
+ - str
+ description: Size of MAC move bursts.
+ min: 0
+ max: 65535
+ mac_move_burst_interval:
+ type: int
+ convert_types:
+ - str
+ description: MAC move burst interval in milliseconds.
+ min: 0
+ max: 65535
+ preemption_delay:
+ type: int
+ convert_types:
+ - str
+ description: Preemption delay in milliseconds.
+ min: 0
+ max: 65535
port_security:
type: dict
keys:
@@ -8528,6 +8867,11 @@ keys:
For an access port this would be a single vlan "123".
'
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.access_vlan or port_channel_interfaces[].switchport.trunk.allowed_vlan
snmp_trap_link_change:
type: bool
type:
@@ -8618,17 +8962,32 @@ keys:
- dot1q-tunnel
- trunk
- trunk phone
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.mode
native_vlan:
type: int
convert_types:
- str
description: If setting both native_vlan and native_vlan_tag, native_vlan_tag
takes precedence.
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.trunk.native_vlan
native_vlan_tag:
type: bool
default: false
description: If setting both native_vlan and native_vlan_tag, native_vlan_tag
takes precedence.
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.trunk.native_vlan_tag
link_tracking_groups:
type: list
primary_key: name
@@ -8645,18 +9004,33 @@ keys:
- downstream
phone:
type: dict
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.phone
keys:
trunk:
type: str
valid_values:
- tagged
- untagged
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.phone.trunk
vlan:
type: int
convert_types:
- str
min: 1
max: 4094
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.phone.vlan
l2_protocol:
type: dict
keys:
@@ -8685,6 +9059,11 @@ keys:
type: list
items:
type: str
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.trunk.groups
lacp_fallback_timeout:
type: int
description: Timeout in seconds.
@@ -8780,12 +9159,27 @@ keys:
type: bool
trunk_private_vlan_secondary:
type: bool
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.trunk.private_vlan_secondary
pvlan_mapping:
type: str
description: List of vlans as string.
convert_types:
- int
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.pvlan_mapping
vlan_translations:
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.vlan_translations
type: list
items:
type: dict
@@ -9334,6 +9728,348 @@ keys:
type: bool
unmodified_enable:
type: bool
+ switchport:
+ type: dict
+ keys:
+ enabled:
+ type: bool
+ description: 'Warning: This should not be combined with `port_channel_interfaces[].type
+ = routed`.'
+ mode:
+ type: str
+ valid_values:
+ - access
+ - dot1q-tunnel
+ - trunk
+ - trunk phone
+ description: 'Warning: This should not be combined with `port_channel_interfaces[].mode`'
+ access_vlan:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: 'Set VLAN when interface is in access mode.
+
+ Warning: This should not be combined with `port_channel_interfaces[].mode
+ = access/dot1q-tunnel` and `port_channel_interface.vlans`.'
+ trunk:
+ type: dict
+ keys:
+ allowed_vlan:
+ type: str
+ convert_types:
+ - int
+ description: 'VLAN ID or range(s) of VLAN IDs (1-4094).
+
+ Warning: This should not be combined with `port_channel_interfaces[].mode
+ = trunk` and `port_channel_interfaces[].vlans`.'
+ native_vlan:
+ type: int
+ convert_types:
+ - str
+ description: 'Set native VLAN when interface is in trunking mode.
+
+ Warning: This should not be combined with `port_channel_interfaces[].native_vlan`.'
+ min: 1
+ max: 4094
+ native_vlan_tag:
+ type: bool
+ description: 'If setting both native_vlan and native_vlan_tag, native_vlan_tag
+ takes precedence.
+
+ Warning: This should not be combined with `port_channel_interfaces[].native_vlan_tag`.'
+ private_vlan_secondary:
+ type: bool
+ description: 'Enable secondary VLAN mapping for a private vlan.
+
+ Warning: This should not be combined with `port_channel_interfaces[].trunk_private_vlan_secondary`.'
+ groups:
+ description: 'Warning: This should not be combined with `port_channel_interfaces[].trunk_groups`.
+
+ '
+ type: list
+ items:
+ type: str
+ convert_types:
+ - int
+ description: Trunk group name.
+ phone:
+ type: dict
+ keys:
+ vlan:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: 'Warning: This should not be combined with `port_channel_interfaces[].phone.vlan`.'
+ trunk:
+ type: str
+ description: 'Warning: This should not be combined with `port_channel_interfaces[].phone.trunk`'
+ valid_values:
+ - tagged
+ - tagged phone
+ - untagged
+ - untagged phone
+ pvlan_mapping:
+ type: str
+ convert_types:
+ - int
+ description: 'Secondary VLAN IDs of the private VLAN mapping.
+
+ Warning: This should not be combined with `port_channel_interfaces[].pvlan_mapping`.'
+ dot1q:
+ type: dict
+ keys:
+ ethertype:
+ type: int
+ convert_types:
+ - str
+ min: 1536
+ max: 65535
+ description: Ethertype/TPID (Tag Protocol IDentifier) for VLAN tagged
+ frames.
+ vlan_tag:
+ type: str
+ valid_values:
+ - disallowed
+ - required
+ source_interface:
+ type: str
+ description: 'tx: Allow bridged traffic to go out of the source interface.
+
+ tx multicast: Allow multicast traffic only to go out of the source
+ interface.'
+ valid_values:
+ - tx
+ - tx multicast
+ vlan_translations:
+ description: 'VLAN Translation mappings.
+
+ Warning: This should not be combined with `port_channel_interfaces[].vlan_translations`.'
+ type: dict
+ keys:
+ in_required:
+ type: bool
+ description: Drop the ingress traffic that do not match any VLAN
+ mapping.
+ out_required:
+ type: bool
+ description: Drop the egress traffic that do not match any VLAN
+ mapping.
+ direction_in:
+ type: list
+ description: Map ingress traffic only.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range
+ 1-4094.
+ to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: VLAN ID to map to.
+ dot1q_tunnel:
+ type: bool
+ inner_vlan_from:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map from.
+ direction_out:
+ type: list
+ description: Map egress traffic only.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range
+ 1-4094.
+ required: true
+ to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: VLAN ID to map to.
+ dot1q_tunnel_to:
+ type: str
+ convert_types:
+ - int
+ description: 'VLAN ID or range of VLAN IDs or "all". Range
+ 1-4094.
+
+ This takes precedence over `to` and `inner_vlan_to`.'
+ inner_vlan_to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map to.
+ direction_both:
+ type: list
+ description: Map both egress and ingress traffic.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range
+ 1-4094.
+ required: true
+ to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: VLAN ID to map to.
+ required: true
+ dot1q_tunnel:
+ type: bool
+ inner_vlan_from:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map from.
+ network:
+ type: bool
+ description: 'Enable use of network-side VLAN ID.
+
+ This setting can only be enabled when `inner_vlan_from`
+ is defined.'
+ vlan_forwarding_accept_all:
+ type: bool
+ backup_link:
+ type: dict
+ keys:
+ interface:
+ type: str
+ required: true
+ description: Backup interface. Example - Ethernet4, Vlan10 etc.
+ prefer_vlan:
+ type: str
+ convert_types:
+ - int
+ description: VLANs to carry on the backup interface (1-4094).
+ backup:
+ type: dict
+ description: The `backup_link` is required for this setting.
+ keys:
+ dest_macaddr:
+ type: str
+ format: mac
+ description: 'Destination MAC address for MAC move updates.
+
+ The mac address should be multicast or broadcast.
+
+ Example: 01:00:00:00:00:00'
+ initial_mac_move_delay:
+ type: int
+ convert_types:
+ - str
+ description: Initial MAC move delay in milliseconds.
+ min: 0
+ max: 65535
+ mac_move_burst:
+ type: int
+ convert_types:
+ - str
+ description: Size of MAC move bursts.
+ min: 0
+ max: 65535
+ mac_move_burst_interval:
+ type: int
+ convert_types:
+ - str
+ description: MAC move burst interval in milliseconds.
+ min: 0
+ max: 65535
+ preemption_delay:
+ type: int
+ convert_types:
+ - str
+ description: Preemption delay in milliseconds.
+ min: 0
+ max: 65535
+ port_security:
+ type: dict
+ keys:
+ enabled:
+ type: bool
+ mac_address_maximum:
+ type: dict
+ description: Maximum number of MAC addresses allowed on the interface.
+ keys:
+ disabled:
+ type: bool
+ description: Disable port level check for port security (only
+ in violation 'shutdown' mode).
+ limit:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 1000
+ description: MAC address limit.
+ violation:
+ type: dict
+ description: Configure violation mode (shutdown or protect), EOS
+ default is 'shutdown'.
+ keys:
+ mode:
+ type: str
+ valid_values:
+ - shutdown
+ - protect
+ description: Configure port security mode.
+ protect_log:
+ type: bool
+ description: Log new addresses seen after limit is reached in
+ protect mode.
+ vlan_default_mac_address_maximum:
+ type: int
+ convert_types:
+ - str
+ min: 0
+ max: 1000
+ description: Default maximum MAC addresses for all VLANs on this
+ interface.
+ vlans:
+ type: list
+ primary_key: range
+ items:
+ type: dict
+ keys:
+ range:
+ type: str
+ convert_types:
+ - int
+ description: "VLAN ID or range(s) of VLAN IDs, <1-4094>.\nExample:\n
+ \ - 3\n - 1,3\n - 1-10\n"
+ mac_address_maximum:
+ type: int
+ convert_types:
+ - str
validate_state:
type: bool
description: Set to false to disable interface validation by the `eos_validate_state`
diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/ethernet_interfaces.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/ethernet_interfaces.schema.yml
index a41cce6df5a..fa15615d333 100644
--- a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/ethernet_interfaces.schema.yml
+++ b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/ethernet_interfaces.schema.yml
@@ -58,28 +58,63 @@ keys:
List of switchport vlans as string.
For a trunk port this would be a range like "1-200,300".
For an access port this would be a single vlan "123".
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.access_vlan or ethernet_interfaces[].switchport.trunk.allowed_vlan
native_vlan:
type: int
convert_types:
- str
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.trunk.native_vlan
native_vlan_tag:
type: bool
description: If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.trunk.native_vlan_tag
mode:
type: str
valid_values: ["access", "dot1q-tunnel", "trunk", "trunk phone"]
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.mode
phone:
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.phone
type: dict
keys:
trunk:
type: str
valid_values: ["tagged", "tagged phone", "untagged", "untagged phone"]
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.phone.trunk
vlan:
type: int
min: 1
max: 4094
convert_types:
- str
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.phone.vlan
l2_protocol:
type: dict
keys:
@@ -95,12 +130,17 @@ keys:
type: list
items:
type: str
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.trunk.groups
type:
type: str
valid_values: ["routed", "switched", "l3dot1q", "l2dot1q", "port-channel-member"]
description: |
l3dot1q and l2dot1q are used for sub-interfaces. The parent interface should be defined as routed.
- Interface will not be listed in device documentation, unless "type" is set.
+ The `type = switched/routed` should not be combined with `switchport`.
snmp_trap_link_change:
type: bool
address_locking:
@@ -757,12 +797,27 @@ keys:
description: ZTP vlan number.
trunk_private_vlan_secondary:
type: bool
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.trunk.private_vlan_secondary
pvlan_mapping:
type: str
convert_types:
- int
description: List of vlans as string.
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.pvlan_mapping
vlan_translations:
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: ethernet_interfaces[].switchport.vlan_translations
type: list
items:
type: dict
@@ -1374,7 +1429,286 @@ keys:
description: Set to false to disable interface validation by the `eos_validate_state` role.
switchport:
type: dict
+ description: This should not be combined with `ethernet_interfaces[].type = switched/routed`.
keys:
+ enabled:
+ type: bool
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].type` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `ethernet_interfaces[].type = routed`.
+ mode:
+ type: str
+ valid_values: ["access", "dot1q-tunnel", "trunk", "trunk phone"]
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].mode` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `ethernet_interfaces[].mode`.
+ access_vlan:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].mode` and `ethernet_interface[].vlans` are removed in AVD6.0
+ description: |-
+ Set VLAN when interface is in access mode.
+ Warning: This should not be combined with `ethernet_interfaces[].mode = access/dot1q-tunnel` and `ethernet_interface[].vlans`.
+ trunk:
+ type: dict
+ keys:
+ allowed_vlan:
+ type: str
+ convert_types:
+ - int
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].mode` and `ethernet_interface[].vlans` are removed in AVD6.0
+ description: |-
+ VLAN ID or range(s) of VLAN IDs.
+ Warning: This should not be combined with `ethernet_interfaces[].mode = trunk` and `ethernet_interface[].vlans`.
+ native_vlan:
+ type: int
+ convert_types:
+ - str
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].native_vlan` is removed in AVD6.0
+ description: |-
+ Set native VLAN when interface is in trunking mode.
+ Warning: This should not be combined with `ethernet_interfaces[].native_vlan`.
+ min: 1
+ max: 4094
+ native_vlan_tag:
+ type: bool
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].native_vlan_tag` is removed in AVD6.0
+ description: |-
+ If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ Warning: This should not be combined with `ethernet_interfaces[].native_vlan_tag`.
+ private_vlan_secondary:
+ type: bool
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_ineterfaces[].trunk_private_vlan_secondary` is removed in AVD6.0
+ description: |-
+ Enable secondary VLAN mapping for a private vlan.
+ Warning: This should not be combined with `ethernet_ineterfaces[].trunk_private_vlan_secondary`.
+ groups:
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_ineterfaces[].trunk_groups` is removed in AVD6.0
+ description: |
+ Warning: This should not be combined with `ethernet_ineterfaces[].trunk_groups`.
+ type: list
+ items:
+ type: str
+ convert_types:
+ - int
+ description: Trunk group name.
+ phone:
+ type: dict
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].phone` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `ethernet_interfaces[].phone`.
+ keys:
+ vlan:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].phone.vlan` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `ethernet_interfaces[].phone.vlan`.
+ trunk:
+ type: str
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].phone.trunk` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `ethernet_interfaces[].phone.trunk`.
+ valid_values: ["tagged", "tagged phone", "untagged", "untagged phone"]
+ pvlan_mapping:
+ type: str
+ convert_types:
+ - int
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].pvlan_mapping` is removed in AVD6.0
+ description: |-
+ Secondary VLAN IDs of the private VLAN mapping.
+ Warning: This should not be combined with `ethernet_interfaces[].pvlan_mapping`.
+ dot1q:
+ type: dict
+ keys:
+ ethertype:
+ type: int
+ convert_types:
+ - str
+ min: 1536
+ max: 65535
+ description: Ethertype/TPID (Tag Protocol IDentifier) for VLAN tagged frames.
+ vlan_tag:
+ type: str
+ description: Allow/disallow VLAN tagged frames.
+ valid_values:
+ - disallowed
+ - required
+ source_interface:
+ type: str
+ description: |-
+ tx: Allow bridged traffic to go out of the source interface.
+ tx multicast: Allow multicast traffic only to go out of the source interface.
+ valid_values:
+ - tx
+ - tx multicast
+ vlan_translations:
+ # TODO: AVD6.0 the warning below should be removed when the `ethernet_interfaces[].vlan_translations` is removed in AVD6.0
+ description: |-
+ VLAN Translation mappings.
+ Warning: This should not be combined with `ethernet_interfaces[].vlan_translations`.
+ type: dict
+ keys:
+ in_required:
+ type: bool
+ description: Drop the ingress traffic that do not match any VLAN mapping.
+ out_required:
+ type: bool
+ description: Drop the egress traffic that do not match any VLAN mapping.
+ direction_in:
+ type: list
+ description: Map ingress traffic only.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ required: true
+ to:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: VLAN ID to map to.
+ required: true
+ dot1q_tunnel:
+ type: bool
+ inner_vlan_from:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map from.
+ direction_out:
+ type: list
+ description: Map egress traffic only.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ required: true
+ to:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: VLAN ID to map to.
+ dot1q_tunnel_to:
+ type: str
+ convert_types:
+ - int
+ description: |-
+ VLAN ID or range of VLAN IDs or "all". Range 1-4094.
+ This takes precedence over `to` and `inner_vlan_to`.
+ inner_vlan_to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map to.
+ direction_both:
+ type: list
+ description: Map both egress and ingress traffic.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ required: true
+ to:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: VLAN ID to map to.
+ required: true
+ dot1q_tunnel:
+ type: bool
+ inner_vlan_from:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 4094
+ description: Inner VLAN ID to map from.
+ network:
+ type: bool
+ description: |-
+ Enable use of network-side VLAN ID.
+ This setting can only be enabled when `inner_vlan_from` is defined.
+ vlan_forwarding_accept_all:
+ type: bool
+ backup_link:
+ type: dict
+ keys:
+ interface:
+ type: str
+ description: Backup interface. Example - Ethernet4, Vlan10 etc.
+ prefer_vlan:
+ type: str
+ convert_types:
+ - int
+ description: VLANs to carry on the backup interface (1-4094).
+ backup:
+ type: dict
+ description: The `backup_link` is required for this setting.
+ keys:
+ dest_macaddr:
+ type: str
+ format: mac
+ description: |-
+ Destination MAC address for MAC move updates.
+ The mac address should be multicast or broadcast.
+ Example: 01:00:00:00:00:00
+ initial_mac_move_delay:
+ type: int
+ convert_types:
+ - str
+ description: Initial MAC move delay in milliseconds.
+ min: 0
+ max: 65535
+ mac_move_burst:
+ type: int
+ convert_types:
+ - str
+ description: Size of MAC move bursts.
+ min: 0
+ max: 65535
+ mac_move_burst_interval:
+ type: int
+ convert_types:
+ - str
+ description: MAC move burst interval in milliseconds.
+ min: 0
+ max: 65535
+ preemption_delay:
+ type: int
+ convert_types:
+ - str
+ description: Preemption delay in milliseconds.
+ min: 0
+ max: 65535
port_security:
type: dict
keys:
diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml
index 59667337ab7..909fdaa4440 100644
--- a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml
+++ b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml
@@ -54,6 +54,11 @@ keys:
List of switchport vlans as string.
For a trunk port this would be a range like "1-200,300".
For an access port this would be a single vlan "123".
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.access_vlan or port_channel_interfaces[].switchport.trunk.allowed_vlan
snmp_trap_link_change:
type: bool
type:
@@ -139,15 +144,30 @@ keys:
- dot1q-tunnel
- trunk
- trunk phone
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.mode
native_vlan:
type: int
convert_types:
- str
description: If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.trunk.native_vlan
native_vlan_tag:
type: bool
default: false
description: If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.trunk.native_vlan_tag
link_tracking_groups:
type: list
primary_key: name
@@ -164,18 +184,33 @@ keys:
- downstream
phone:
type: dict
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.phone
keys:
trunk:
type: str
valid_values:
- tagged
- untagged
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.phone.trunk
vlan:
type: int
convert_types:
- str
min: 1
max: 4094
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.phone.vlan
l2_protocol:
type: dict
keys:
@@ -204,6 +239,11 @@ keys:
type: list
items:
type: str
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.trunk.groups
lacp_fallback_timeout:
type: int
description: Timeout in seconds.
@@ -297,12 +337,27 @@ keys:
type: bool
trunk_private_vlan_secondary:
type: bool
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.trunk.private_vlan_secondary
pvlan_mapping:
type: str
description: List of vlans as string.
convert_types:
- int
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.pvlan_mapping
vlan_translations:
+ deprecation:
+ warning: true
+ removed: false
+ remove_in_version: 6.0.0
+ new_key: port_channel_interfaces[].switchport.vlan_translations
type: list
items:
type: dict
@@ -824,6 +879,341 @@ keys:
type: bool
unmodified_enable:
type: bool
+ switchport:
+ type: dict
+ keys:
+ enabled:
+ type: bool
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].type` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `port_channel_interfaces[].type = routed`.
+ mode:
+ type: str
+ valid_values: ["access", "dot1q-tunnel", "trunk", "trunk phone"]
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].mode` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `port_channel_interfaces[].mode`
+ access_vlan:
+ type: int
+ convert_types:
+ - "str"
+ min: 1
+ max: 4094
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].mode` and `port_channel_interfaces[].vlans` are removed in AVD6.0
+ description: |-
+ Set VLAN when interface is in access mode.
+ Warning: This should not be combined with `port_channel_interfaces[].mode = access/dot1q-tunnel` and `port_channel_interface.vlans`.
+ trunk:
+ type: dict
+ keys:
+ allowed_vlan:
+ type: str
+ convert_types:
+ - int
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].mode` and `port_channel_interfaces[].vlans` are removed in AVD6.0
+ description: |-
+ VLAN ID or range(s) of VLAN IDs (1-4094).
+ Warning: This should not be combined with `port_channel_interfaces[].mode = trunk` and `port_channel_interfaces[].vlans`.
+ native_vlan:
+ type: int
+ convert_types:
+ - str
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].native_vlan` is removed in AVD6.0
+ description: |-
+ Set native VLAN when interface is in trunking mode.
+ Warning: This should not be combined with `port_channel_interfaces[].native_vlan`.
+ min: 1
+ max: 4094
+ native_vlan_tag:
+ type: bool
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].native_vlan_tag` is removed in AVD6.0
+ description: |-
+ If setting both native_vlan and native_vlan_tag, native_vlan_tag takes precedence.
+ Warning: This should not be combined with `port_channel_interfaces[].native_vlan_tag`.
+ private_vlan_secondary:
+ type: bool
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].trunk_private_vlan_secondary` is removed in AVD6.0
+ description: |-
+ Enable secondary VLAN mapping for a private vlan.
+ Warning: This should not be combined with `port_channel_interfaces[].trunk_private_vlan_secondary`.
+ groups:
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].trunk_groups` is removed in AVD6.0
+ description: |
+ Warning: This should not be combined with `port_channel_interfaces[].trunk_groups`.
+ type: list
+ items:
+ type: str
+ convert_types:
+ - int
+ description: Trunk group name.
+ phone:
+ type: dict
+ keys:
+ vlan:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].phone.vlan` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `port_channel_interfaces[].phone.vlan`.
+ trunk:
+ type: str
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].phone.trunk` is removed in AVD6.0
+ description: |-
+ Warning: This should not be combined with `port_channel_interfaces[].phone.trunk`
+ valid_values: ["tagged", "tagged phone", "untagged", "untagged phone"]
+ pvlan_mapping:
+ type: str
+ convert_types:
+ - int
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].pvlan_mapping` is removed in AVD6.0
+ description: |-
+ Secondary VLAN IDs of the private VLAN mapping.
+ Warning: This should not be combined with `port_channel_interfaces[].pvlan_mapping`.
+ dot1q:
+ type: dict
+ keys:
+ ethertype:
+ type: int
+ convert_types:
+ - str
+ min: 1536
+ max: 65535
+ description: Ethertype/TPID (Tag Protocol IDentifier) for VLAN tagged frames.
+ vlan_tag:
+ type: str
+ valid_values:
+ - disallowed
+ - required
+ source_interface:
+ type: str
+ description: |-
+ tx: Allow bridged traffic to go out of the source interface.
+ tx multicast: Allow multicast traffic only to go out of the source interface.
+ valid_values:
+ - tx
+ - tx multicast
+ vlan_translations:
+ # TODO: AVD6.0 the warning below should be removed when the `port_channel_interfaces[].vlan_translations` is removed in AVD6.0
+ description: |-
+ VLAN Translation mappings.
+ Warning: This should not be combined with `port_channel_interfaces[].vlan_translations`.
+ type: dict
+ keys:
+ in_required:
+ type: bool
+ description: Drop the ingress traffic that do not match any VLAN mapping.
+ out_required:
+ type: bool
+ description: Drop the egress traffic that do not match any VLAN mapping.
+ direction_in:
+ type: list
+ description: Map ingress traffic only.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: VLAN ID to map to.
+ dot1q_tunnel:
+ type: bool
+ inner_vlan_from:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map from.
+ direction_out:
+ type: list
+ description: Map egress traffic only.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ required: true
+ to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: VLAN ID to map to.
+ dot1q_tunnel_to:
+ type: str
+ convert_types:
+ - int
+ description: |-
+ VLAN ID or range of VLAN IDs or "all". Range 1-4094.
+ This takes precedence over `to` and `inner_vlan_to`.
+ inner_vlan_to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map to.
+ direction_both:
+ type: list
+ description: Map both egress and ingress traffic.
+ items:
+ type: dict
+ keys:
+ from:
+ type: str
+ convert_types:
+ - int
+ description: VLAN ID or range of VLAN IDs to map from. Range 1-4094.
+ required: true
+ to:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: VLAN ID to map to.
+ required: true
+ dot1q_tunnel:
+ type: bool
+ inner_vlan_from:
+ type: int
+ min: 1
+ max: 4094
+ convert_types:
+ - str
+ description: Inner VLAN ID to map from.
+ network:
+ type: bool
+ description: |-
+ Enable use of network-side VLAN ID.
+ This setting can only be enabled when `inner_vlan_from` is defined.
+ vlan_forwarding_accept_all:
+ type: bool
+ backup_link:
+ type: dict
+ keys:
+ interface:
+ type: str
+ required: true
+ description: Backup interface. Example - Ethernet4, Vlan10 etc.
+ prefer_vlan:
+ type: str
+ convert_types:
+ - int
+ description: VLANs to carry on the backup interface (1-4094).
+ backup:
+ type: dict
+ description: The `backup_link` is required for this setting.
+ keys:
+ dest_macaddr:
+ type: str
+ format: mac
+ description: |-
+ Destination MAC address for MAC move updates.
+ The mac address should be multicast or broadcast.
+ Example: 01:00:00:00:00:00
+ initial_mac_move_delay:
+ type: int
+ convert_types:
+ - str
+ description: Initial MAC move delay in milliseconds.
+ min: 0
+ max: 65535
+ mac_move_burst:
+ type: int
+ convert_types:
+ - str
+ description: Size of MAC move bursts.
+ min: 0
+ max: 65535
+ mac_move_burst_interval:
+ type: int
+ convert_types:
+ - str
+ description: MAC move burst interval in milliseconds.
+ min: 0
+ max: 65535
+ preemption_delay:
+ type: int
+ convert_types:
+ - str
+ description: Preemption delay in milliseconds.
+ min: 0
+ max: 65535
+ port_security:
+ type: dict
+ keys:
+ enabled:
+ type: bool
+ mac_address_maximum:
+ type: dict
+ description: Maximum number of MAC addresses allowed on the interface.
+ keys:
+ disabled:
+ type: bool
+ description: Disable port level check for port security (only in violation 'shutdown' mode).
+ limit:
+ type: int
+ convert_types:
+ - str
+ min: 1
+ max: 1000
+ description: MAC address limit.
+ violation:
+ type: dict
+ description: Configure violation mode (shutdown or protect), EOS default is 'shutdown'.
+ keys:
+ mode:
+ type: str
+ valid_values:
+ - shutdown
+ - protect
+ description: Configure port security mode.
+ protect_log:
+ type: bool
+ description: Log new addresses seen after limit is reached in protect mode.
+ vlan_default_mac_address_maximum:
+ type: int
+ convert_types:
+ - str
+ min: 0
+ max: 1000
+ description: Default maximum MAC addresses for all VLANs on this interface.
+ vlans:
+ type: list
+ primary_key: range
+ items:
+ type: dict
+ keys:
+ range:
+ type: str
+ convert_types:
+ - int
+ description: |
+ VLAN ID or range(s) of VLAN IDs, <1-4094>.
+ Example:
+ - 3
+ - 1,3
+ - 1-10
+ mac_address_maximum:
+ type: int
+ convert_types:
+ - str
validate_state:
type: bool
description: Set to false to disable interface validation by the `eos_validate_state` role.
diff --git a/python-avd/tests/pyavd/eos_cli_config_gen/test_get_device_doc.py b/python-avd/tests/pyavd/eos_cli_config_gen/test_get_device_doc.py
index 21e6edc30a1..17979b32aef 100644
--- a/python-avd/tests/pyavd/eos_cli_config_gen/test_get_device_doc.py
+++ b/python-avd/tests/pyavd/eos_cli_config_gen/test_get_device_doc.py
@@ -1,7 +1,7 @@
# Copyright (c) 2023-2024 Arista Networks, Inc.
# Use of this source code is governed by the Apache License 2.0
# that can be found in the LICENSE file.
-from pyavd import get_device_doc
+from pyavd import get_device_doc, validate_structured_config
def test_get_device_doc(hostname: str, all_inputs: dict, device_docs: dict) -> None:
@@ -10,6 +10,9 @@ def test_get_device_doc(hostname: str, all_inputs: dict, device_docs: dict) -> N
if not structured_config.get("generate_device_documentation", True):
return
+ # run validation on structured_config to ensure it is covered
+ validate_structured_config(structured_config)
+
expected_doc: str = device_docs.get(hostname, "")
device_doc = get_device_doc(structured_config, add_md_toc=True)