From 3630d55f9f57853cf0493719e658d6afd98ea2fe Mon Sep 17 00:00:00 2001 From: Shivani-gslab Date: Wed, 24 Jan 2024 15:47:33 +0530 Subject: [PATCH] Adding bfd all-interfaces to router_isis.address_family ipv4 and ipv6 --- .../documentation/devices/router-isis-new.md | 2 ++ .../intended/configs/router-isis-new.cfg | 2 ++ .../inventory/host_vars/router-isis-new.yml | 2 ++ .../eos_cli_config_gen/docs/tables/router-isis.md | 8 ++++++++ .../schemas/eos_cli_config_gen.jsonschema.json | 10 ++++++++++ .../schemas/eos_cli_config_gen.schema.yml | 6 ++++++ .../schemas/schema_fragments/router_isis.schema.yml | 6 ++++++ .../eos_cli_config_gen/templates/eos/router-isis.j2 | 6 ++++++ 8 files changed, 42 insertions(+) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-isis-new.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-isis-new.md index 737d938098c..cd3e21769db 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-isis-new.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-isis-new.md @@ -281,11 +281,13 @@ router isis EVPN_UNDERLAY address-family ipv4 unicast maximum-paths 4 tunnel source-protocol bgp ipv4 labeled-unicast rcf lu_2_sr_pfx() + bfd all-interfaces fast-reroute ti-lfa mode link-protection level-2 fast-reroute ti-lfa srlg strict ! address-family ipv6 unicast maximum-paths 4 + bfd all-interfaces fast-reroute ti-lfa mode node-protection fast-reroute ti-lfa srlg ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg index da47c70ccfd..4486b90b8cf 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg @@ -87,11 +87,13 @@ router isis EVPN_UNDERLAY address-family ipv4 unicast maximum-paths 4 tunnel source-protocol bgp ipv4 labeled-unicast rcf lu_2_sr_pfx() + bfd all-interfaces fast-reroute ti-lfa mode link-protection level-2 fast-reroute ti-lfa srlg strict ! address-family ipv6 unicast maximum-paths 4 + bfd all-interfaces fast-reroute ti-lfa mode node-protection fast-reroute ti-lfa srlg ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-isis-new.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-isis-new.yml index 493f67ad1a1..2e7046498ab 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-isis-new.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-isis-new.yml @@ -38,6 +38,7 @@ router_isis: route_map: RM-OSPF-NSSA_EXT-TO-ISIS address_family_ipv4: maximum_paths: 4 + bfd_all_interfaces: true fast_reroute_ti_lfa: mode: link-protection level: level-2 @@ -49,6 +50,7 @@ router_isis: rcf: lu_2_sr_pfx() address_family_ipv6: maximum_paths: 4 + bfd_all_interfaces: true fast_reroute_ti_lfa: mode: node-protection srlg: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-isis.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-isis.md index e0ed32cae23..60371aa45c3 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-isis.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-isis.md @@ -32,6 +32,7 @@ | [  address_family_ipv4](## "router_isis.address_family_ipv4") | Dictionary | | | | | | [    enabled](## "router_isis.address_family_ipv4.enabled") | Boolean | | | | | | [    maximum_paths](## "router_isis.address_family_ipv4.maximum_paths") | Integer | | | Min: 1
Max: 128 | | + | [    bfd_all_interfaces](## "router_isis.address_family_ipv4.bfd_all_interfaces") | Boolean | | | | Enable BFD on all interfaces | | [    fast_reroute_ti_lfa](## "router_isis.address_family_ipv4.fast_reroute_ti_lfa") | Dictionary | | | | | | [      mode](## "router_isis.address_family_ipv4.fast_reroute_ti_lfa.mode") | String | | | Valid Values:
- link-protection
- node-protection | | | [      level](## "router_isis.address_family_ipv4.fast_reroute_ti_lfa.level") | String | | | Valid Values:
- level-1
- level-2 | | @@ -44,6 +45,7 @@ | [  address_family_ipv6](## "router_isis.address_family_ipv6") | Dictionary | | | | | | [    enabled](## "router_isis.address_family_ipv6.enabled") | Boolean | | | | | | [    maximum_paths](## "router_isis.address_family_ipv6.maximum_paths") | Integer | | | Min: 1
Max: 128 | | + | [    bfd_all_interfaces](## "router_isis.address_family_ipv6.bfd_all_interfaces") | Boolean | | | | Enable BFD on all interfaces | | [    fast_reroute_ti_lfa](## "router_isis.address_family_ipv6.fast_reroute_ti_lfa") | Dictionary | | | | | | [      mode](## "router_isis.address_family_ipv6.fast_reroute_ti_lfa.mode") | String | | | Valid Values:
- link-protection
- node-protection | | | [      level](## "router_isis.address_family_ipv6.fast_reroute_ti_lfa.level") | String | | | Valid Values:
- level-1
- level-2 | Optional, default is to protect all levels | @@ -118,6 +120,9 @@ address_family_ipv4: enabled: maximum_paths: + + # Enable BFD on all interfaces + bfd_all_interfaces: fast_reroute_ti_lfa: mode: level: @@ -134,6 +139,9 @@ address_family_ipv6: enabled: maximum_paths: + + # Enable BFD on all interfaces + bfd_all_interfaces: fast_reroute_ti_lfa: mode: 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 76b15b584b4..07c76946fe5 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 @@ -20466,6 +20466,11 @@ "maximum": 128, "title": "Maximum Paths" }, + "bfd_all_interfaces": { + "type": "boolean", + "description": "Enable BFD on all interfaces", + "title": "BFD All Interfaces" + }, "fast_reroute_ti_lfa": { "type": "object", "properties": { @@ -20550,6 +20555,11 @@ "maximum": 128, "title": "Maximum Paths" }, + "bfd_all_interfaces": { + "type": "boolean", + "description": "Enable BFD on all interfaces", + "title": "BFD All Interfaces" + }, "fast_reroute_ti_lfa": { "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 488f7c0489f..c69b17875df 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 @@ -11882,6 +11882,9 @@ keys: - str min: 1 max: 128 + bfd_all_interfaces: + type: bool + description: Enable BFD on all interfaces fast_reroute_ti_lfa: type: dict keys: @@ -11922,6 +11925,9 @@ keys: - str min: 1 max: 128 + bfd_all_interfaces: + type: bool + description: Enable BFD on all interfaces fast_reroute_ti_lfa: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_isis.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_isis.schema.yml index 96971aad604..9766f36a5c1 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_isis.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_isis.schema.yml @@ -112,6 +112,9 @@ keys: - "str" min: 1 max: 128 + bfd_all_interfaces: + type: bool + description: Enable BFD on all interfaces fast_reroute_ti_lfa: type: dict keys: @@ -152,6 +155,9 @@ keys: - "str" min: 1 max: 128 + bfd_all_interfaces: + type: bool + description: Enable BFD on all interfaces fast_reroute_ti_lfa: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-isis.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-isis.j2 index 6a63bc10555..c1436e15678 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-isis.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-isis.j2 @@ -113,6 +113,9 @@ router isis {{ router_isis.instance }} {% endif %} {{ lu_cli }} {% endif %} +{% if router_isis.address_family_ipv4.bfd_all_interfaces is arista.avd.defined(true) %} + bfd all-interfaces +{% endif %} {% if router_isis.address_family_ipv4.fast_reroute_ti_lfa.mode is arista.avd.defined %} {% set ti_lfa_cli = "fast-reroute ti-lfa mode " ~ router_isis.address_family_ipv4.fast_reroute_ti_lfa.mode %} {% if router_isis.address_family_ipv4.fast_reroute_ti_lfa.level is arista.avd.defined %} @@ -134,6 +137,9 @@ router isis {{ router_isis.instance }} {% if router_isis.address_family_ipv6.maximum_paths is arista.avd.defined %} maximum-paths {{ router_isis.address_family_ipv6.maximum_paths }} {% endif %} +{% if router_isis.address_family_ipv4.bfd_all_interfaces is arista.avd.defined(true) %} + bfd all-interfaces +{% endif %} {% if router_isis.address_family_ipv6.fast_reroute_ti_lfa.mode is arista.avd.defined %} {% set ti_lfa_cli = "fast-reroute ti-lfa mode " ~ router_isis.address_family_ipv6.fast_reroute_ti_lfa.mode %} {% if router_isis.address_family_ipv6.fast_reroute_ti_lfa.level is arista.avd.defined %}