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 e1f34b24970..317b54b4c30 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
@@ -530,6 +530,7 @@ interface Ethernet19
switchport
no lldp transmit
no lldp receive
+ lldp tlv transmit ztp vlan 666
!
interface Ethernet20
description Port patched through patch-panel to pseudowire
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/management-interfaces.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/management-interfaces.md
index c35a48fc337..dc9750482a1 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/management-interfaces.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/management-interfaces.md
@@ -44,6 +44,9 @@ interface Management1
!
interface Management42
shutdown
+ no lldp transmit
+ no lldp receive
+ lldp tlv transmit ztp vlan 666
!
interface Vlan123
description inband_management
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 c38dc31bd60..5109acf44e8 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
@@ -232,6 +232,7 @@ interface Ethernet19
switchport
no lldp transmit
no lldp receive
+ lldp tlv transmit ztp vlan 666
!
interface Ethernet20
description Port patched through patch-panel to pseudowire
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg
index 05a710baa1d..6e5c9bcfe7c 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg
@@ -18,6 +18,9 @@ interface Management1
!
interface Management42
shutdown
+ no lldp transmit
+ no lldp receive
+ lldp tlv transmit ztp vlan 666
!
interface Vlan123
description inband_management
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 d86d886637b..0af9244531b 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
@@ -326,6 +326,7 @@ ethernet_interfaces:
lldp:
transmit: false
receive: false
+ ztp_vlan: 666
- name: Ethernet20
description: Port patched through patch-panel to pseudowire
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/management-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/management-interfaces.yml
index 287b508d1c6..e0dc03ec4da 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/management-interfaces.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/management-interfaces.yml
@@ -19,3 +19,7 @@ management_interfaces:
eos_cli: "ip virtual-router address 10.73.0.1"
- name: Management42
shutdown: true
+ lldp:
+ transmit: false
+ receive: false
+ ztp_vlan: 666
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/management-interfaces.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/management-interfaces.md
index b7e8d62b10d..79f6188369b 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/management-interfaces.md
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/management-interfaces.md
@@ -20,6 +20,10 @@
| [ gateway](## "management_interfaces.[].gateway") | String | | | | IPv4 address of default gateway in management VRF |
| [ ipv6_gateway](## "management_interfaces.[].ipv6_gateway") | String | | | | IPv6 address of default gateway in management VRF |
| [ mac_address](## "management_interfaces.[].mac_address") | String | | | | MAC address |
+ | [ lldp](## "management_interfaces.[].lldp") | Dictionary | | | | |
+ | [ transmit](## "management_interfaces.[].lldp.transmit") | Boolean | | | | |
+ | [ receive](## "management_interfaces.[].lldp.receive") | Boolean | | | | |
+ | [ ztp_vlan](## "management_interfaces.[].lldp.ztp_vlan") | Integer | | | | ZTP vlan number |
| [ eos_cli](## "management_interfaces.[].eos_cli") | String | | | | Multiline EOS CLI rendered directly on the management interface in the final EOS configuration |
=== "YAML"
@@ -38,5 +42,9 @@
gateway:
ipv6_gateway:
mac_address:
+ lldp:
+ transmit:
+ receive:
+ ztp_vlan:
eos_cli:
```
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json
index 3952ce9b2d9..37c88f9d72b 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json
@@ -8325,6 +8325,29 @@
"description": "MAC address",
"title": "MAC Address"
},
+ "lldp": {
+ "type": "object",
+ "properties": {
+ "transmit": {
+ "type": "boolean",
+ "title": "Transmit"
+ },
+ "receive": {
+ "type": "boolean",
+ "title": "Receive"
+ },
+ "ztp_vlan": {
+ "type": "integer",
+ "description": "ZTP vlan number",
+ "title": "ZTP VLAN"
+ }
+ },
+ "additionalProperties": false,
+ "patternProperties": {
+ "^_.+$": {}
+ },
+ "title": "LLDP"
+ },
"eos_cli": {
"type": "string",
"description": "Multiline EOS CLI rendered directly on the management interface in the final EOS configuration",
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml
index 8795a796648..1056bf55d5e 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml
@@ -4977,6 +4977,18 @@ keys:
mac_address:
type: str
description: MAC address
+ lldp:
+ type: dict
+ keys:
+ transmit:
+ type: bool
+ receive:
+ type: bool
+ ztp_vlan:
+ type: int
+ convert_types:
+ - str
+ description: ZTP vlan number
eos_cli:
type: str
description: Multiline EOS CLI rendered directly on the management interface
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/management_interfaces.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/management_interfaces.schema.yml
index 0de38abad4f..3f091462400 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/management_interfaces.schema.yml
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/management_interfaces.schema.yml
@@ -50,6 +50,18 @@ keys:
mac_address:
type: str
description: MAC address
+ lldp:
+ type: dict
+ keys:
+ transmit:
+ type: bool
+ receive:
+ type: bool
+ ztp_vlan:
+ type: int
+ convert_types:
+ - str
+ description: ZTP vlan number
eos_cli:
type: str
description: Multiline EOS CLI rendered directly on the management interface in the final EOS configuration
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/management-interfaces.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/management-interfaces.j2
index b9141d600f3..09b2ce31e3d 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/management-interfaces.j2
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/management-interfaces.j2
@@ -33,6 +33,15 @@ interface {{ management_interface.name }}
{% if management_interface.ipv6_address is arista.avd.defined %}
ipv6 address {{ management_interface.ipv6_address }}
{% endif %}
+{% if management_interface.lldp.transmit is arista.avd.defined(false) %}
+ no lldp transmit
+{% endif %}
+{% if management_interface.lldp.receive is arista.avd.defined(false) %}
+ no lldp receive
+{% endif %}
+{% if management_interface.lldp.ztp_vlan is arista.avd.defined %}
+ lldp tlv transmit ztp vlan {{ management_interface.lldp.ztp_vlan }}
+{% endif %}
{% if management_interface.eos_cli is arista.avd.defined %}
{{ management_interface.eos_cli | indent(3, false) }}
{% endif %}