dellemc.enterprise_sonic.sonic_qos_buffer module – Manage QoS buffer configuration on SONiC
Note
This module is part of the dellemc.enterprise_sonic collection (version 3.0.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 dellemc.enterprise_sonic
.
To use it in a playbook, specify: dellemc.enterprise_sonic.sonic_qos_buffer
.
New in dellemc.enterprise_sonic 2.5.0
Synopsis
This module provides configuration management of QoS buffer for devices running SONiC
Parameters
Parameter |
Comments |
---|---|
QoS buffer configuration |
|
Initialize QoS buffer based on system defaults Choices:
|
|
Buffer pools configuration |
|
Name of buffer pool Choices:
|
|
Amount of shared buffer space in bytes, must be less than pool size Required non-key attribute |
|
Buffer profiles configuration static_threshold and dynamic_threshold are mutually exclusive required non-key attributes |
|
Dynamic threshold value Range -6-3 |
|
Name of buffer profile |
|
Threshold value at which to stop traffic from peer Range 46080-8388608 Configurable for ingress lossless pool |
|
Name of buffer pool Required non-key attribute Choices:
|
|
Size of reserved buffer in bytes Required non-key attribute |
|
Static threshold for the shared usage in bytes |
|
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 | grep buffer
# buffer init lossless
# buffer pool ingress_lossless_pool shared-headroom-size 1000000
- name: Merge QoS buffer configuration
dellemc.enterprise_sonic.sonic_qos_buffer:
config:
buffer_init: true
buffer_pools:
- name: ingress_lossless_pool
xoff: 3500000
buffer_profiles:
- name: profile1
pool: ingress_lossless_pool
size: 45
static_threshold: 25
pause_threshold: 55000
- name: profile2
pool: egress_lossless_pool
size: 85
dynamic_threshold: -2
- name: profile3
pool: egress_lossy_pool
size: 90
static_threshold: 30
state: merged
# After state:
# ------------
#
# sonic# show running-configuration | grep buffer
# buffer init lossless
# buffer pool ingress_lossless_pool shared-headroom-size 3500000
# buffer profile profile1 ingress_lossless_pool 45 static-threshold 25 pause pause-threshold 55000
# buffer profile profile2 egress_lossy_pool 85 dynamic-threshold -2
# buffer profile profile3 egress_lossless_pool 90 static-threshold 30
#
#
# Using deleted
#
# Before state:
# -------------
#
# sonic# show running-configuration | grep buffer
# buffer init lossless
# buffer pool ingress_lossless_pool shared-headroom-size 3500000
# buffer profile profile1 ingress_lossless_pool 45 static-threshold 25 pause pause-threshold 55000
# buffer profile profile2 egress_lossy_pool 85 dynamic-threshold -2
# buffer profile profile3 egress_lossless_pool 90 static-threshold 30
- name: Delete QoS buffer profile configuration
dellemc.enterprise_sonic.sonic_qos_buffer:
config:
buffer_profiles:
- name: profile1
static_threshold: 25
pause_threshold: 55000
- name: profile2
dynamic_threshold: -2
- name: profile3
state: deleted
# After state:
# ------------
#
# sonic# show running-configuration | grep buffer
# buffer init lossless
# buffer pool ingress_lossless_pool shared-headroom-size 3500000
# buffer profile profile1 ingress_lossless_pool 45
# buffer profile profile2 egress_lossy_pool 85
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The resulting configuration model invocation. Returned: when changed Sample: |
|
The generated configuration model invocation. Returned: when Sample: |
|
The configuration prior to the model invocation. Returned: always Sample: |
|
The set of commands pushed to the remote device. Returned: always Sample: |