Skip to content

Buffer Management

Table 1 Buffer View

CommandPurpose
show buffer profileDisplay buffer profile configuration.

[Command] show buffer profile

[Purpose] Display buffer profile configuration.

[View] Privileged User View

[Use Cases]

sonic# show buffer profile
{
"egress_lossless_profile":{
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"static_th":"23001600"
},
"egress_lossy_profile":{
"dynamic_th":"2",
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"1518"
},
"ingress_lossless_profile":{
"dynamic_th":"1",
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"1518",
"xoff":"38816",
"xon_offset":"13440"
},
"ingress_lossy_profile":{
"pool":"[BUFFER_POOL|lossy_pool]",
"size":"0",
"static_th":"23001600"
},
"pg_lossless_100000_40m_profile":{
"dynamic_th":"1",
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"1518",
"xoff":"38816",
"xon":"0",
"xon_offset":"13440"
},
"pg_lossless_25000_40m_profile":{
"dynamic_th":"1",
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"1518",
"xoff":"16928",
"xon":"0",
"xon_offset":"13440"
}
}

Table 2 Buffer Config

CommandPurpose
buffer-profile buffer_profile_nameCreate a buffer profile, and enter Buffer Configuration View.
mode lossless {static static_th|dynamic dynamic_th} size size xoff xoff xon-offset xon-offset [xon xon]Set a lossless buffer profile.
mode lossy {static static_th|dynamic dynamic_th} size sizeSet a lossy buffer profile.

[Command] buffer-profile buffer_profile_name

[Purpose] Create a buffer profile, and enter Buffer Configuration View.

[Parameters]

ParameterDescription
buffer_profile_nameProfile name.

[View] Global Configuration View

[Notes] Run command no buffer-profile buffer_profile_name to delete the buffer profile.

[Use Cases]

sonic(config)# buffer-profile test
sonic(config-buffer-profile-test)#

[Command] mode lossless {static static_th|dynamic dynamic_th} size size xoff xoff xon-offset xon-offset [xon xon]

[Purpose] Set a lossless buffer profile.

[Parameters]

ParameterDescription
static_thSet the static threshold value in bytes. The range is from 0 to 47218432.
dynamic_thSet the dynamic threshold value in integer. The range is from -4 to 3. Dynamic threshold = 2dynamic_th * remaining available buffer. For example, if dynamic_th is set to 1, then dynamic threshold is two times the remaining available buffer, that is, the actual threshold is two-thirds of the total available buffer. Recommended value is -3 for CX308P-48Y-N-V2, CX532P-N-V2 and CX732Q-N-V2, and -1 for other models.
sizeSet the guaranteed buffer in bytes. The recommended value is 1518.
xoffSet PFC pause frame trigger cache threshold value in bytes, which is recommended to be an integer multiple of the cell size. Xoff value must be greater than xon value. This parameter is not supported on CX308P-48Y-N-V2, CX532P-N-V2 and CX732Q-N-V2.
xon-offsetSet PFC pause frame stop buffer threshold value in bytes, it is recommended to be an integer multiple of cell size. The recommended value is 13440. This parameter is not supported on CX308P-48Y-N-V2, CX532P-N-V2 and CX732Q-N-V2.
xon(Optional) It should be an integer multiple of cell size and the unit is byte. It is recommended to configure 0, since the actual xon takes the larger value of xon and xon-offset, so it is generally not necessary to set the value of xon. This parameter is not supported on CX308P-48Y-N-V2, CX532P-N-V2 and CX732Q-N-V2.

[View] Buffer Configuration View

[Notes]

hint{type=“warning”} Wa: It is generally not recommended to modify the interface egress queue buffer manually, so please be careful. Setting unreasonable parameters may cause loss of packets while forwarding traffic on the interface.