[202305][buffers] Add 'create_only_config_db_buffers.json' file for the Mellanox devices (not MSFT SKU) (#17006)
Why I did it Add the create_only_config_db_buffers attribute to the DEVICE_METADATA|localhost. If the "create_only_config_db_buffers" exists and is equal to "true" - the buffers will be created according to the config_db configuration (for example BUFFER_QUEUE|* table), otherwise the maximum available buffers (which are read from SAI) will be created, regardless of the CONFIG_DB buffers configuration. Work item tracking Microsoft ADO (number only): How I did it Add the create_only_config_db_buffers.json files for Mellanox devices (not MSFT SKU's), and inject the content to the CONFIG_DB during the swss docker container start. How to verify it Manual verification: Install the image with this PR included on the not MSFT SKU switch Check the show queue counters output and verify that only configured in CONFIG_DB buffers are created root@sonic:/home/admin# show queue counters Port TxQ Counter/pkts Counter/bytes Drop/pkts Drop/bytes --------- ----- -------------- --------------- ----------- ------------ Ethernet0 UC0 0 0 0 N/A Ethernet0 UC1 0 0 0 N/A Ethernet0 UC2 0 0 0 N/A Ethernet0 UC3 0 0 0 N/A Ethernet0 UC4 0 0 0 N/A Ethernet0 UC5 0 0 0 N/A Ethernet0 UC6 0 0 0 N/A Open the /usr/share/sonic/device/$DEVICE/$SKU/create_only_config_db_buffers.json and change it to: "create_only_config_db_buffers": "false" Do config reload Check the show queue counters output and verify that all available buffers are created root@sonic:/home/admin# show queue counters Port TxQ Counter/pkts Counter/bytes Drop/pkts Drop/bytes --------- ----- -------------- --------------- ----------- ------------ Ethernet0 UC0 0 0 0 N/A Ethernet0 UC1 0 0 0 N/A Ethernet0 UC2 0 0 0 N/A Ethernet0 UC3 0 0 0 N/A Ethernet0 UC4 0 0 0 N/A Ethernet0 UC5 0 0 0 N/A Ethernet0 UC6 0 0 0 N/A Ethernet0 UC7 60 15346 0 N/A Ethernet0 MC8 N/A N/A N/A N/A Ethernet0 MC9 N/A N/A N/A N/A Ethernet0 MC10 N/A N/A N/A N/A Ethernet0 MC11 N/A N/A N/A N/A Ethernet0 MC12 N/A N/A N/A N/A Ethernet0 MC13 N/A N/A N/A N/A Ethernet0 MC14 N/A N/A N/A N/A Ethernet0 MC15 N/A N/A N/A N/A
This commit is contained in:
parent
fbf30ec6a8
commit
28ecd068d4
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"DEVICE_METADATA": {
|
||||
"localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
@ -384,6 +384,18 @@ start() {
|
||||
MOUNTPATH="$MOUNTPATH/$DEV"
|
||||
fi
|
||||
{%- endif %}
|
||||
|
||||
{%- if docker_container_name == "swss" %}
|
||||
# Insert "create_only_config_db_buffers" attribute
|
||||
HWSKU_FOLDER="/usr/share/sonic/device/$PLATFORM/$HWSKU"
|
||||
if [ -d "$HWSKU_FOLDER" ]; then
|
||||
CREATE_ONLY_CONFIG_DB_BUFFERS_JSON="$HWSKU_FOLDER/create_only_config_db_buffers.json"
|
||||
if [ -f "$CREATE_ONLY_CONFIG_DB_BUFFERS_JSON" ]; then
|
||||
$SONIC_CFGGEN -j $CREATE_ONLY_CONFIG_DB_BUFFERS_JSON --write-to-db
|
||||
fi
|
||||
fi
|
||||
{%- endif %}
|
||||
|
||||
DOCKERCHECK=`docker inspect --type container ${DOCKERNAME} 2>/dev/null`
|
||||
if [ "$?" -eq "0" ]; then
|
||||
{%- if docker_container_name == "database" %}
|
||||
|
@ -149,5 +149,12 @@
|
||||
"DEVICE_METADATA_INVALID_TIMEZONE": {
|
||||
"desc": "Verifying invalid timezone value",
|
||||
"eStrKey": "Range"
|
||||
},
|
||||
"DEVICE_METADATA_VALID_CREATE_ONLY_CONFIG_DB_BUFFERS": {
|
||||
"desc": "Verifying the create_only_config_db_buffers value"
|
||||
},
|
||||
"DEVICE_METADATA_INVALID_CREATE_ONLY_CONFIG_DB_BUFFERS": {
|
||||
"desc": "Verifying invalid create_only_config_db_buffers value",
|
||||
"eStrKey": "InvalidValue"
|
||||
}
|
||||
}
|
||||
|
@ -398,5 +398,23 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"DEVICE_METADATA_VALID_CREATE_ONLY_CONFIG_DB_BUFFERS": {
|
||||
"sonic-device_metadata:sonic-device_metadata": {
|
||||
"sonic-device_metadata:DEVICE_METADATA": {
|
||||
"sonic-device_metadata:localhost": {
|
||||
"create_only_config_db_buffers": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"DEVICE_METADATA_INVALID_CREATE_ONLY_CONFIG_DB_BUFFERS": {
|
||||
"sonic-device_metadata:sonic-device_metadata": {
|
||||
"sonic-device_metadata:DEVICE_METADATA": {
|
||||
"sonic-device_metadata:localhost": {
|
||||
"create_only_config_db_buffers": "invalid"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -234,6 +234,14 @@ module sonic-device_metadata {
|
||||
description "The TZ database name to use for the system, such as 'Europe/Stockholm'.";
|
||||
reference "IANA Time Zone Database http://www.iana.org/time-zones";
|
||||
}
|
||||
|
||||
leaf create_only_config_db_buffers {
|
||||
type boolean;
|
||||
description "If this attribute exists and is equal to true - the buffers will be created
|
||||
according to the config_db configuration (for example BUFFER_QUEUE|* table),
|
||||
otherwise the maximum available buffers (which are read from SAI) will be
|
||||
created, regardless of the CONFIG_DB buffers configuration.";
|
||||
}
|
||||
}
|
||||
/* end of container localhost */
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user