cisco.dnac.sda_fabric_multicast_workflow_manager module – Manage SDA fabric multicast in Cisco Catalyst Center.
Note
This module is part of the cisco.dnac collection (version 6.39.0).
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 cisco.dnac
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: cisco.dnac.sda_fabric_multicast_workflow_manager
.
New in cisco.dnac 6.31.0
Synopsis
Perform operations on SDA fabric multicast configurations and the replication mode.
Manages the multicast configurations like Source Specific Multicast (SSM) and Any Source Multicast(ASM).
Manages the replication mode of the multicast configuration associated with the L3 Virtual Network.
Requirements
The below requirements are needed on the host that executes this module.
dnacentersdk >= 2.10.2
python >= 3.9
Parameters
Parameter |
Comments |
---|---|
A list of SDA fabric multicast configurations associated with fabric sites. Each entry in the list represents multicast settings for a specific fabric site. |
|
Configuration details for SDA fabric multicast configurations associated with a fabric site. |
|
PIM Any-Source Multicast (PIM-ASM) allows receivers to join a multicast group without specifying a particular source. The root of the multicast tree is the Rendezvous Point (RP), which forwards multicast traffic to receivers. Either SSM or ASM must be provided when configuring multicast for the fabric site. When the state is ‘deleted’ and if the asm is provided, only the asm ranges will be removed. If removing ASM ranges, ensure that SSM configurations are also present. To delete the entire multicast configuration, provide only the ‘fabric_name’ and ‘layer3_virtual_network’. To delete only the SSM or ASM configurations, provide the respective ‘ssm’ or ‘asm’ parameter. |
|
The IPv4 address of the external RP when the RP device location is set to ‘EXTERNAL’. Either ‘ex_rp_ipv4_address’ or ‘ex_rp_ipv6_address’ is required when adding the multicast configuration. If both ‘ex_rp_ipv4_address’ and ‘ex_rp_ipv6_address’ are provided, ‘ex_rp_ipv4_address’ takes priority. The second address can be provided as the next element in the list if needed. |
|
This refers to the IPv6 address of the External RP when the RP Device Location is set to EXTERNAL. Either ‘ex_rp_ipv4_address’ or ‘ex_rp_ipv6_address’ is mandatory while adding the multicast configurations to the fabric site. If both the ‘ex_rp_ipv4_address’ and ‘ex_rp_ipv6_address’ is passed, ‘ex_rp_ipv4_address’ will given priority. Provide either one in an element and carry over the other to the next element of the list. |
|
A range used exclusively for Any-Source Multicast (ASM), where receivers specify both the source (S) and the group (G) for receiving multicast traffic. Either ‘is_default_v4_rp’ or ‘ipv4_asm_ranges’ must be provided when ‘ex_rp_ipv4_address’ is used. The ‘ipv4_asm_ranges’ takes priority over ‘is_default_v4_rp’ if both are provided. The ranges provided for ‘ipv4_asm_ranges’ should not overlap with the ranges provided for ‘ipv4_ssm_ranges’ or any other external IP ranges. |
|
A range used exclusively for Any-Source Multicast (ASM), where receivers specify both the source (S) and the group (G) for receiving multicast traffic. Either ‘is_default_v6_rp’ or ‘ipv6_asm_ranges’ must be provided when ‘ex_rp_ipv6_address’ is used. The ‘ipv6_asm_ranges’ takes priority over ‘is_default_v6_rp’ if both are provided. |
|
A flag that indicates whether the IPv4 RP is the default RP for the multicast domain. If set to ‘true’, this RP is used for all multicast groups that do not have a specific RP assigned. Either ‘is_default_v4_rp’ or ‘ipv4_asm_ranges’ must be provided when ‘ex_rp_ipv4_address’ is used. The ‘ipv4_asm_ranges’ will take priority over ‘is_default_v4_rp’ if both are specified. Choices:
|
|
A flag that indicates whether the IPv6 RP is the default RP for the multicast domain. If set to ‘true’, this RP is used for all multicast groups that do not have a specific RP assigned. Either ‘is_default_v6_rp’ or ‘ipv6_asm_ranges’ must be provided when ‘ex_rp_ipv6_address’ is used. The ‘ipv6_asm_ranges’ will take priority over ‘is_default_v6_rp’ if both are specified. Choices:
|
|
Specifies the IP addresses of devices within the SD-Access fabric to be used as the RP. A maximum of two device IPs can be provided. All the device IPs provided should be provisioned to the fabric site. For Edge node RPs, only one device should be provided. If using a Single Stack reserved pool, only one device should be provided. |
|
Specifies the location of the Rendezvous Point (RP) in the multicast network. Mandatory parameter when configuring ASM. When the location is ‘FABRIC’, the RP is within the SD-Access fabric (typically on a Border, Control Plane, or Edge node). When the location is ‘EXTERNAL’, the RP is outside the SD-Access fabric, requiring interconnectivity between the fabric and external multicast networks. Choices:
|
|
Name of the SDA fabric site. Mandatory parameter for all operations under fabric_multicast. The fabric site must already exist before configuring multicast settings. A Fabric Site is composed of networking devices operating in SD-Access Fabric roles. A fabric site consists of networking devices operating in SD-Access Fabric roles, including Border Nodes, Control Plane Nodes, Edge Nodes, Fabric Wireless LAN Controllers, and Fabric Wireless Access Points. A Fabric sites may also include Fabric Wireless LAN Controllers and Fabric Wireless Access Points. Updating this field is not allowed. To delete the entire multicast configuration, provide only the ‘fabric_name’ and ‘layer3_virtual_network’. To delete only SSM or ASM configurations, provide the corresponding ‘ssm’ and/or ‘asm’ fields. |
|
Name of the IP address pool allocated for communication between the SDA fabric and external networks. Denotes the IP address range allocated for communication between the SDA fabric and external networks. Mandatory parameter while adding the multicast configuration to the fabric site. When multicast is enabled in the fabric site, each device operating as a Border Node or Edge Node is provisioned with an IP address per Virtual Network, used for multicast signaling. The IP pool must be reserved in the fabric site before multicast configuration. Updating this field is not allowed. |
|
Name of the Layer 3 Virtual Network (L3VN) associated with the multicast configuration. A L3VN is a logically isolated network that enables IP routing between different subnets while maintaining separation from other virtual networks. Mandatory parameter for all operations under fabric_multicast. The Layer 3 Virtual Network must be created and associated with the fabric site and its fabric zones before configuring multicast. The created L3 Virtual Network should be associated with the fabric site and its fabric zones. Updating this field is not allowed after creation. To delete the entire multicast configuration, provide only the ‘fabric_name’ and ‘layer3_virtual_network’. To delete only the SSM or ASM configurations, provide the corresponding ‘ssm’ and/or ‘asm’ fields. |
|
Specifies how multicast traffic is replicated within the fabric site. Two replication modes are supported: Native Multicast and Headend Replication. Native Multicast forwards multicast traffic using traditional multicast routing protocols such as PIM, building distribution trees to efficiently deliver traffic to multiple receivers. Headend Replication replicates multicast packets at the source node without using multicast routing protocols. Mandatory parameter while adding the multicast configuration to the fabric site. Choices:
|
|
PIM Source-Specific Multicast (PIM-SSM) configures the multicast tree with the source as the root. Either SSM or ASM is mandatory when adding multicast configurations to the fabric site. When the state is set to ‘deleted’ and SSM is provided, only the SSM ranges will be removed. When removing SSM ranges, ASM configurations must be present. To delete the entire multicast configuration, provide only the ‘fabric_name’ and ‘layer3_virtual_network’. To delete only the SSM or ASM configurations, provide the respective ‘ssm’ or ‘asm’ parameter. |
|
The IPv4 range for Source-Specific Multicast (SSM), where receivers specify both the multicast group (G) and the source (S) for receiving traffic, enhancing security and efficiency. Mandatory parameter when the ssm is provided. |
|
Set to True to verify the Cisco Catalyst Center after applying the playbook config. Choices:
|
|
Defines the timeout in seconds for API calls to retrieve task details. If the task details are not received within this period, the process will end, and a timeout notification will be logged. Default: |
|
Indicates whether debugging is enabled in the Cisco Catalyst Center SDK. Choices:
|
|
The hostname of the Cisco Catalyst Center. |
|
Flag to enable/disable playbook execution logging. When true and dnac_log_file_path is provided, - Create the log file at the execution location with the specified name. When true and dnac_log_file_path is not provided, - Create the log file at the execution location with the name ‘dnac.log’. When false, - Logging is disabled. If the log file doesn’t exist, - It is created in append or write mode based on the “dnac_log_append” flag. If the log file exists, - It is overwritten or appended based on the “dnac_log_append” flag. Choices:
|
|
Determines the mode of the file. Set to True for ‘append’ mode. Set to False for ‘write’ mode. Choices:
|
|
Governs logging. Logs are recorded if dnac_log is True. If path is not specified, - When ‘dnac_log_append’ is True, ‘dnac.log’ is generated in the current Ansible directory; logs are appended. - When ‘dnac_log_append’ is False, ‘dnac.log’ is generated; logs are overwritten. If path is specified, - When ‘dnac_log_append’ is True, the file opens in append mode. - When ‘dnac_log_append’ is False, the file opens in write (w) mode. - In shared file scenarios, without append mode, content is overwritten after each module execution. - For a shared log file, set append to False for the 1st module (to overwrite); for subsequent modules, set append to True. Default: |
|
Sets the threshold for log level. Messages with a level equal to or higher than this will be logged. Levels are listed in order of severity [CRITICAL, ERROR, WARNING, INFO, DEBUG]. CRITICAL indicates serious errors halting the program. Displays only CRITICAL messages. ERROR indicates problems preventing a function. Displays ERROR and CRITICAL messages. WARNING indicates potential future issues. Displays WARNING, ERROR, CRITICAL messages. INFO tracks normal operation. Displays INFO, WARNING, ERROR, CRITICAL messages. DEBUG provides detailed diagnostic info. Displays all log messages. Default: |
|
The password for authentication at the Cisco Catalyst Center. |
|
Specifies the port number associated with the Cisco Catalyst Center. Default: |
|
Specifies the interval in seconds between successive calls to the API to retrieve task details. Default: |
|
The username for authentication at the Cisco Catalyst Center. Default: |
|
Flag to enable or disable SSL certificate verification. Choices:
|
|
Specifies the version of the Cisco Catalyst Center that the SDK should use. Default: |
|
The state of Cisco Catalyst Center after module completion. Choices:
|
|
Flag for Cisco Catalyst Center SDK to enable the validation of request bodies against a JSON schema. Choices:
|
Notes
Note
SDK Method used are site_design.SiteDesign.get_sites, network_settings.NetworkSettings.get_reserve_ip_subpool, devices.Devices.get_device_list, sda.Sda.get_layer3_virtual_networks, sda.Sda.get_fabric_sites, sda.Sda.get_fabric_zones, sda.Sda.get_provisioned_devices, sda.Sda.get_multicast_virtual_networks, sda.Sda.get_multicast, sda.Sda.add_multicast_virtual_networks, sda.Sda.update_multicast, sda.Sda.update_multicast_virtual_networks, sda.Sda.delete_multicast_virtual_network_by_id, task.Task.get_tasks_by_id, task.Task.get_task_details_by_id,
Paths used are get /dna/intent/api/v1/sites get /dna/intent/api/v1/reserve-ip-subpool get /dna/intent/api/v1/network-device get /dna/intent/api/v1/sda/layer3VirtualNetworks get /dna/intent/api/v1/sda/fabricSites get /dna/intent/api/v1/sda/fabricZones get /dna/intent/api/v1/sda/provisionDevices get /dna/intent/api/v1/sda/multicast/virtualNetworks get /dna/intent/api/v1/sda/multicast post /dna/intent/api/v1/sda/multicast/virtualNetworks put /dna/intent/api/v1/sda/multicast put /dna/intent/api/v1/sda/multicast/virtualNetworks delete /dna/intent/api/v1/sda/multicast/virtualNetworks/${id} get /dna/intent/api/v1/tasks/${id} get /dna/intent/api/v1/tasks/${id}/detail
Does not support
check_mode
The plugin runs on the control node and does not use any ansible connection plugins instead embedded connection manager from Cisco Catalyst Center SDK
The parameters starting with dnac_ are used by the Cisco Catalyst Center Python SDK to establish the connection
Examples
---
- name: Configure the SDA multicast on a L3 virtual
network under a fabric site
cisco.dnac.sda_fabric_multicast_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_port: "{{ dnac_port }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log: true
dnac_log_level: "{{ dnac_log_level }}"
state: merged
config_verify: true
config:
- fabric_multicast:
- fabric_name: "Global/USA/SAN JOSE"
layer3_virtual_network: "L3_VN_MUL_1"
replication_mode: NATIVE_MULTICAST
ip_pool_name: ip_pool_dual_mul
ssm:
ipv4_ssm_ranges:
- "225.0.0.0/8"
- "226.0.0.0/8"
asm:
- rp_device_location: "FABRIC"
network_device_ips:
- "204.1.2.3"
is_default_v4_rp: true
- name: Update the ssm configuration on a L3 virtual
network under a fabric site
cisco.dnac.sda_fabric_multicast_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_port: "{{ dnac_port }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log: true
dnac_log_level: "{{ dnac_log_level }}"
state: merged
config_verify: true
config:
- fabric_multicast:
- fabric_name: "Global/USA/SAN JOSE"
layer3_virtual_network: "L3_VN_MUL_1"
ssm:
ipv4_ssm_ranges:
- "227.0.0.0/8"
- name: Update the asm configuration on a L3 virtual
network under a fabric site
cisco.dnac.sda_fabric_multicast_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_port: "{{ dnac_port }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log: true
dnac_log_level: "{{ dnac_log_level }}"
state: merged
config_verify: true
config:
- fabric_multicast:
- fabric_name: "Global/USA/SAN JOSE"
layer3_virtual_network: "L3_VN_MUL_1"
asm:
- rp_device_location: "EXTERNAL"
ex_rp_ipv4_address: "10.0.0.1"
ipv4_asm_ranges:
- "232.0.0.0/8"
- "233.0.0.0/8"
ex_rp_ipv6_address: "2001::1"
ipv6_asm_ranges:
- "FF01::/64"
- "FF02::/64"
- rp_device_location: "EXTERNAL"
ex_rp_ipv4_address: "10.0.0.2"
ipv4_asm_ranges:
- "234.0.0.0/8"
- "235.0.0.0/8"
ex_rp_ipv6_address: "2001::2"
ipv6_asm_ranges:
- "FF02::/64"
- "FF04::/64"
- name: Update the replication mode of the SDA multicast
configurations under a fabric site
cisco.dnac.sda_fabric_multicast_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_port: "{{ dnac_port }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log: true
dnac_log_level: "{{ dnac_log_level }}"
state: merged
config_verify: true
config:
- fabric_multicast:
- fabric_name: "Global/USA/SAN JOSE"
layer3_virtual_network: "L3_VN_MUL_1"
replication_mode: "HEADEND_REPLICATION"
- name: Delete the source '226.0.0.0/8' from the ssm
multicast configuration
cisco.dnac.sda_fabric_multicast_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_port: "{{ dnac_port }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log: true
dnac_log_level: "{{ dnac_log_level }}"
state: deleted
config_verify: true
config:
- fabric_multicast:
- fabric_name: "Global/USA/SAN JOSE"
layer3_virtual_network: "L3_VN_MUL_1"
ssm:
ipv4_ssm_ranges:
- "226.0.0.0/8"
- name: Delete the RP '10.0.0.1' from the asm multicast
configuration
cisco.dnac.sda_fabric_multicast_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_port: "{{ dnac_port }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log: true
dnac_log_level: "{{ dnac_log_level }}"
state: deleted
config_verify: true
config:
- fabric_multicast:
- fabric_name: "Global/USA/SAN JOSE"
layer3_virtual_network: "L3_VN_MUL_1"
asm:
- rp_device_location: "EXTERNAL"
ex_rp_ipv4_address: "10.0.0.1"
- name: Delete the SDA multicast configurations of the
L3 virtual network from the fabric site.
cisco.dnac.sda_fabric_multicast_workflow_manager:
dnac_host: "{{ dnac_host }}"
dnac_username: "{{ dnac_username }}"
dnac_password: "{{ dnac_password }}"
dnac_verify: "{{ dnac_verify }}"
dnac_port: "{{ dnac_port }}"
dnac_version: "{{ dnac_version }}"
dnac_debug: "{{ dnac_debug }}"
dnac_log: true
dnac_log_level: "{{ dnac_log_level }}"
state: deleted
config_verify: true
config:
- fabric_multicast:
- fabric_name: "Global/USA/SAN JOSE"
layer3_virtual_network: "L3_VN_MUL_1"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A dictionary or list with the response returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |
|
A dictionary or list with the response returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |
|
A dictionary or list with the response returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |
|
A dictionary or list with the response returned by the Cisco Catalyst Center Python SDK Returned: always Sample: |