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 |
---|---|
config list / elements=dictionary | Specifies global PIM configurations. |
ecmp_enable boolean |
Enable PIM ECMP. Choices:
|
ecmp_rebalance_enable boolean |
Enable PIM ECMP rebalance. ECMP has to be enabled for configuring ECMP rebalance. Choices:
|
join_prune_interval integer |
Specifies the PIM Join Prune Interval in seconds. The range is from 60 to 600. |
keepalive_timer integer |
Specifies the PIM Keepalive timer in seconds. The range is from 31 to 60000. |
ssm_prefix_list string |
Specifies the SSM prefix-list. |
vrf_name string |
Name of the VRF to which the PIM configurations belong. Default: |
state string | 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 |
---|---|
after list / elements=string | The resulting configuration on module invocation. Returned: when changed Sample: |
after(generated) list / elements=string | The generated configuration on module invocation. Returned: when Sample: |
before list / elements=string | The configuration prior to the module invocation. Returned: always Sample: |
commands list / elements=string | The set of commands pushed to the remote device. Returned: always Sample: |
Collection links
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/dellemc/enterprise_sonic/sonic_pim_global_module.html