dellemc.enterprise_sonic.sonic_pim_global module – Manage global PIM configurations on SONiC
Note
This module is part of the dellemc.enterprise_sonic collection (version 2.5.1).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install dellemc.enterprise_sonic
.
To use it in a playbook, specify: dellemc.enterprise_sonic.sonic_pim_global
.
New in dellemc.enterprise_sonic 2.5.0
Synopsis
This module provides configuration management of global PIM parameters for devices running SONiC.
VRF and prefix-list need to be created earlier in the device.
Parameters
Parameter |
Comments |
---|---|
Specifies global PIM configurations. |
|
Enable PIM ECMP. Choices:
|
|
Enable PIM ECMP rebalance. ECMP has to be enabled for configuring ECMP rebalance. Choices:
|
|
Specifies the PIM Join Prune Interval in seconds. The range is from 60 to 600. |
|
Specifies the PIM Keepalive timer in seconds. The range is from 31 to 60000. |
|
Specifies the SSM prefix-list. |
|
Name of the VRF to which the PIM configurations belong. Default: |
|
The state of the configuration after module completion.
Choices:
|
Notes
Note
Supports
check_mode
.
Examples
# Using deleted
#
# Before State:
# -------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf VrfReg1 join-prune-interval 60
# ip pim vrf VrfReg1 keep-alive-timer 180
# ip pim vrf VrfReg1 ssm prefix-list prefix-list-1
# ip pim vrf VrfReg2 ecmp
# ip pim vrf VrfReg2 ssm prefix-list prefix-list-2
# ip pim vrf default ecmp
# ip pim vrf default ecmp rebalance
# sonic#
- name: Delete specified global PIM configurations
dellemc.enterprise_sonic.sonic_pim_global:
config:
- vrf_name: 'VrfReg1'
join_prune_interval: 60
keepalive_timer: 180
- vrf_name: 'VrfReg2'
state: deleted
# After State:
# ------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf VrfReg1 ssm prefix-list prefix-list-1
# ip pim vrf default ecmp
# ip pim vrf default ecmp rebalance
# sonic#
# Using deleted
#
# Before State:
# -------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf VrfReg1 join-prune-interval 60
# ip pim vrf VrfReg1 keep-alive-timer 180
# ip pim vrf VrfReg1 ssm prefix-list prefix-list-1
# ip pim vrf VrfReg2 ecmp
# ip pim vrf VrfReg2 ssm prefix-list prefix-list-2
# ip pim vrf default ecmp
# ip pim vrf default ecmp rebalance
# sonic#
- name: Delete all global PIM configurations
dellemc.enterprise_sonic.sonic_pim_global:
config:
state: deleted
# After State:
# ------------
#
# sonic# show running-configuration | grep "ip pim"
# sonic#
# Using merged
#
# Before State:
# -------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf default join-prune-interval 120
# ip pim vrf default keep-alive-timer 360
# ip pim vrf default ssm prefix-list prefix-list-1
# sonic#
- name: Merge provided global PIM configurations
dellemc.enterprise_sonic.sonic_pim_global:
config:
- vrf_name: 'default'
ecmp_enable: true
ecmp_rebalance_enable: true
join_prune_interval: 60
keepalive_timer: 180
ssm_prefix_list: 'prefix-list-def'
- vrf_name: 'VrfReg1'
join_prune_interval: 60
keepalive_timer: 180
- vrf_name: 'VrfReg2'
ssm_prefix_list: 'prefix-list-2'
state: merged
# After State:
# ------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf VrfReg1 join-prune-interval 60
# ip pim vrf VrfReg1 keep-alive-timer 180
# ip pim vrf VrfReg2 ssm prefix-list prefix-list-2
# ip pim vrf default ecmp
# ip pim vrf default ecmp rebalance
# ip pim vrf default join-prune-interval 60
# ip pim vrf default keep-alive-timer 180
# ip pim vrf default ssm prefix-list prefix-list-def
# sonic#
# Using replaced
#
# Before State:
# -------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf VrfReg1 join-prune-interval 60
# ip pim vrf VrfReg1 keep-alive-timer 180
# ip pim vrf VrfReg1 ssm prefix-list prefix-list-1
# ip pim vrf VrfReg2 ecmp
# ip pim vrf VrfReg2 ssm prefix-list prefix-list-2
# ip pim vrf default ecmp
# ip pim vrf default ecmp rebalance
# sonic#
- name: Replace global PIM configurations of specified VRFs
dellemc.enterprise_sonic.sonic_pim_global:
config:
- vrf_name: 'default'
ecmp_enable: true
- vrf_name: 'VrfReg1'
join_prune_interval: 120
keepalive_timer: 360
state: replaced
# After State:
# ------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf VrfReg1 join-prune-interval 120
# ip pim vrf VrfReg1 keep-alive-timer 360
# ip pim vrf VrfReg2 ecmp
# ip pim vrf VrfReg2 ssm prefix-list prefix-list-2
# ip pim vrf default ecmp
# sonic#
# Using replaced
#
# Before State:
# -------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf VrfReg1 join-prune-interval 60
# ip pim vrf VrfReg1 keep-alive-timer 180
# ip pim vrf VrfReg1 ssm prefix-list prefix-list-1
# ip pim vrf VrfReg2 ecmp
# ip pim vrf VrfReg2 ssm prefix-list prefix-list-2
# ip pim vrf default ecmp
# ip pim vrf default ecmp rebalance
# sonic#
- name: Override global PIM configurations
dellemc.enterprise_sonic.sonic_pim_global:
config:
- vrf_name: 'default'
ecmp_enable: true
- vrf_name: 'VrfReg1'
join_prune_interval: 120
keepalive_timer: 360
state: overridden
# After State:
# ------------
#
# sonic# show running-configuration | grep "ip pim"
# ip pim vrf VrfReg1 join-prune-interval 120
# ip pim vrf VrfReg1 keep-alive-timer 360
# ip pim vrf default ecmp
# sonic#
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The resulting configuration on module invocation. Returned: when changed Sample: |
|
The generated configuration on module invocation. Returned: when Sample: |
|
The configuration prior to the module invocation. Returned: always Sample: |
|
The set of commands pushed to the remote device. Returned: always Sample: |