diff --git a/ansible_collections/arista/avd/roles/eos_designs/docs/tables/network-services-vrfs-settings.md b/ansible_collections/arista/avd/roles/eos_designs/docs/tables/network-services-vrfs-settings.md
index 27b6d017c0a..503eb1562d5 100644
--- a/ansible_collections/arista/avd/roles/eos_designs/docs/tables/network-services-vrfs-settings.md
+++ b/ansible_collections/arista/avd/roles/eos_designs/docs/tables/network-services-vrfs-settings.md
@@ -30,7 +30,7 @@
| [ mlag_ibgp_peering_vlan](## ".[].vrfs.[].mlag_ibgp_peering_vlan") | Integer | | | Min: 1
Max: 4096 | Manually define the VLAN used on the MLAG pair for the iBGP session.
By default this parameter is calculated using the following formula: `` + `` - 1.
|
| [ vtep_diagnostic](## ".[].vrfs.[].vtep_diagnostic") | Dictionary | | | | Enable VTEP Network diagnostics.
This will create a loopback with virtual source-nat enable to perform diagnostics from the switch.
|
| [ loopback](## ".[].vrfs.[].vtep_diagnostic.loopback") | Integer | | | Min: 2
Max: 2100 | Loopback interface number, required when vtep_diagnotics defined.
|
- | [ loopback_description](## ".[].vrfs.[].vtep_diagnostic.loopback_description") | String | | | | Provide a custom description for loopback interface. |
+ | [ loopback_description](## ".[].vrfs.[].vtep_diagnostic.loopback_description") | String | | | | Provide a custom description or description template to be used on the VRF diagnostic loopback interface.
This can be a template using the format string syntax.
The available template fields are:
- `interface`: The Loopback interface name.
- `vrf`: The VRF name.
- `tenant`: The tenant name.
The default description is set by `default_vrf_diag_loopback_description`.
By default the description is templated from the VRF name. |
| [ loopback_ip_range](## ".[].vrfs.[].vtep_diagnostic.loopback_ip_range") | String | | | | IPv4_address/Mask.
Loopback ip range, a unique ip is derived from this ranged and assignedto each l3 leaf based on it's unique id.
Loopback is not created unless loopback_ip_range or loopback_ip_pools are set.
|
| [ loopback_ip_pools](## ".[].vrfs.[].vtep_diagnostic.loopback_ip_pools") | List, items: Dictionary | | | | For inventories with multiple PODs a loopback range can be set per POD to avoid overlaps.
This only takes effect when loopback_ip_range is not defined, ptional (loopback is not created unless loopback_ip_range or loopback_ip_pools are set).
|
| [ - pod](## ".[].vrfs.[].vtep_diagnostic.loopback_ip_pools.[].pod") | String | | | | POD name. |
@@ -179,7 +179,15 @@
# Loopback interface number, required when vtep_diagnotics defined.
loopback:
- # Provide a custom description for loopback interface.
+ # Provide a custom description or description template to be used on the VRF diagnostic loopback interface.
+ # This can be a template using the format string syntax.
+ # The available template fields are:
+ # - `interface`: The Loopback interface name.
+ # - `vrf`: The VRF name.
+ # - `tenant`: The tenant name.
+ #
+ # The default description is set by `default_vrf_diag_loopback_description`.
+ # By default the description is templated from the VRF name.
loopback_description:
# IPv4_address/Mask.
diff --git a/python-avd/pyavd/_eos_designs/schema/eos_designs.schema.yml b/python-avd/pyavd/_eos_designs/schema/eos_designs.schema.yml
index 4867e4c6591..1055b13ada9 100644
--- a/python-avd/pyavd/_eos_designs/schema/eos_designs.schema.yml
+++ b/python-avd/pyavd/_eos_designs/schema/eos_designs.schema.yml
@@ -6391,7 +6391,13 @@ $defs:
max: 2100
loopback_description:
type: str
- description: Provide a custom description for loopback interface.
+ description: "Provide a custom description or description template
+ to be used on the VRF diagnostic loopback interface.\nThis can
+ be a template using the format string syntax.\nThe available
+ template fields are:\n - `interface`: The Loopback interface
+ name.\n - `vrf`: The VRF name.\n - `tenant`: The tenant name.\n\nThe
+ default description is set by `default_vrf_diag_loopback_description`.\nBy
+ default the description is templated from the VRF name."
loopback_ip_range:
type: str
description: 'IPv4_address/Mask.
diff --git a/python-avd/pyavd/_eos_designs/schema/schema_fragments/defs_network_services.schema.yml b/python-avd/pyavd/_eos_designs/schema/schema_fragments/defs_network_services.schema.yml
index f65ace97ef1..0ba249aa909 100644
--- a/python-avd/pyavd/_eos_designs/schema/schema_fragments/defs_network_services.schema.yml
+++ b/python-avd/pyavd/_eos_designs/schema/schema_fragments/defs_network_services.schema.yml
@@ -425,7 +425,17 @@ $defs:
max: 2100
loopback_description:
type: str
- description: Provide a custom description for loopback interface.
+ # TODO: Insert link to format string syntax article.
+ description: |-
+ Provide a custom description or description template to be used on the VRF diagnostic loopback interface.
+ This can be a template using the format string syntax.
+ The available template fields are:
+ - `interface`: The Loopback interface name.
+ - `vrf`: The VRF name.
+ - `tenant`: The tenant name.
+
+ The default description is set by `default_vrf_diag_loopback_description`.
+ By default the description is templated from the VRF name.
loopback_ip_range:
type: str
description: |