Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat(eos_cli_config_gen): Adding support to disable make_before_break for PIM sparse-mode #4745

Merged
merged 15 commits into from
Nov 26, 2024
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 |
ClausHolbechArista marked this conversation as resolved.
Show resolved Hide resolved
| -------- | ----------- | ----------------- |
| 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 |
ClausHolbechArista marked this conversation as resolved.
Show resolved Hide resolved
| -------- | ----------- | ----------------- |
| 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
ClausHolbechArista marked this conversation as resolved.
Show resolved Hide resolved
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 %}
gmuloc marked this conversation as resolved.
Show resolved Hide resolved
{% 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 %}
gmuloc marked this conversation as resolved.
Show resolved Hide resolved
{% 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
Loading