diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md
index 728b9e0be8f..6692004d16f 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md
@@ -3629,6 +3629,8 @@ interface Dps1
| Ethernet66 | Multiple VRIDs and tracking | - | 192.0.2.2/25 | default | - | False | - | - |
| Ethernet80 | LAG Member | 17 | *192.0.2.3/31 | **default | **- | **- | **- | **- |
| Ethernet81/2 | LAG Member LACP fallback LLDP ZTP VLAN | 112 | *dhcp | **default | **- | **- | **- | **- |
+| Ethernet81/3 | Traffic Engineering Interface | - | 100.64.127.0/31 | default | - | False | - | - |
+| Ethernet81/4 | Traffic Engineering Interface | - | 100.64.127.0/31 | default | - | False | - | - |
*Inherited from Port-Channel Interface
@@ -3785,6 +3787,12 @@ interface Dps1
| Ethernet5 | 127 |
| Ethernet6 | disabled |
+#### Traffic Engineering
+
+| Interface | Enabled | Administrative Groups |
+| --------- | ------- | --------------------- |
+| Ethernet81/3 | True | 3,15-29,testgrp |
+
#### Ethernet Interfaces Device Configuration
```eos
@@ -4755,6 +4763,21 @@ interface Ethernet81/2
lldp tlv transmit ztp vlan 112
spanning-tree portfast
!
+interface Ethernet81/3
+ description Traffic Engineering Interface
+ no shutdown
+ no switchport
+ ip address 100.64.127.0/31
+ traffic-engineering
+ traffic-engineering administrative-group 3,15-29,testgrp
+!
+interface Ethernet81/4
+ description Traffic Engineering Interface
+ no shutdown
+ no switchport
+ ip address 100.64.127.0/31
+ traffic-engineering administrative-group 4,7-100,testgrp
+!
interface Ethernet81/10
description isis_port_channel_member
channel-group 110 mode active
@@ -4941,6 +4964,8 @@ interface Ethernet84
| Port-Channel112 | LACP fallback individual | - | dhcp | default | - | - | - | - |
| Port-Channel113 | interface_with_mpls_enabled | - | 172.31.128.9/31 | default | - | - | - | - |
| Port-Channel114 | interface_with_mpls_disabled | - | 172.31.128.10/31 | default | - | - | - | - |
+| Port-Channel136 | Test_te_admin_groups | - | 100.64.127.2/31 | default | - | - | - | - |
+| Port-Channel137 | Traffic Engineering Interface | - | 100.64.127.4/31 | default | - | - | - | - |
##### IP NAT: Source Static
@@ -4984,6 +5009,12 @@ interface Ethernet84
| Port-Channel100 | EVPN_UNDERLAY | - | - | - | - | - | Level-1: md5
Level-2: text |
| Port-Channel110 | ISIS_TEST | True | 99 | point-to-point | level-2 | True | - |
+#### Traffic Engineering
+
+| Interface | Enabled | Administrative Groups |
+| --------- | ------- | --------------------- |
+| Port-Channel136 | True | 7 |
+
#### Port-Channel Interfaces Device Configuration
```eos
@@ -5586,6 +5617,19 @@ interface Port-Channel135
switchport tap encapsulation gre protocol 0x2 feature header length 3 strip
switchport tap encapsulation gre protocol 0x3 feature header length 2 strip re-encapsulation ethernet
switchport tap encapsulation gre protocol 0x10 strip
+!
+interface Port-Channel136
+ description Test_te_admin_groups
+ no switchport
+ ip address 100.64.127.2/31
+ traffic-engineering
+ traffic-engineering administrative-group 7
+!
+interface Port-Channel137
+ description Traffic Engineering Interface
+ no switchport
+ ip address 100.64.127.4/31
+ traffic-engineering administrative-group 4,7-100,testgrp
```
### Loopback Interfaces
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg
index 60c6848eda4..76bc4a40826 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg
@@ -2216,6 +2216,19 @@ interface Port-Channel135
switchport tap encapsulation gre protocol 0x3 feature header length 2 strip re-encapsulation ethernet
switchport tap encapsulation gre protocol 0x10 strip
!
+interface Port-Channel136
+ description Test_te_admin_groups
+ no switchport
+ ip address 100.64.127.2/31
+ traffic-engineering
+ traffic-engineering administrative-group 7
+!
+interface Port-Channel137
+ description Traffic Engineering Interface
+ no switchport
+ ip address 100.64.127.4/31
+ traffic-engineering administrative-group 4,7-100,testgrp
+!
interface Dps1
description Test DPS Interface
shutdown
@@ -3192,6 +3205,21 @@ interface Ethernet81/2
lldp tlv transmit ztp vlan 112
spanning-tree portfast
!
+interface Ethernet81/3
+ description Traffic Engineering Interface
+ no shutdown
+ no switchport
+ ip address 100.64.127.0/31
+ traffic-engineering
+ traffic-engineering administrative-group 3,15-29,testgrp
+!
+interface Ethernet81/4
+ description Traffic Engineering Interface
+ no shutdown
+ no switchport
+ ip address 100.64.127.0/31
+ traffic-engineering administrative-group 4,7-100,testgrp
+!
interface Ethernet81/10
description isis_port_channel_member
channel-group 110 mode active
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/ethernet-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/ethernet-interfaces.yml
index b6c5faea864..900073e6f8e 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/ethernet-interfaces.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/ethernet-interfaces.yml
@@ -1849,6 +1849,32 @@ ethernet_interfaces:
lldp:
ztp_vlan: 112
+ - name: Ethernet81/3
+ description: Traffic Engineering Interface
+ shutdown: false
+ switchport:
+ enabled: false
+ ip_address: 100.64.127.0/31
+ traffic_engineering:
+ enabled: true
+ administrative_groups:
+ - 3
+ - 15-29
+ - testgrp
+
+ - name: Ethernet81/4
+ description: Traffic Engineering Interface
+ shutdown: false
+ switchport:
+ enabled: false
+ ip_address: 100.64.127.0/31
+ traffic_engineering:
+ enabled: false
+ administrative_groups:
+ - 4
+ - 7-100
+ - testgrp
+
- name: Ethernet82
description: Switchport_tap_tool
switchport:
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/port-channel-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/port-channel-interfaces.yml
index 16709ce88ce..c03f8e31ee2 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/port-channel-interfaces.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/port-channel-interfaces.yml
@@ -1046,3 +1046,25 @@ port_channel_interfaces:
feature_header_length: 2
re_encapsulation_ethernet_header: true
strip: true
+
+ - name: Port-Channel136
+ description: Test_te_admin_groups
+ switchport:
+ enabled: false
+ ip_address: 100.64.127.2/31
+ traffic_engineering:
+ enabled: true
+ administrative_groups:
+ - 7
+
+ - name: Port-Channel137
+ description: Traffic Engineering Interface
+ switchport:
+ enabled: false
+ ip_address: 100.64.127.4/31
+ traffic_engineering:
+ enabled: false
+ administrative_groups:
+ - 4
+ - 7-100
+ - testgrp
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 2222322c542..e1c7ce9db76 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
@@ -599,6 +599,10 @@
| [ groups](## "ethernet_interfaces.[].switchport.tool.groups") | List, items: String | | | | Tool groups for the interface. |
| [ - <str>](## "ethernet_interfaces.[].switchport.tool.groups.[]") | String | | | | |
| [ dot1q_remove_outer_vlan_tag](## "ethernet_interfaces.[].switchport.tool.dot1q_remove_outer_vlan_tag") | String | | | | Indices of vlan tags to be removed.
Range: 1-2 |
+ | [ traffic_engineering](## "ethernet_interfaces.[].traffic_engineering") | Dictionary | | | | |
+ | [ enabled](## "ethernet_interfaces.[].traffic_engineering.enabled") | Boolean | | | | Whether to enable traffic-engineering on this interface. |
+ | [ administrative_groups](## "ethernet_interfaces.[].traffic_engineering.administrative_groups") | List, items: String | | | | List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127. |
+ | [ - <str>](## "ethernet_interfaces.[].traffic_engineering.administrative_groups.[]") | String | | | | |
| [ eos_cli](## "ethernet_interfaces.[].eos_cli") | String | | | | Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration. |
=== "YAML"
@@ -1913,6 +1917,14 @@
# Indices of vlan tags to be removed.
# Range: 1-2
dot1q_remove_outer_vlan_tag:
+ traffic_engineering:
+
+ # Whether to enable traffic-engineering on this interface.
+ enabled:
+
+ # List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127.
+ administrative_groups:
+ -
# Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration.
eos_cli:
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 91739aff4a7..fc514aa5e3a 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
@@ -426,6 +426,10 @@
| [ groups](## "port_channel_interfaces.[].switchport.tool.groups") | List, items: String | | | | Tool groups for the interface. |
| [ - <str>](## "port_channel_interfaces.[].switchport.tool.groups.[]") | String | | | | |
| [ dot1q_remove_outer_vlan_tag](## "port_channel_interfaces.[].switchport.tool.dot1q_remove_outer_vlan_tag") | String | | | | Indices of vlan tags to be removed.
Range: 1-2 |
+ | [ traffic_engineering](## "port_channel_interfaces.[].traffic_engineering") | Dictionary | | | | |
+ | [ enabled](## "port_channel_interfaces.[].traffic_engineering.enabled") | Boolean | | | | Whether to enable traffic-engineering on this interface. |
+ | [ administrative_groups](## "port_channel_interfaces.[].traffic_engineering.administrative_groups") | List, items: String | | | | List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127. |
+ | [ - <str>](## "port_channel_interfaces.[].traffic_engineering.administrative_groups.[]") | String | | | | |
| [ validate_state](## "port_channel_interfaces.[].validate_state") | Boolean | | | | Set to false to disable interface state and LLDP topology validation performed by the `eos_validate_state` role. |
| [ validate_lldp](## "port_channel_interfaces.[].validate_lldp") | Boolean | | | | Set to false to disable the LLDP topology validation performed 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. |
@@ -1407,6 +1411,14 @@
# Indices of vlan tags to be removed.
# Range: 1-2
dot1q_remove_outer_vlan_tag:
+ traffic_engineering:
+
+ # Whether to enable traffic-engineering on this interface.
+ enabled:
+
+ # List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127.
+ administrative_groups:
+ -
# Set to false to disable interface state and LLDP topology validation performed 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 3d358413914..d220b8b5c6e 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
@@ -795,6 +795,24 @@
| {{ sync_e_interface.name }} | {{ sync_e_interface.sync_e.priority | arista.avd.default('127') }} |
{% endfor %}
{% endif %}
+{% set te_interfaces = [] %}
+{% for ethernet_interface in ethernet_interfaces | arista.avd.natural_sort('name') %}
+{% if ethernet_interface.traffic_engineering.enabled is arista.avd.defined(true) %}
+{% do te_interfaces.append(ethernet_interface) %}
+{% endif %}
+{% endfor %}
+{% if te_interfaces | length > 0 %}
+
+#### Traffic Engineering
+
+| Interface | Enabled | Administrative Groups |
+| --------- | ------- | --------------------- |
+{% for te_interface in te_interfaces %}
+{% set admin_groups = te_interface.traffic_engineering.administrative_groups | arista.avd.default (["-"]) | join(",") %}
+{% set te_enabled = te_interface.traffic_engineering.enabled | arista.avd.default ("-") %}
+| {{ te_interface.name }} | {{ te_enabled }} | {{ admin_groups }} |
+{% endfor %}
+{% endif %}
#### Ethernet Interfaces Device Configuration
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 b916790f1eb..ada154dc2c1 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
@@ -411,6 +411,24 @@
| {{ port_channel_interface.name }} | {{ isis_instance }} | {{ isis_bfd }} | {{ isis_metric }} | {{ mode }} | {{ isis_circuit_type }} | {{ isis_hello_padding }} | {{ isis_authentication_mode }} |
{% endfor %}
{% endif %}
+{% set port_channel_te_interfaces = [] %}
+{% for port_channel_interface in port_channel_interfaces | arista.avd.natural_sort('name') %}
+{% if port_channel_interface.traffic_engineering.enabled is arista.avd.defined(true) %}
+{% do port_channel_te_interfaces.append(port_channel_interface) %}
+{% endif %}
+{% endfor %}
+{% if port_channel_te_interfaces | length > 0 %}
+
+#### Traffic Engineering
+
+| Interface | Enabled | Administrative Groups |
+| --------- | ------- | --------------------- |
+{% for po_te_interface in port_channel_te_interfaces %}
+{% set admin_groups = po_te_interface.traffic_engineering.administrative_groups | arista.avd.default(["-"]) | join(",") %}
+{% set te_enabled = po_te_interface.traffic_engineering.enabled | arista.avd.default("-") %}
+| {{ po_te_interface.name }} | {{ te_enabled }} | {{ admin_groups }} |
+{% endfor %}
+{% endif %}
#### Port-Channel Interfaces Device Configuration
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 9467cd18e05..74b00b5fe65 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
@@ -1103,6 +1103,12 @@ interface {{ ethernet_interface.name }}
switchport tool dzgre preserve
{% endif %}
{% endif %}
+{% if ethernet_interface.traffic_engineering.enabled is arista.avd.defined(true) %}
+ traffic-engineering
+{% endif %}
+{% if ethernet_interface.traffic_engineering.administrative_groups is arista.avd.defined %}
+ traffic-engineering administrative-group {{ ethernet_interface.traffic_engineering.administrative_groups | join(",") }}
+{% endif %}
{% for link_tracking_group in ethernet_interface.link_tracking_groups | arista.avd.natural_sort %}
{% if link_tracking_group.name is arista.avd.defined and link_tracking_group.direction is arista.avd.defined %}
link tracking group {{ link_tracking_group.name }} {{ link_tracking_group.direction }}
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 25cdb756206..ad5262c5f49 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
@@ -923,6 +923,12 @@ interface {{ port_channel_interface.name }}
switchport tool dot1q remove outer {{ port_channel_interface.switchport.tool.dot1q_remove_outer_vlan_tag }}
{% endif %}
{% endif %}
+{% if port_channel_interface.traffic_engineering.enabled is arista.avd.defined(true) %}
+ traffic-engineering
+{% endif %}
+{% if port_channel_interface.traffic_engineering.administrative_groups is arista.avd.defined %}
+ traffic-engineering administrative-group {{ port_channel_interface.traffic_engineering.administrative_groups | join(",") }}
+{% endif %}
{% for link_tracking_group in port_channel_interface.link_tracking_groups | arista.avd.natural_sort('name') %}
{% if link_tracking_group.name is arista.avd.defined and link_tracking_group.direction is arista.avd.defined %}
link tracking group {{ link_tracking_group.name }} {{ link_tracking_group.direction }}
diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py b/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py
index a40a32fa721..adb4bba7394 100644
--- a/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py
+++ b/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py
@@ -12186,6 +12186,52 @@ def __init__(
"""
+ class TrafficEngineering(AvdModel):
+ """Subclass of AvdModel."""
+
+ class AdministrativeGroups(AvdList[str]):
+ """Subclass of AvdList with `str` items."""
+
+ AdministrativeGroups._item_type = str
+
+ _fields: ClassVar[dict] = {"enabled": {"type": bool}, "administrative_groups": {"type": AdministrativeGroups}, "_custom_data": {"type": dict}}
+ enabled: bool | None
+ """Whether to enable traffic-engineering on this interface."""
+ administrative_groups: AdministrativeGroups
+ """
+ List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single
+ integers 0-127.
+
+ Subclass of AvdList with `str` items.
+ """
+ _custom_data: dict[str, Any]
+
+ if TYPE_CHECKING:
+
+ def __init__(
+ self,
+ *,
+ enabled: bool | None | UndefinedType = Undefined,
+ administrative_groups: AdministrativeGroups | UndefinedType = Undefined,
+ _custom_data: dict[str, Any] | UndefinedType = Undefined,
+ ) -> None:
+ """
+ TrafficEngineering.
+
+
+ Subclass of AvdModel.
+
+ Args:
+ enabled: Whether to enable traffic-engineering on this interface.
+ administrative_groups:
+ List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single
+ integers 0-127.
+
+ Subclass of AvdList with `str` items.
+ _custom_data: _custom_data
+
+ """
+
_fields: ClassVar[dict] = {
"name": {"type": str},
"description": {"type": str},
@@ -12300,6 +12346,7 @@ def __init__(
"validate_state": {"type": bool},
"validate_lldp": {"type": bool},
"switchport": {"type": Switchport},
+ "traffic_engineering": {"type": TrafficEngineering},
"eos_cli": {"type": str},
"_custom_data": {"type": dict},
}
@@ -12565,6 +12612,8 @@ def __init__(
Subclass of
AvdModel.
"""
+ traffic_engineering: TrafficEngineering
+ """Subclass of AvdModel."""
eos_cli: str | None
"""Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration."""
_custom_data: dict[str, Any]
@@ -12687,6 +12736,7 @@ def __init__(
validate_state: bool | None | UndefinedType = Undefined,
validate_lldp: bool | None | UndefinedType = Undefined,
switchport: Switchport | UndefinedType = Undefined,
+ traffic_engineering: TrafficEngineering | UndefinedType = Undefined,
eos_cli: str | None | UndefinedType = Undefined,
_custom_data: dict[str, Any] | UndefinedType = Undefined,
) -> None:
@@ -12861,6 +12911,7 @@ def __init__(
Subclass of
AvdModel.
+ traffic_engineering: Subclass of AvdModel.
eos_cli: Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration.
_custom_data: _custom_data
@@ -32639,6 +32690,52 @@ def __init__(
"""
+ class TrafficEngineering(AvdModel):
+ """Subclass of AvdModel."""
+
+ class AdministrativeGroups(AvdList[str]):
+ """Subclass of AvdList with `str` items."""
+
+ AdministrativeGroups._item_type = str
+
+ _fields: ClassVar[dict] = {"enabled": {"type": bool}, "administrative_groups": {"type": AdministrativeGroups}, "_custom_data": {"type": dict}}
+ enabled: bool | None
+ """Whether to enable traffic-engineering on this interface."""
+ administrative_groups: AdministrativeGroups
+ """
+ List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single
+ integers 0-127.
+
+ Subclass of AvdList with `str` items.
+ """
+ _custom_data: dict[str, Any]
+
+ if TYPE_CHECKING:
+
+ def __init__(
+ self,
+ *,
+ enabled: bool | None | UndefinedType = Undefined,
+ administrative_groups: AdministrativeGroups | UndefinedType = Undefined,
+ _custom_data: dict[str, Any] | UndefinedType = Undefined,
+ ) -> None:
+ """
+ TrafficEngineering.
+
+
+ Subclass of AvdModel.
+
+ Args:
+ enabled: Whether to enable traffic-engineering on this interface.
+ administrative_groups:
+ List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single
+ integers 0-127.
+
+ Subclass of AvdList with `str` items.
+ _custom_data: _custom_data
+
+ """
+
_fields: ClassVar[dict] = {
"name": {"type": str},
"description": {"type": str},
@@ -32729,6 +32826,7 @@ def __init__(
"peer_type": {"type": str},
"sflow": {"type": Sflow},
"switchport": {"type": Switchport},
+ "traffic_engineering": {"type": TrafficEngineering},
"validate_state": {"type": bool},
"validate_lldp": {"type": bool},
"eos_cli": {"type": str},
@@ -32915,6 +33013,8 @@ def __init__(
"""Subclass of AvdModel."""
switchport: Switchport
"""Subclass of AvdModel."""
+ traffic_engineering: TrafficEngineering
+ """Subclass of AvdModel."""
validate_state: bool | None
"""
Set to false to disable interface state and LLDP topology validation performed by the
@@ -33020,6 +33120,7 @@ def __init__(
peer_type: str | None | UndefinedType = Undefined,
sflow: Sflow | UndefinedType = Undefined,
switchport: Switchport | UndefinedType = Undefined,
+ traffic_engineering: TrafficEngineering | UndefinedType = Undefined,
validate_state: bool | None | UndefinedType = Undefined,
validate_lldp: bool | None | UndefinedType = Undefined,
eos_cli: str | None | UndefinedType = Undefined,
@@ -33145,6 +33246,7 @@ def __init__(
peer_type: Key only used for documentation or validation purposes.
sflow: Subclass of AvdModel.
switchport: Subclass of AvdModel.
+ traffic_engineering: Subclass of AvdModel.
validate_state:
Set to false to disable interface state and LLDP topology validation performed by the
`eos_validate_state` role.
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 4b0702d8bba..5d10316999b 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
@@ -4391,6 +4391,20 @@ keys:
description: 'Indices of vlan tags to be removed.
Range: 1-2'
+ traffic_engineering:
+ type: dict
+ keys:
+ enabled:
+ type: bool
+ description: Whether to enable traffic-engineering on this interface.
+ administrative_groups:
+ type: list
+ description: List of traffic-engineering administrative groups, valid
+ values are names, ranges 0-127, or single integers 0-127.
+ items:
+ type: str
+ convert_types:
+ - int
eos_cli:
type: str
description: Multiline EOS CLI rendered directly on the ethernet interface
@@ -11211,6 +11225,20 @@ keys:
tool:
type: dict
$ref: eos_cli_config_gen#/keys/ethernet_interfaces/items/keys/switchport/keys/tool
+ traffic_engineering:
+ type: dict
+ keys:
+ enabled:
+ type: bool
+ description: Whether to enable traffic-engineering on this interface.
+ administrative_groups:
+ type: list
+ description: List of traffic-engineering administrative groups, valid
+ values are names, ranges 0-127, or single integers 0-127.
+ items:
+ type: str
+ convert_types:
+ - int
validate_state:
type: bool
description: Set to false to disable interface state and LLDP topology validation
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 2dca349d154..e9460279a5a 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
@@ -2183,6 +2183,19 @@ keys:
description: |-
Indices of vlan tags to be removed.
Range: 1-2
+ traffic_engineering:
+ type: dict
+ keys:
+ enabled:
+ type: bool
+ description: Whether to enable traffic-engineering on this interface.
+ administrative_groups:
+ type: list
+ description: List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127.
+ items:
+ type: str
+ convert_types:
+ - int
eos_cli:
type: str
description: Multiline EOS CLI rendered directly on the ethernet interface in the final EOS configuration.
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 d2d9c89738f..b1d8ea708fa 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
@@ -1385,6 +1385,19 @@ keys:
tool:
type: dict
$ref: "eos_cli_config_gen#/keys/ethernet_interfaces/items/keys/switchport/keys/tool"
+ traffic_engineering:
+ type: dict
+ keys:
+ enabled:
+ type: bool
+ description: Whether to enable traffic-engineering on this interface.
+ administrative_groups:
+ type: list
+ description: List of traffic-engineering administrative groups, valid values are names, ranges 0-127, or single integers 0-127.
+ items:
+ type: str
+ convert_types:
+ - int
validate_state:
type: bool
description: Set to false to disable interface state and LLDP topology validation performed by the `eos_validate_state` role.