dellemc.enterprise_sonic.sonic_qos_interfaces module – Manage QoS interfaces configuration 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_qos_interfaces
.
New in dellemc.enterprise_sonic 2.5.0
Synopsis
- This module provides configuration management of QoS interfaces for devices running SONiC
Parameters
Parameter | Comments |
---|---|
config list / elements=dictionary | QoS interfaces configuration |
name string / required |
Name of the interface |
pfc dictionary |
PFC configuration |
asymmetric boolean |
Enable or disable asymmetric PFC on the interface Choices:
|
priorities list / elements=dictionary |
PFC priorities configuration |
dot1p integer / required |
DOT1P value, range 0-7 Maxium of 2 priorities supported |
enable boolean |
Enable or disable the priority Choices:
|
watchdog_action string |
PFC watchdog storm action Choices:
|
watchdog_detect_time integer |
PFC watchdog detection time in milliseconds, range 100-5000 |
watchdog_restore_time integer |
PFC watchdog restoration time milliseconds, range 100-60000 |
qos_maps dictionary |
QoS maps interface configuration |
dot1p_fwd_group string |
DOT1P to forwarding group map associated with the interface |
dscp_fwd_group string |
DSCP to forwarding group map associated with the interface |
fwd_group_dot1p string |
Forwarding group to DOT1P map associated with the interface |
fwd_group_dscp string |
Forwarding group to DSCP map associated with the interface |
fwd_group_pg string |
Forwading group to priority group map associated with the interface |
fwd_group_queue string |
Forwarding group to queue map associated with the interface |
pfc_priority_pg string |
PFC priority to priority group map associated with the interface |
pfc_priority_queue string |
PFC priority to queue map associated with the interface |
queues list / elements=dictionary |
Queue configuration |
id integer / required |
Queue identification Range 0-7 for interface queues, range 0-47 for CPU queues |
wred_profile string |
Name of the WRED profile |
scheduler_policy string |
Name of scheduler policy to be applied to traffic on the interface |
state string | The state of the configuration after module completion Replaced and overridden states are not supported for this module due to configuration constraints Choices:
|
Notes
Note
- Tested against Enterprise SONiC Distribution by Dell Technologies.
- Supports
check_mode
.
Examples
# Using Merged # # Before state: # ------------- # # sonic# show running-configuration interface Eth 1/5 # ! # interface Eth1/5 # (No QoS configuration present for the interface) - name: Merge QoS interfaces configuration dellemc.enterprise_sonic.sonic_qos_interfaces: config: - name: Eth1/5 queues: - id: 0 wred_profile: profile1 scheduler_policy: policy1 qos_maps: dscp_fwd_group: dscp_map1 dot1p_fwd_group: dot1p_map1 fwd_group_dscp: fwd_dscp_map1 fwd_group_dot1p: fwd_dot1p_map1 fwd_group_queue: fwd_queue_map1 fwd_group_pg: fwd_pg_map1 pfc_priority_queue: pfc_queue_map1 pfc_priority_pg: pfc_pg_map1 pfc: asymmetric: True watchdog_action: alert watchdog_detect_time: 100 watchdog_restore_time: 200 priorities: - dot1p: 0 enable: True - dot1p: 1 enable: True state: merged # After state: # ------------ # # sonic# show running-configuration interface Eth 1/5 # ! # interface Eth1/5 # queue 0 wred-policy profile1 # scheduler-policy policy1 # qos-map dscp-tc dscp_map1 # qos-map dot1p-tc dot1p_map1 # qos-map tc-queue fwd_queue_map1 # qos-map tc-pg fwd_pg_map1 # qos-map tc-dscp fwd_dscp_map1 # qos-map tc-dot1p fwd_dot1p_map1 # qos-map pfc-priority-queue pfc_queue_map1 # qos-map pfc-priority-pg pfc_pg_map1 # priority-flow-control priority 0 # priority-flow-control priority 1 # priority-flow-control asymmetric # priority-flow-control watchdog action alert # priority-flow-control watchdog on detect-time 100 # priority-flow-control watchdog restore-time 200 # # # Using deleted # # Before state: # ------------- # # sonic# show running-configuration interface Eth 1/5 # ! # interface Eth1/5 # queue 0 wred-policy profile2 # queue 1 wred-policy profile1 # scheduler-policy policy2 # qos-map dscp-tc dscp_map2 # qos-map dot1p-tc dot1p_map2 # qos-map tc-queue fwd_queue_map2 # qos-map tc-pg fwd_pg_map2 # qos-map tc-dscp fwd_dscp_map2 # qos-map tc-dot1p fwd_dot1p_map2 # qos-map pfc-priority-queue pfc_queue_map1 # qos-map pfc-priority-pg pfc_pg_map1 # priority-flow-control priority 1 # priority-flow-control watchdog action drop # priority-flow-control watchdog on detect-time 150 # priority-flow-control watchdog restore-time 250 # sonic# show running-configuration interface Eth 1/6 # ! # interface Eth1/6 # queue 0 wred-policy profile1 # scheduler-policy policy1 # qos-map dscp-tc dscp_map1 # qos-map dot1p-tc dot1p_map1 # qos-map tc-queue fwd_queue_map1 # qos-map tc-pg fwd_pg_map1 # qos-map tc-dscp fwd_dscp_map1 # qos-map tc-dot1p fwd_dot1p_map1 # qos-map pfc-priority-queue pfc_queue_map1 # qos-map pfc-priority-pg pfc_pg_map1 # priority-flow-control priority 0 # priority-flow-control asymmetric # priority-flow-control watchdog on detect-time 100 # priority-flow-control watchdog restore-time 200 - name: Delete QoS interfaces attributes dellemc.enterprise_sonic.sonic_interfaces: config: - name: Eth1/5 queues: - id: 0 wred_profile: profile2 - id: 1 scheduler_policy: policy2 qos_maps: dscp_fwd_group: dscp_map2 dot1p_fwd_group: dot1p_map2 fwd_group_dscp: fwd_dscp_map2 fwd_group_dot1p: fwd_dot1p_map2 fwd_group_queue: fwd_queue_map2 fwd_group_pg: fwd_pg_map2 - name: Eth1/6 pfc: asymmetric: True watchdog_action: drop watchdog_detect_time: 100 watchdog_restore_time: 200 priorities: - dot1p: 0 enable: True - dot1p: 1 enable: True state: deleted # After state: # ------------ # # sonic# show running-configuration interface Eth 1/5 # ! # interface Eth1/5 # qos-map pfc-priority-queue pfc_queue_map1 # qos-map pfc-priority-pg pfc_pg_map1 # priority-flow-control priority 1 # priority-flow-control watchdog action drop # priority-flow-control watchdog on detect-time 150 # priority-flow-control watchdog restore-time 250 # sonic# show running-configuration interface Eth 1/6 # ! # interface Eth1/6 # queue 0 wred-policy profile1 # scheduler-policy policy1 # qos-map dscp-tc dscp_map1 # qos-map dot1p-tc dot1p_map1 # qos-map tc-queue fwd_queue_map1 # qos-map tc-pg fwd_pg_map1 # qos-map tc-dscp fwd_dscp_map1 # qos-map tc-dot1p fwd_dot1p_map1 # qos-map pfc-priority-queue pfc_queue_map1 # qos-map pfc-priority-pg pfc_pg_map1
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 from module invocation. Returned: when changed, if Sample: |
after(generated) list / elements=string | The generated (simulated) configuration from 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_qos_interfaces_module.html