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