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 a396144afed..75348fb62a1 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
@@ -594,20 +594,20 @@ ethernet_interfaces:
encapsulation_vlan:
client:
protocol: dot1q
- outer: 400
- inner: 20
+ outer_vlan: 400
+ inner_vlan: 20
network:
protocol: dot1q
- outer: 401
- inner: 21
+ outer_vlan: 401
+ inner_vlan: 21
- name: Ethernet26.500
description: TENANT_A pseudowire 3 interface
encapsulation_vlan:
client:
protocol: dot1q
- outer: 500
- inner: 50
+ outer_vlan: 500
+ inner_vlan: 50
network:
protocol: client
@@ -1200,14 +1200,14 @@ ethernet_interfaces:
description: Test_encapsulation_vlan1
encapsulation_vlan:
client:
- outer: 23
- inner: 45
+ outer_vlan: 23
+ inner_vlan: 45
protocol: dot1q
inner_protocol: dot1q
network:
protocol: dot1ad
- outer: 32
- inner: 54
+ outer_vlan: 32
+ inner_vlan: 54
inner_protocol: dot1ad
- name: Ethernet68.2
@@ -1218,8 +1218,8 @@ ethernet_interfaces:
vlan: 10
network:
protocol: dot1q
- outer: 32
- inner: 54
+ outer_vlan: 32
+ inner_vlan: 54
- name: Ethernet68.3
description: Test_encapsulation_vlan3
@@ -1236,13 +1236,13 @@ ethernet_interfaces:
encapsulation_vlan:
client:
protocol: dot1ad
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
inner_protocol: dot1q
network:
protocol: dot1q
- outer: 53
- inner: 6
+ outer_vlan: 53
+ inner_vlan: 6
inner_protocol: dot1ad
- name: Ethernet68.5
@@ -1250,20 +1250,20 @@ ethernet_interfaces:
encapsulation_vlan:
client:
protocol: dot1ad
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
network:
protocol: dot1ad
- outer: 52
- inner: 62
+ outer_vlan: 52
+ inner_vlan: 62
- name: Ethernet68.6
description: Test_encapsulation_vlan6
encapsulation_vlan:
client:
protocol: dot1ad
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
network:
protocol: client
@@ -1274,8 +1274,8 @@ ethernet_interfaces:
protocol: untagged
network:
protocol: dot1ad
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
- name: Ethernet68.8
description: Test_encapsulation_vlan8
@@ -1284,8 +1284,8 @@ ethernet_interfaces:
protocol: untagged
network:
protocol: dot1q
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
- name: Ethernet68.9
description: Test_encapsulation_vlan9
@@ -1300,7 +1300,7 @@ ethernet_interfaces:
encapsulation_vlan:
client:
protocol: dot1q
- outer: 14
- inner: 11
+ outer_vlan: 14
+ inner_vlan: 11
network:
protocol: client inner
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 bf9916a7de5..fc237a95726 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
@@ -480,12 +480,12 @@ port_channel_interfaces:
encapsulation_vlan:
client:
protocol: dot1q
- outer: 400
- inner: 20
+ outer_vlan: 400
+ inner_vlan: 20
network:
protocol: dot1q
- outer: 401
- inner: 21
+ outer_vlan: 401
+ inner_vlan: 21
- name: Port-Channel111.1000
description: L2 Subinterface
@@ -615,14 +615,14 @@ port_channel_interfaces:
description: Test_encapsulation_vlan1
encapsulation_vlan:
client:
- outer: 23
- inner: 45
+ outer_vlan: 23
+ inner_vlan: 45
protocol: dot1q
inner_protocol: dot1q
network:
protocol: dot1ad
- outer: 32
- inner: 54
+ outer_vlan: 32
+ inner_vlan: 54
inner_protocol: dot1ad
- name: Port-Channel131.2
@@ -633,8 +633,8 @@ port_channel_interfaces:
vlan: 10
network:
protocol: dot1q
- outer: 32
- inner: 54
+ outer_vlan: 32
+ inner_vlan: 54
- name: Port-Channel131.3
description: Test_encapsulation_vlan3
@@ -651,13 +651,13 @@ port_channel_interfaces:
encapsulation_vlan:
client:
protocol: dot1ad
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
inner_protocol: dot1q
network:
protocol: dot1q
- outer: 53
- inner: 6
+ outer_vlan: 53
+ inner_vlan: 6
inner_protocol: dot1ad
- name: Port-Channel131.5
@@ -665,20 +665,20 @@ port_channel_interfaces:
encapsulation_vlan:
client:
protocol: dot1ad
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
network:
protocol: dot1ad
- outer: 52
- inner: 62
+ outer_vlan: 52
+ inner_vlan: 62
- name: Port-Channel131.6
description: Test_encapsulation_vlan6
encapsulation_vlan:
client:
protocol: dot1ad
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
network:
protocol: client
@@ -689,8 +689,8 @@ port_channel_interfaces:
protocol: untagged
network:
protocol: dot1ad
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
- name: Port-Channel131.8
description: Test_encapsulation_vlan8
@@ -699,8 +699,8 @@ port_channel_interfaces:
protocol: untagged
network:
protocol: dot1q
- outer: 35
- inner: 60
+ outer_vlan: 35
+ inner_vlan: 60
- name: Port-Channel131.9
description: Test_encapsulation_vlan9
@@ -715,8 +715,8 @@ port_channel_interfaces:
encapsulation_vlan:
client:
protocol: dot1q
- outer: 14
- inner: 11
+ outer_vlan: 14
+ inner_vlan: 11
network:
protocol: client inner
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 a190bc9b40d..c1e7ce7a5d3 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
@@ -67,25 +67,25 @@
| [ encapsulation_vlan](## "ethernet_interfaces.[].encapsulation_vlan") | Dictionary | | | | This setting can only be applied to sub-interfaces on EOS.
Warning: `encapsulation_vlan` should not be combined with `ethernet_interfaces[].type == l3dot1q/l2dot1q`. |
| [ client](## "ethernet_interfaces.[].encapsulation_vlan.client") | Dictionary | | | | |
| [ dot1q](## "ethernet_interfaces.[].encapsulation_vlan.client.dot1q") deprecated | Dictionary | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. |
- | [ vlan](## "ethernet_interfaces.[].encapsulation_vlan.client.dot1q.vlan") | Integer | | | | Client VLAN ID. |
- | [ outer](## "ethernet_interfaces.[].encapsulation_vlan.client.dot1q.outer") | Integer | | | | Client Outer VLAN ID. |
+ | [ vlan](## "ethernet_interfaces.[].encapsulation_vlan.client.dot1q.vlan") | Integer | | | Min: 1
Max: 4094 | Client VLAN ID. |
+ | [ outer](## "ethernet_interfaces.[].encapsulation_vlan.client.dot1q.outer") | Integer | | | Min: 1
Max: 4094 | Client Outer VLAN ID. |
| [ inner](## "ethernet_interfaces.[].encapsulation_vlan.client.dot1q.inner") | Integer | | | | Client Inner VLAN ID. |
| [ unmatched](## "ethernet_interfaces.[].encapsulation_vlan.client.unmatched") deprecated | Boolean | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. |
| [ protocol](## "ethernet_interfaces.[].encapsulation_vlan.client.protocol") | String | | | Valid Values:
- dot1q
- dot1ad
- unmatched
- untagged
| |
| [ vlan](## "ethernet_interfaces.[].encapsulation_vlan.client.vlan") | Integer | | | Min: 1
Max: 4094 | Client VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
- | [ outer](## "ethernet_interfaces.[].encapsulation_vlan.client.outer") | Integer | | | Min: 1
Max: 4094 | Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
- | [ inner](## "ethernet_interfaces.[].encapsulation_vlan.client.inner") | Integer | | | Min: 1
Max: 4094 | Client Inner VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
+ | [ outer_vlan](## "ethernet_interfaces.[].encapsulation_vlan.client.outer_vlan") | Integer | | | Min: 1
Max: 4094 | Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
+ | [ inner_vlan](## "ethernet_interfaces.[].encapsulation_vlan.client.inner_vlan") | Integer | | | Min: 1
Max: 4094 | Client Inner VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
| [ inner_protocol](## "ethernet_interfaces.[].encapsulation_vlan.client.inner_protocol") | String | | | Valid Values:
- dot1q
- dot1ad
| |
| [ network](## "ethernet_interfaces.[].encapsulation_vlan.network") | Dictionary | | | | Network encapsulations are all optional and skipped if using client unmatched. |
| [ dot1q](## "ethernet_interfaces.[].encapsulation_vlan.network.dot1q") deprecated | Dictionary | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. |
- | [ vlan](## "ethernet_interfaces.[].encapsulation_vlan.network.dot1q.vlan") | Integer | | | | Network VLAN ID. |
- | [ outer](## "ethernet_interfaces.[].encapsulation_vlan.network.dot1q.outer") | Integer | | | | Network outer VLAN ID. |
- | [ inner](## "ethernet_interfaces.[].encapsulation_vlan.network.dot1q.inner") | Integer | | | | Network inner VLAN ID. |
+ | [ vlan](## "ethernet_interfaces.[].encapsulation_vlan.network.dot1q.vlan") | Integer | | | Min: 1
Max: 4094 | Network VLAN ID. |
+ | [ outer](## "ethernet_interfaces.[].encapsulation_vlan.network.dot1q.outer") | Integer | | | Min: 1
Max: 4094 | Network outer VLAN ID. |
+ | [ inner](## "ethernet_interfaces.[].encapsulation_vlan.network.dot1q.inner") | Integer | | | Min: 1
Max: 4094 | Network inner VLAN ID. |
| [ client](## "ethernet_interfaces.[].encapsulation_vlan.network.client") deprecated | Boolean | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. |
| [ protocol](## "ethernet_interfaces.[].encapsulation_vlan.network.protocol") | String | | | Valid Values:
- dot1q
- dot1ad
- client
- client inner
- untagged
| `untagged` (no encapsulation) is applicable for `untagged` client only.
`client` and `client inner` (retain client encapsulation) is not applicable for `untagged` client. |
| [ vlan](## "ethernet_interfaces.[].encapsulation_vlan.network.vlan") | Integer | | | Min: 1
Max: 4094 | Network VLAN ID. Not applicable for `protocol==untagged/client`. |
- | [ outer](## "ethernet_interfaces.[].encapsulation_vlan.network.outer") | Integer | | | Min: 1
Max: 4094 | Network outer VLAN ID. Not applicable for `protocol==untagged/client`. |
- | [ inner](## "ethernet_interfaces.[].encapsulation_vlan.network.inner") | Integer | | | Min: 1
Max: 4094 | Network inner VLAN ID. Not applicable for `protocol==untagged/client`. |
+ | [ outer_vlan](## "ethernet_interfaces.[].encapsulation_vlan.network.outer_vlan") | Integer | | | Min: 1
Max: 4094 | Network outer VLAN ID. Not applicable for `protocol==untagged/client`. |
+ | [ inner_vlan](## "ethernet_interfaces.[].encapsulation_vlan.network.inner_vlan") | Integer | | | Min: 1
Max: 4094 | Network inner VLAN ID. Not applicable for `protocol==untagged/client`. |
| [ inner_protocol](## "ethernet_interfaces.[].encapsulation_vlan.network.inner_protocol") | String | | | Valid Values:
- dot1q
- dot1ad
| |
| [ vlan_id](## "ethernet_interfaces.[].vlan_id") | Integer | | | Min: 1
Max: 4094 | This setting can only be applied to sub-interfaces on EOS.
Warning: `vlan_id` should not be combined with `ethernet_interfaces[].type == l2dot1q`. |
| [ ip_address](## "ethernet_interfaces.[].ip_address") | String | | | | IPv4 address/mask or "dhcp". |
@@ -621,10 +621,10 @@
dot1q:
# Client VLAN ID.
- vlan:
+ vlan:
# Client Outer VLAN ID.
- outer:
+ outer:
# Client Inner VLAN ID.
inner:
@@ -637,10 +637,10 @@
vlan:
# Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- outer:
+ outer_vlan:
# Client Inner VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- inner:
+ inner_vlan:
inner_protocol:
# Network encapsulations are all optional and skipped if using client unmatched.
@@ -650,13 +650,13 @@
dot1q:
# Network VLAN ID.
- vlan:
+ vlan:
# Network outer VLAN ID.
- outer:
+ outer:
# Network inner VLAN ID.
- inner:
+ inner:
# This key is deprecated.
# Support will be removed in AVD version 6.0.0.
client:
@@ -669,10 +669,10 @@
vlan:
# Network outer VLAN ID. Not applicable for `protocol==untagged/client`.
- outer:
+ outer_vlan:
# Network inner VLAN ID. Not applicable for `protocol==untagged/client`.
- inner:
+ inner_vlan:
inner_protocol:
# This setting can only be applied to sub-interfaces on EOS.
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 34c429ab1ed..8345b9440c0 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
@@ -29,13 +29,13 @@
| [ client](## "port_channel_interfaces.[].encapsulation_vlan.client") | Dictionary | | | | |
| [ dot1q](## "port_channel_interfaces.[].encapsulation_vlan.client.dot1q") deprecated | Dictionary | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. |
| [ vlan](## "port_channel_interfaces.[].encapsulation_vlan.client.dot1q.vlan") | Integer | | | | Client VLAN ID. |
- | [ outer](## "port_channel_interfaces.[].encapsulation_vlan.client.dot1q.outer") | Integer | | | | Client Outer VLAN ID. |
- | [ inner](## "port_channel_interfaces.[].encapsulation_vlan.client.dot1q.inner") | Integer | | | | Client Inner VLAN ID. |
+ | [ outer](## "port_channel_interfaces.[].encapsulation_vlan.client.dot1q.outer") | Integer | | | Min: 1
Max: 4094 | Client Outer VLAN ID. |
+ | [ inner](## "port_channel_interfaces.[].encapsulation_vlan.client.dot1q.inner") | Integer | | | Min: 1
Max: 4094 | Client Inner VLAN ID. |
| [ unmatched](## "port_channel_interfaces.[].encapsulation_vlan.client.unmatched") deprecated | Boolean | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. |
| [ protocol](## "port_channel_interfaces.[].encapsulation_vlan.client.protocol") | String | | | Valid Values:
- dot1q
- dot1ad
- unmatched
- untagged
| |
| [ vlan](## "port_channel_interfaces.[].encapsulation_vlan.client.vlan") | Integer | | | Min: 1
Max: 4094 | Client VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
- | [ outer](## "port_channel_interfaces.[].encapsulation_vlan.client.outer") | Integer | | | Min: 1
Max: 4094 | Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
- | [ inner](## "port_channel_interfaces.[].encapsulation_vlan.client.inner") | Integer | | | Min: 1
Max: 4094 | Client Inner VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
+ | [ outer_vlan](## "port_channel_interfaces.[].encapsulation_vlan.client.outer_vlan") | Integer | | | Min: 1
Max: 4094 | Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
+ | [ inner_vlan](## "port_channel_interfaces.[].encapsulation_vlan.client.inner_vlan") | Integer | | | Min: 1
Max: 4094 | Client Inner VLAN ID. Not applicable for `protocol==untagged/unmatched`. |
| [ inner_protocol](## "port_channel_interfaces.[].encapsulation_vlan.client.inner_protocol") | String | | | Valid Values:
- dot1q
- dot1ad
| |
| [ network](## "port_channel_interfaces.[].encapsulation_vlan.network") | Dictionary | | | | Network encapsulation are all optional, and skipped if using client unmatched. |
| [ dot1q](## "port_channel_interfaces.[].encapsulation_vlan.network.dot1q") deprecated | Dictionary | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. |
@@ -45,8 +45,8 @@
| [ client](## "port_channel_interfaces.[].encapsulation_vlan.network.client") deprecated | Boolean | | | | This key is deprecated. Support will be removed in AVD version 6.0.0. |
| [ protocol](## "port_channel_interfaces.[].encapsulation_vlan.network.protocol") | String | | | Valid Values:
- dot1q
- dot1ad
- client
- client inner
- untagged
| `untagged` (no encapsulation) is applicable for `untagged` client only.
`client` and `client inner` (retain client encapsulation) is not applicable for `untagged` client. |
| [ vlan](## "port_channel_interfaces.[].encapsulation_vlan.network.vlan") | Integer | | | Min: 1
Max: 4094 | Network VLAN ID. Not applicable for `protocol==untagged/client`. |
- | [ outer](## "port_channel_interfaces.[].encapsulation_vlan.network.outer") | Integer | | | Min: 1
Max: 4094 | Network outer VLAN ID. Not applicable for `protocol==untagged/client`. |
- | [ inner](## "port_channel_interfaces.[].encapsulation_vlan.network.inner") | Integer | | | Min: 1
Max: 4094 | Network inner VLAN ID. Not applicable for `protocol==untagged/client`. |
+ | [ outer_vlan](## "port_channel_interfaces.[].encapsulation_vlan.network.outer_vlan") | Integer | | | Min: 1
Max: 4094 | Network outer VLAN ID. Not applicable for `protocol==untagged/client`. |
+ | [ inner_vlan](## "port_channel_interfaces.[].encapsulation_vlan.network.inner_vlan") | Integer | | | Min: 1
Max: 4094 | Network inner VLAN ID. Not applicable for `protocol==untagged/client`. |
| [ inner_protocol](## "port_channel_interfaces.[].encapsulation_vlan.network.inner_protocol") | String | | | Valid Values:
- dot1q
- dot1ad
| |
| [ vlan_id](## "port_channel_interfaces.[].vlan_id") | Integer | | | Min: 1
Max: 4094 | This setting can only be applied to sub-interfaces on EOS.
Warning: `vlan_id` should not be combined with `ethernet_interfaces[].type == l2dot1q`. |
| [ 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. |
@@ -387,10 +387,10 @@
vlan:
# Client Outer VLAN ID.
- outer:
+ outer:
# Client Inner VLAN ID.
- inner:
+ inner:
# This key is deprecated.
# Support will be removed in AVD version 6.0.0.
unmatched:
@@ -400,10 +400,10 @@
vlan:
# Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- outer:
+ outer_vlan:
# Client Inner VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- inner:
+ inner_vlan:
inner_protocol:
# Network encapsulation are all optional, and skipped if using client unmatched.
@@ -432,10 +432,10 @@
vlan:
# Network outer VLAN ID. Not applicable for `protocol==untagged/client`.
- outer:
+ outer_vlan:
# Network inner VLAN ID. Not applicable for `protocol==untagged/client`.
- inner:
+ inner_vlan:
inner_protocol:
# This setting can only be applied to sub-interfaces on EOS.
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 1bc81e1a1f6..c32f7bf3e87 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
@@ -163,8 +163,8 @@
{% if client_protocol in ['dot1q', 'dot1ad'] %}
{% set client_inner_protocol = ethernet_interface.encapsulation_vlan.client.inner_protocol | arista.avd.default('-') %}
{% set client_vlan = ethernet_interface.encapsulation_vlan.client.vlan | arista.avd.default(ethernet_interface.encapsulation_vlan.client.dot1q.vlan) %}
-{% set client_outer_vlan = ethernet_interface.encapsulation_vlan.client.outer | arista.avd.default(ethernet_interface.encapsulation_vlan.client.dot1q.outer) %}
-{% set client_inner_vlan = ethernet_interface.encapsulation_vlan.client.inner | arista.avd.default(ethernet_interface.encapsulation_vlan.client.dot1q.inner) %}
+{% set client_outer_vlan = ethernet_interface.encapsulation_vlan.client.outer_vlan | arista.avd.default(ethernet_interface.encapsulation_vlan.client.dot1q.outer) %}
+{% set client_inner_vlan = ethernet_interface.encapsulation_vlan.client.inner_vlan | arista.avd.default(ethernet_interface.encapsulation_vlan.client.dot1q.inner) %}
{% endif %}
{% set network_protocol = ethernet_interface.encapsulation_vlan.network.protocol | arista.avd.default('-') %}
{# The below if condition is to get network protocol from deprecated keys #}
@@ -179,8 +179,8 @@
{% if network_protocol in ['dot1q', 'dot1ad'] %}
{% set network_inner_protocol = ethernet_interface.encapsulation_vlan.network.inner_protocol | arista.avd.default('-') %}
{% set network_vlan = ethernet_interface.encapsulation_vlan.network.vlan | arista.avd.default(ethernet_interface.encapsulation_vlan.network.dot1q.vlan) %}
-{% set network_outer_vlan = ethernet_interface.encapsulation_vlan.network.outer | arista.avd.default(ethernet_interface.encapsulation_vlan.network.dot1q.outer) %}
-{% set network_inner_vlan = ethernet_interface.encapsulation_vlan.network.inner | arista.avd.default(ethernet_interface.encapsulation_vlan.network.dot1q.inner) %}
+{% set network_outer_vlan = ethernet_interface.encapsulation_vlan.network.outer_vlan | arista.avd.default(ethernet_interface.encapsulation_vlan.network.dot1q.outer) %}
+{% set network_inner_vlan = ethernet_interface.encapsulation_vlan.network.inner_vlan | arista.avd.default(ethernet_interface.encapsulation_vlan.network.dot1q.inner) %}
{% endif %}
| {{ ethernet_interface.name }} | {{ description }} | {{ vlan_id }} | {{ client_protocol }} | {{ client_inner_protocol | arista.avd.default('-') }} | {{ client_vlan | arista.avd.default('-') }} | {{ client_outer_vlan | arista.avd.default('-') }} | {{ client_inner_vlan | arista.avd.default('-') }} | {{ network_protocol }} | {{ network_inner_protocol | arista.avd.default('-') }} | {{ network_vlan | arista.avd.default('-') }} | {{ network_outer_vlan | arista.avd.default('-') }} | {{ network_inner_vlan | arista.avd.default('-') }} |
{% endfor %}
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 9a106d48753..bb11cc3f577 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
@@ -118,8 +118,8 @@
{% if client_protocol in ['dot1q', 'dot1ad'] %}
{% set client_inner_protocol = port_channel_interface.encapsulation_vlan.client.inner_protocol | arista.avd.default('-') %}
{% set client_vlan = port_channel_interface.encapsulation_vlan.client.vlan | arista.avd.default(port_channel_interface.encapsulation_vlan.client.dot1q.vlan) %}
-{% set client_outer_vlan = port_channel_interface.encapsulation_vlan.client.outer | arista.avd.default(port_channel_interface.encapsulation_vlan.client.dot1q.outer) %}
-{% set client_inner_vlan = port_channel_interface.encapsulation_vlan.client.inner | arista.avd.default(port_channel_interface.encapsulation_vlan.client.dot1q.inner) %}
+{% set client_outer_vlan = port_channel_interface.encapsulation_vlan.client.outer_vlan | arista.avd.default(port_channel_interface.encapsulation_vlan.client.dot1q.outer) %}
+{% set client_inner_vlan = port_channel_interface.encapsulation_vlan.client.inner_vlan | arista.avd.default(port_channel_interface.encapsulation_vlan.client.dot1q.inner) %}
{% endif %}
{% set network_protocol = port_channel_interface.encapsulation_vlan.network.protocol | arista.avd.default('-') %}
{# The below if condition is to get network protocol from deprecated keys #}
@@ -134,8 +134,8 @@
{% if network_protocol in ['dot1q', 'dot1ad'] %}
{% set network_inner_protocol = port_channel_interface.encapsulation_vlan.network.inner_protocol | arista.avd.default('-') %}
{% set network_vlan = port_channel_interface.encapsulation_vlan.network.vlan | arista.avd.default(port_channel_interface.encapsulation_vlan.network.dot1q.vlan) %}
-{% set network_outer_vlan = port_channel_interface.encapsulation_vlan.network.outer | arista.avd.default(port_channel_interface.encapsulation_vlan.network.dot1q.outer) %}
-{% set network_inner_vlan = port_channel_interface.encapsulation_vlan.network.inner | arista.avd.default(port_channel_interface.encapsulation_vlan.network.dot1q.inner) %}
+{% set network_outer_vlan = port_channel_interface.encapsulation_vlan.network.outer_vlan | arista.avd.default(port_channel_interface.encapsulation_vlan.network.dot1q.outer) %}
+{% set network_inner_vlan = port_channel_interface.encapsulation_vlan.network.inner_vlan | arista.avd.default(port_channel_interface.encapsulation_vlan.network.dot1q.inner) %}
{% endif %}
| {{ port_channel_interface.name }} | {{ description }} | {{ vlan_id }} | {{ client_protocol }} | {{ client_inner_protocol | arista.avd.default('-') }} | {{ client_vlan | arista.avd.default('-') }} | {{ client_outer_vlan | arista.avd.default('-') }} | {{ client_inner_vlan | arista.avd.default('-') }} | {{ network_protocol }} | {{ network_inner_protocol | arista.avd.default('-') }} | {{ network_vlan | arista.avd.default('-') }} | {{ network_outer_vlan | arista.avd.default('-') }} | {{ network_inner_vlan | arista.avd.default('-') }} |
{% endfor %}
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 dc900bdd56c..dcd5ea86345 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
@@ -175,11 +175,11 @@ interface {{ ethernet_interface.name }}
{% if client_protocol in ['dot1q', 'dot1ad'] %}
{% if ethernet_interface.encapsulation_vlan.client.vlan is arista.avd.defined %}
{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' ' ~ ethernet_interface.encapsulation_vlan.client.vlan %}
-{% elif ethernet_interface.encapsulation_vlan.client.outer is arista.avd.defined and ethernet_interface.encapsulation_vlan.client.inner is arista.avd.defined %}
+{% elif ethernet_interface.encapsulation_vlan.client.outer_vlan is arista.avd.defined and ethernet_interface.encapsulation_vlan.client.inner_vlan is arista.avd.defined %}
{% if ethernet_interface.encapsulation_vlan.client.inner_protocol is arista.avd.defined %}
-{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' outer ' ~ ethernet_interface.encapsulation_vlan.client.outer ~ ' inner ' ~ ethernet_interface.encapsulation_vlan.client.inner_protocol ~ ' ' ~ ethernet_interface.encapsulation_vlan.client.inner %}
+{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' outer ' ~ ethernet_interface.encapsulation_vlan.client.outer_vlan ~ ' inner ' ~ ethernet_interface.encapsulation_vlan.client.inner_protocol ~ ' ' ~ ethernet_interface.encapsulation_vlan.client.inner_vlan %}
{% else %}
-{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' outer ' ~ ethernet_interface.encapsulation_vlan.client.outer ~ ' inner ' ~ ethernet_interface.encapsulation_vlan.client.inner %}
+{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' outer ' ~ ethernet_interface.encapsulation_vlan.client.outer_vlan ~ ' inner ' ~ ethernet_interface.encapsulation_vlan.client.inner_vlan %}
{% endif %}
{% if ethernet_interface.encapsulation_vlan.network.protocol | arista.avd.default == 'client inner' %}
{% set network_flag = True %}
@@ -194,11 +194,11 @@ interface {{ ethernet_interface.name }}
{% set network_protocol = ethernet_interface.encapsulation_vlan.network.protocol %}
{% if ethernet_interface.encapsulation_vlan.network.vlan is arista.avd.defined %}
{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' ' ~ ethernet_interface.encapsulation_vlan.network.vlan %}
-{% elif ethernet_interface.encapsulation_vlan.network.inner is arista.avd.defined and ethernet_interface.encapsulation_vlan.network.outer is arista.avd.defined %}
+{% elif ethernet_interface.encapsulation_vlan.network.outer_vlan is arista.avd.defined and ethernet_interface.encapsulation_vlan.network.inner_vlan is arista.avd.defined %}
{% if ethernet_interface.encapsulation_vlan.network.inner_protocol is arista.avd.defined %}
-{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' outer ' ~ ethernet_interface.encapsulation_vlan.network.outer ~ ' inner ' ~ ethernet_interface.encapsulation_vlan.network.inner_protocol ~ ' ' ~ ethernet_interface.encapsulation_vlan.network.inner %}
+{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' outer ' ~ ethernet_interface.encapsulation_vlan.network.outer_vlan ~ ' inner ' ~ ethernet_interface.encapsulation_vlan.network.inner_protocol ~ ' ' ~ ethernet_interface.encapsulation_vlan.network.inner_vlan %}
{% else %}
-{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' outer ' ~ ethernet_interface.encapsulation_vlan.network.outer ~ ' inner ' ~ ethernet_interface.encapsulation_vlan.network.inner %}
+{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' outer ' ~ ethernet_interface.encapsulation_vlan.network.outer_vlan ~ ' inner ' ~ ethernet_interface.encapsulation_vlan.network.inner_vlan %}
{% endif %}
{% elif network_protocol == 'untagged' and client_protocol == 'untagged' %}
{% set encapsulation_cli = encapsulation_cli ~ ' network untagged' %}
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 7ada4d94578..5c1ca113d26 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
@@ -123,11 +123,11 @@ interface {{ port_channel_interface.name }}
{% if client_protocol in ['dot1q', 'dot1ad'] %}
{% if port_channel_interface.encapsulation_vlan.client.vlan is arista.avd.defined %}
{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' ' ~ port_channel_interface.encapsulation_vlan.client.vlan %}
-{% elif port_channel_interface.encapsulation_vlan.client.outer is arista.avd.defined and port_channel_interface.encapsulation_vlan.client.inner is arista.avd.defined %}
+{% elif port_channel_interface.encapsulation_vlan.client.outer_vlan is arista.avd.defined and port_channel_interface.encapsulation_vlan.client.inner_vlan is arista.avd.defined %}
{% if port_channel_interface.encapsulation_vlan.client.inner_protocol is arista.avd.defined %}
-{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' outer ' ~ port_channel_interface.encapsulation_vlan.client.outer ~ ' inner ' ~ port_channel_interface.encapsulation_vlan.client.inner_protocol ~ ' ' ~ port_channel_interface.encapsulation_vlan.client.inner %}
+{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' outer ' ~ port_channel_interface.encapsulation_vlan.client.outer_vlan ~ ' inner ' ~ port_channel_interface.encapsulation_vlan.client.inner_protocol ~ ' ' ~ port_channel_interface.encapsulation_vlan.client.inner_vlan %}
{% else %}
-{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' outer ' ~ port_channel_interface.encapsulation_vlan.client.outer ~ ' inner ' ~ port_channel_interface.encapsulation_vlan.client.inner %}
+{% set encapsulation_cli = 'client ' ~ client_protocol ~ ' outer ' ~ port_channel_interface.encapsulation_vlan.client.outer_vlan ~ ' inner ' ~ port_channel_interface.encapsulation_vlan.client.inner_vlan %}
{% endif %}
{% if port_channel_interface.encapsulation_vlan.network.protocol | arista.avd.default == 'client inner' %}
{% set network_flag = True %}
@@ -142,11 +142,11 @@ interface {{ port_channel_interface.name }}
{% set network_protocol = port_channel_interface.encapsulation_vlan.network.protocol %}
{% if port_channel_interface.encapsulation_vlan.network.vlan is arista.avd.defined %}
{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' ' ~ port_channel_interface.encapsulation_vlan.network.vlan %}
-{% elif port_channel_interface.encapsulation_vlan.network.inner is arista.avd.defined and port_channel_interface.encapsulation_vlan.network.outer is arista.avd.defined %}
+{% elif port_channel_interface.encapsulation_vlan.network.outer_vlan is arista.avd.defined and port_channel_interface.encapsulation_vlan.network.inner_vlan is arista.avd.defined %}
{% if port_channel_interface.encapsulation_vlan.network.inner_protocol is arista.avd.defined %}
-{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' outer ' ~ port_channel_interface.encapsulation_vlan.network.outer ~ ' inner ' ~ port_channel_interface.encapsulation_vlan.network.inner_protocol ~ ' ' ~ port_channel_interface.encapsulation_vlan.network.inner %}
+{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' outer ' ~ port_channel_interface.encapsulation_vlan.network.outer_vlan ~ ' inner ' ~ port_channel_interface.encapsulation_vlan.network.inner_protocol ~ ' ' ~ port_channel_interface.encapsulation_vlan.network.inner_vlan %}
{% else %}
-{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' outer ' ~ port_channel_interface.encapsulation_vlan.network.outer ~ ' inner ' ~ port_channel_interface.encapsulation_vlan.network.inner %}
+{% set encapsulation_cli = encapsulation_cli ~ ' network ' ~ network_protocol ~ ' outer ' ~ port_channel_interface.encapsulation_vlan.network.outer_vlan ~ ' inner ' ~ port_channel_interface.encapsulation_vlan.network.inner_vlan %}
{% endif %}
{% elif network_protocol == 'untagged' and client_protocol == 'untagged' %}
{% set encapsulation_cli = encapsulation_cli ~ ' network untagged' %}
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 9fdd7c3d0e9..ed40c31eea3 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
@@ -2249,11 +2249,15 @@ keys:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Client VLAN ID.
outer:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Client Outer VLAN ID.
inner:
type: int
@@ -2279,14 +2283,14 @@ keys:
min: 1
max: 4094
description: Client VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- outer:
+ outer_vlan:
type: int
convert_types:
- str
min: 1
max: 4094
description: Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- inner:
+ inner_vlan:
type: int
convert_types:
- str
@@ -2313,16 +2317,22 @@ keys:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Network VLAN ID.
outer:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Network outer VLAN ID.
inner:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Network inner VLAN ID.
client:
type: bool
@@ -2349,14 +2359,14 @@ keys:
min: 1
max: 4094
description: Network VLAN ID. Not applicable for `protocol==untagged/client`.
- outer:
+ outer_vlan:
type: int
convert_types:
- str
min: 1
max: 4094
description: Network outer VLAN ID. Not applicable for `protocol==untagged/client`.
- inner:
+ inner_vlan:
type: int
convert_types:
- str
@@ -9053,11 +9063,15 @@ keys:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Client Outer VLAN ID.
inner:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Client Inner VLAN ID.
unmatched:
type: bool
@@ -9078,14 +9092,14 @@ keys:
min: 1
max: 4094
description: Client VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- outer:
+ outer_vlan:
type: int
convert_types:
- str
min: 1
max: 4094
description: Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- inner:
+ inner_vlan:
type: int
convert_types:
- str
@@ -9154,14 +9168,14 @@ keys:
min: 1
max: 4094
description: Network VLAN ID. Not applicable for `protocol==untagged/client`.
- outer:
+ outer_vlan:
type: int
convert_types:
- str
min: 1
max: 4094
description: Network outer VLAN ID. Not applicable for `protocol==untagged/client`.
- inner:
+ inner_vlan:
type: int
convert_types:
- str
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 ac759d905e1..dfea091e73d 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
@@ -295,11 +295,15 @@ keys:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Client VLAN ID.
outer:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Client Outer VLAN ID.
inner:
type: int
@@ -326,14 +330,14 @@ keys:
min: 1
max: 4094
description: Client VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- outer:
+ outer_vlan:
type: int
convert_types:
- str
min: 1
max: 4094
description: Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- inner:
+ inner_vlan:
type: int
convert_types:
- str
@@ -359,16 +363,22 @@ keys:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Network VLAN ID.
outer:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Network outer VLAN ID.
inner:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Network inner VLAN ID.
client:
type: bool
@@ -394,14 +404,14 @@ keys:
min: 1
max: 4094
description: Network VLAN ID. Not applicable for `protocol==untagged/client`.
- outer:
+ outer_vlan:
type: int
convert_types:
- str
min: 1
max: 4094
description: Network outer VLAN ID. Not applicable for `protocol==untagged/client`.
- inner:
+ inner_vlan:
type: int
convert_types:
- str
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 f41899d35dd..51477baddfe 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
@@ -131,11 +131,15 @@ keys:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Client Outer VLAN ID.
inner:
type: int
convert_types:
- str
+ min: 1
+ max: 4094
description: Client Inner VLAN ID.
unmatched:
type: bool
@@ -157,14 +161,14 @@ keys:
min: 1
max: 4094
description: Client VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- outer:
+ outer_vlan:
type: int
convert_types:
- str
min: 1
max: 4094
description: Client Outer VLAN ID. Not applicable for `protocol==untagged/unmatched`.
- inner:
+ inner_vlan:
type: int
convert_types:
- str
@@ -231,14 +235,14 @@ keys:
min: 1
max: 4094
description: Network VLAN ID. Not applicable for `protocol==untagged/client`.
- outer:
+ outer_vlan:
type: int
convert_types:
- str
min: 1
max: 4094
description: Network outer VLAN ID. Not applicable for `protocol==untagged/client`.
- inner:
+ inner_vlan:
type: int
convert_types:
- str