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 %}