diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bfd.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bfd.md
index 893523ad6be..8d33a3b0344 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bfd.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bfd.md
@@ -53,9 +53,9 @@ interface Management1
#### Router BFD SBFD Summary
-| Initiator Interval | Initiator Multiplier | Reflector Minimum RX | Reflector Local-Discriminator |
+| Initiator Interval | Initiator Multiplier | Initiator Round-Trip | Reflector Minimum RX | Reflector Local-Discriminator |
| ------------------ | -------------------- | -------------------- | ----------------------------- |
-| 500 | 3 | 600 | 155.1.3.1 |
+| 500 | 3 | True | 600 | 155.1.3.1 |
#### Router BFD Device Configuration
@@ -68,6 +68,7 @@ router bfd
sbfd
local-interface Loopback0 ipv4 ipv6
initiator interval 500 multiplier 3
+ initiator measurement delay round-trip
reflector min-rx 600
reflector local-discriminator 155.1.3.1
```
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd.cfg
index f0d3a8f8d75..d2bf41b39f5 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd.cfg
@@ -19,6 +19,7 @@ router bfd
sbfd
local-interface Loopback0 ipv4 ipv6
initiator interval 500 multiplier 3
+ initiator measurement delay round-trip
reflector min-rx 600
reflector local-discriminator 155.1.3.1
!
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bfd.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bfd.yml
index bf784ef554a..d0c8a055be1 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bfd.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bfd.yml
@@ -16,6 +16,7 @@ router_bfd:
ipv6: true
initiator_interval: 500
initiator_multiplier: 3
+ initiator_measurement_round_trip: true
reflector:
min_rx: 600
local_discriminator: 155.1.3.1
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-bfd.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-bfd.md
index 751803be088..faba5cdcd76 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-bfd.md
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-bfd.md
@@ -23,6 +23,7 @@
| [ ipv6](## "router_bfd.sbfd.local_interface.protocols.ipv6") | Boolean | | | | |
| [ initiator_interval](## "router_bfd.sbfd.initiator_interval") | Integer | | | | Rate in milliseconds |
| [ initiator_multiplier](## "router_bfd.sbfd.initiator_multiplier") | Integer | | | Min: 3
Max: 50 | |
+ | [ initiator_measurement_round_trip](## "router_bfd.sbfd.initiator_measurement_round_trip") | Boolean | | | | Enable round-trip delay measurement |
| [ reflector](## "router_bfd.sbfd.reflector") | Dictionary | | | | |
| [ min_rx](## "router_bfd.sbfd.reflector.min_rx") | Integer | | | | Rate in milliseconds |
| [ local_discriminator](## "router_bfd.sbfd.reflector.local_discriminator") | String | | | | IPv4 address or 32 bit integer |
@@ -58,6 +59,9 @@
# Rate in milliseconds
initiator_interval:
initiator_multiplier:
+
+ # Enable round-trip delay measurement
+ initiator_measurement_round_trip:
reflector:
# Rate in milliseconds
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 d854689c839..2e0ce171eb1 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
@@ -14029,6 +14029,11 @@
"maximum": 50,
"title": "Initiator Multiplier"
},
+ "initiator_measurement_round_trip": {
+ "type": "boolean",
+ "description": "Enable round-trip delay measurement",
+ "title": "Initiator Measurement Round Trip"
+ },
"reflector": {
"type": "object",
"properties": {
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 73a62f0a6f9..9c3a76c98e7 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
@@ -8270,6 +8270,9 @@ keys:
type: int
min: 3
max: 50
+ initiator_measurement_round_trip:
+ type: bool
+ description: Enable round-trip delay measurement
reflector:
type: dict
keys:
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_bfd.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_bfd.schema.yml
index cb42ec0ec19..b39f31a8579 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_bfd.schema.yml
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_bfd.schema.yml
@@ -55,6 +55,9 @@ keys:
type: int
min: 3
max: 50
+ initiator_measurement_round_trip:
+ type: bool
+ description: Enable round-trip delay measurement
reflector:
type: dict
keys:
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/router-bfd.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/router-bfd.j2
index 1f76af6e544..de63fd346f7 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/router-bfd.j2
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/router-bfd.j2
@@ -33,13 +33,14 @@
#### Router BFD SBFD Summary
-| Initiator Interval | Initiator Multiplier | Reflector Minimum RX | Reflector Local-Discriminator |
+| Initiator Interval | Initiator Multiplier | Initiator Round-Trip | Reflector Minimum RX | Reflector Local-Discriminator |
| ------------------ | -------------------- | -------------------- | ----------------------------- |
{% set init_interval = router_bfd.sbfd.initiator_interval | arista.avd.default('-') %}
{% set init_multiplier = router_bfd.sbfd.initiator_multiplier | arista.avd.default('-') %}
+{% set init_round_trip = router_bfd.sbfd.initiator_measurement_round_trip | arista.avd.default('-') %}
{% set ref_min_rx = router_bfd.sbfd.reflector.min_rx | arista.avd.default('-') %}
{% set ref_discriminator = router_bfd.sbfd.reflector.local_discriminator | arista.avd.default('-') %}
-| {{ init_interval }} | {{ init_multiplier }} | {{ ref_min_rx }} | {{ ref_discriminator }} |
+| {{ init_interval }} | {{ init_multiplier }} | {{ init_round_trip }} | {{ ref_min_rx }} | {{ ref_discriminator }} |
{% endif %}
#### Router BFD Device Configuration
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bfd.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bfd.j2
index 73f677b3c06..c7e63b1ec44 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bfd.j2
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bfd.j2
@@ -32,6 +32,9 @@ router bfd
{% if router_bfd.sbfd.initiator_interval is arista.avd.defined and router_bfd.sbfd.initiator_multiplier is arista.avd.defined %}
initiator interval {{ router_bfd.sbfd.initiator_interval }} multiplier {{ router_bfd.sbfd.initiator_multiplier }}
{% endif %}
+{% if router_bfd.sbfd.initiator_measurement_round_trip is arista.avd.defined(true) %}
+ initiator measurement delay round-trip
+{% endif %}
{% if router_bfd.sbfd.reflector.min_rx is arista.avd.defined %}
reflector min-rx {{ router_bfd.sbfd.reflector.min_rx }}
{% endif %}