Skip to content

Commit

Permalink
Feat(eos_cli_config_gen): Adding support to disable make_before_break…
Browse files Browse the repository at this point in the history
… for PIM sparse-mode (#4745)
  • Loading branch information
davidhayes9 authored Nov 26, 2024
1 parent 7a389b5 commit 766dd59
Show file tree
Hide file tree
Showing 11 changed files with 119 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7577,6 +7577,8 @@ router multicast

BFD enabled: True

Make-before-break: False

##### IP Rendezvous Information

| Rendezvous Point Address | Group Address | Access Lists | Priority | Hashmask | Override |
Expand All @@ -7592,11 +7594,11 @@ BFD enabled: True

##### IP Sparse Mode VRFs

| VRF Name | BFD Enabled |
| -------- | ----------- |
| MCAST_VRF1 | True |
| MCAST_VRF2_ALL_GROUPS | False |
| Test_RP_ACL | False |
| VRF Name | BFD Enabled | Make-before-break |
| -------- | ----------- | ----------------- |
| MCAST_VRF1 | True | False |
| MCAST_VRF2_ALL_GROUPS | False | - |
| Test_RP_ACL | False | True |

| VRF Name | Rendezvous Point Address | Group Address | Access Lists | Priority | Hashmask | Override |
| -------- | ------------------------ | ------------- | ------------ | -------- | -------- | -------- |
Expand All @@ -7613,6 +7615,7 @@ router pim sparse-mode
ipv4
ssm range standard
bfd
make-before-break disabled
rp address 10.238.1.161 239.12.12.12/32 priority 20
rp address 10.238.1.161 239.12.12.13/32 priority 20
rp address 10.238.1.161 239.12.12.14/32 priority 20
Expand All @@ -7628,6 +7631,7 @@ router pim sparse-mode
vrf MCAST_VRF1
ipv4
bfd
make-before-break disabled
rp address 10.238.2.161 239.12.22.12/32
rp address 10.238.2.161 239.12.22.13/32
rp address 10.238.2.161 239.12.22.14/32
Expand All @@ -7638,6 +7642,7 @@ router pim sparse-mode
!
vrf Test_RP_ACL
ipv4
make-before-break
rp address 10.238.4.161 access-list RP_ACL
rp address 10.238.4.161 access-list RP_ACL2 priority 20 hashmask 30 override
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
- [Queue Monitor Configuration](#queue-monitor-configuration)
- [Multicast](#multicast)
- [IP IGMP Snooping](#ip-igmp-snooping)
- [PIM Sparse Mode](#pim-sparse-mode)
- [Filters](#filters)
- [AS Path Lists](#as-path-lists)
- [802.1X Port Security](#8021x-port-security)
Expand Down Expand Up @@ -683,6 +684,35 @@ no ip igmp snooping vlan 30
no ip igmp snooping querier
```

### PIM Sparse Mode

#### Router PIM Sparse Mode

##### IP Sparse Mode Information

BFD enabled: False

Make-before-break: True

##### IP Sparse Mode VRFs

| VRF Name | BFD Enabled | Make-before-break |
| -------- | ----------- | ----------------- |
| MCAST_VRF1 | False | True |

##### Router Multicast Device Configuration

```eos
!
router pim sparse-mode
ipv4
make-before-break
!
vrf MCAST_VRF1
ipv4
make-before-break
```

## Filters

### AS Path Lists
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4869,6 +4869,7 @@ router pim sparse-mode
ipv4
ssm range standard
bfd
make-before-break disabled
rp address 10.238.1.161 239.12.12.12/32 priority 20
rp address 10.238.1.161 239.12.12.13/32 priority 20
rp address 10.238.1.161 239.12.12.14/32 priority 20
Expand All @@ -4884,6 +4885,7 @@ router pim sparse-mode
vrf MCAST_VRF1
ipv4
bfd
make-before-break disabled
rp address 10.238.2.161 239.12.22.12/32
rp address 10.238.2.161 239.12.22.13/32
rp address 10.238.2.161 239.12.22.14/32
Expand All @@ -4894,6 +4896,7 @@ router pim sparse-mode
!
vrf Test_RP_ACL
ipv4
make-before-break
rp address 10.238.4.161 access-list RP_ACL
rp address 10.238.4.161 access-list RP_ACL2 priority 20 hashmask 30 override
!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,14 @@ router bgp 65101
address-family path-selection
no bgp additional-paths send
!
router pim sparse-mode
ipv4
make-before-break
!
vrf MCAST_VRF1
ipv4
make-before-break
!
dot1x system-auth-control
dot1x protocol lldp bypass
dot1x protocol bpdu bypass
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
router_pim_sparse_mode:
ipv4:
bfd: true
make_before_break: false
rp_addresses:
- address: 10.238.1.161
groups:
Expand Down Expand Up @@ -32,6 +33,7 @@ router_pim_sparse_mode:
- name: MCAST_VRF1
ipv4:
bfd: true
make_before_break: false
rp_addresses:
- address: 10.238.2.161
groups:
Expand All @@ -45,6 +47,7 @@ router_pim_sparse_mode:
hashmask: 30
- name: Test_RP_ACL
ipv4:
make_before_break: true
rp_addresses:
- address: 10.238.4.161
access_lists:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
#### Router pim sparse mode ####
router_pim_sparse_mode:
ipv4:
make_before_break: true
vrfs:
- name: MCAST_VRF1
ipv4:
make_before_break: true

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
{% if router_pim_sparse_mode.ipv4 is arista.avd.defined %}

BFD enabled: {{ router_pim_sparse_mode.ipv4.bfd | arista.avd.default(false) }}
{% if router_pim_sparse_mode.ipv4.make_before_break is arista.avd.defined %}

Make-before-break: {{ router_pim_sparse_mode.ipv4.make_before_break }}
{% endif %}
{% if router_pim_sparse_mode.ipv4.rp_addresses is arista.avd.defined %}

##### IP Rendezvous Information
Expand Down Expand Up @@ -45,26 +49,30 @@ BFD enabled: {{ router_pim_sparse_mode.ipv4.bfd | arista.avd.default(false) }}

##### IP Sparse Mode VRFs

| VRF Name | BFD Enabled |
| -------- | ----------- |
{% set any_ipv4_ip_addresses = namespace(present=false) %}
| VRF Name | BFD Enabled | Make-before-break |
| -------- | ----------- | ----------------- |
{% for vrf in router_pim_sparse_mode.vrfs | arista.avd.natural_sort('name') %}
| {{ vrf.name }} | {{ vrf.ipv4.bfd | arista.avd.default(false) }} |
{% set any_ipv4_ip_addresses.present = any_ipv4_ip_addresses.present or (vrf.ipv4.rp_addresses is arista.avd.defined and (vrf.ipv4.rp_addresses | length) > 0) %}
| {{ vrf.name }} | {{ vrf.ipv4.bfd | arista.avd.default(false) }} | {{ vrf.ipv4.make_before_break | default("-") }} |
{% endfor %}
{% if any_ipv4_ip_addresses.present %}

| VRF Name | Rendezvous Point Address | Group Address | Access Lists | Priority | Hashmask | Override |
| -------- | ------------------------ | ------------- | ------------ | -------- | -------- | -------- |
{% for vrf in router_pim_sparse_mode.vrfs | arista.avd.natural_sort('name') %}
{% if vrf.ipv4.rp_addresses is arista.avd.defined %}
{% for rp_address in vrf.ipv4.rp_addresses | arista.avd.natural_sort('address') %}
{% set rp_groups = rp_address.groups | arista.avd.default(['-']) | join(', ') %}
{% set access_lists = rp_address.access_lists | arista.avd.default(['-']) | join(', ') %}
{% set priority = rp_address.priority | arista.avd.default('-') %}
{% set hashmask = rp_address.hashmask | arista.avd.default('-') %}
{% set override = rp_address.override | arista.avd.default('-') %}
{% for vrf in router_pim_sparse_mode.vrfs | arista.avd.natural_sort('name') %}
{% if vrf.ipv4.rp_addresses is arista.avd.defined %}
{% for rp_address in vrf.ipv4.rp_addresses | arista.avd.natural_sort('address') %}
{% set rp_groups = rp_address.groups | arista.avd.default(['-']) | join(', ') %}
{% set access_lists = rp_address.access_lists | arista.avd.default(['-']) | join(', ') %}
{% set priority = rp_address.priority | arista.avd.default('-') %}
{% set hashmask = rp_address.hashmask | arista.avd.default('-') %}
{% set override = rp_address.override | arista.avd.default('-') %}
| {{ vrf.name }} | {{ rp_address.address }} | {{ rp_groups }} | {{ access_lists }} | {{ priority }} | {{ hashmask }} | {{ override }} |
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}

##### Router Multicast Device Configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ router pim sparse-mode
{% if router_pim_sparse_mode.ipv4.bfd is arista.avd.defined(true) %}
bfd
{% endif %}
{% if router_pim_sparse_mode.ipv4.make_before_break is arista.avd.defined %}
{% if router_pim_sparse_mode.ipv4.make_before_break %}
make-before-break
{% else %}
make-before-break disabled
{% endif %}
{% endif %}
{% for rp_address in router_pim_sparse_mode.ipv4.rp_addresses | arista.avd.natural_sort('address') %}
{% set rp_options_cli = "" %}
{% if rp_address.priority is arista.avd.defined %}
Expand Down Expand Up @@ -59,6 +66,13 @@ router pim sparse-mode
{% if vrf.ipv4.bfd is arista.avd.defined(true) %}
bfd
{% endif %}
{% if vrf.ipv4.make_before_break is arista.avd.defined %}
{% if vrf.ipv4.make_before_break %}
make-before-break
{% else %}
make-before-break disabled
{% endif %}
{% endif %}
{% for rp_address in vrf.ipv4.rp_addresses | arista.avd.natural_sort('address') %}
{% set rp_options_cli = "" %}
{% if rp_address.priority is arista.avd.defined %}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ keys:
bfd:
type: bool
description: Enable/Disable BFD.
make_before_break:
type: bool
description: Enable/Disable Make-Before-Break.
ssm_range:
type: str
description: IPv4 Prefix associated with SSM.
Expand Down Expand Up @@ -85,6 +88,9 @@ keys:
bfd:
type: bool
description: Enable/Disable BFD.
make_before_break:
type: bool
description: Enable/Disable Make-Before-Break.
rp_addresses:
type: list
items:
Expand Down

0 comments on commit 766dd59

Please sign in to comment.