diff --git a/device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-256x200G/BALANCED/pg_profile_lookup.ini b/device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-256x200G/BALANCED/pg_profile_lookup.ini index 064222610a18..bc4b6528ea10 100644 --- a/device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-256x200G/BALANCED/pg_profile_lookup.ini +++ b/device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-256x200G/BALANCED/pg_profile_lookup.ini @@ -4,20 +4,20 @@ 25000 5m 1248 2288 53248 0 2288 40000 5m 1248 2288 66560 0 2288 50000 5m 1248 2288 90272 0 2288 - 100000 5m 18796 3556 300990 -2 3556 - 200000 5m 18796 3556 300990 -2 3556 - 400000 5m 18796 3556 300990 -2 3556 + 100000 5m 18796 3556 300990 0 3556 + 200000 5m 18796 3556 300990 0 3556 + 400000 5m 18796 3556 300990 0 3556 10000 40m 1248 2288 37024 0 2288 25000 40m 1248 2288 53248 0 2288 40000 40m 1248 2288 71552 0 2288 50000 40m 1248 2288 96096 0 2288 - 100000 40m 18796 3556 300990 -2 3556 - 200000 40m 18796 3556 300990 -2 3556 - 400000 40m 18796 3556 300990 -2 3556 + 100000 40m 18796 3556 300990 0 3556 + 200000 40m 18796 3556 300990 0 3556 + 400000 40m 18796 3556 300990 0 3556 10000 300m 1248 2288 46176 0 2288 25000 300m 1248 2288 79040 0 2288 40000 300m 1248 2288 108160 0 2288 50000 300m 1248 2288 141856 0 2288 - 100000 300m 18796 3556 300990 -2 3556 - 200000 300m 18796 3556 300990 -2 3556 - 400000 300m 18796 3556 300990 -2 3556 + 100000 300m 18796 3556 300990 0 3556 + 200000 300m 18796 3556 300990 0 3556 + 400000 300m 18796 3556 300990 0 3556 diff --git a/device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-256x200G/th5-a7060x6-64pe.config.bcm b/device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-256x200G/th5-a7060x6-64pe.config.bcm index a7fc7551e347..af2f5f15820f 100644 --- a/device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-256x200G/th5-a7060x6-64pe.config.bcm +++ b/device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-256x200G/th5-a7060x6-64pe.config.bcm @@ -2461,7 +2461,7 @@ device: : MIN_GUARANTEE_CELLS: 74 DYNAMIC_SHARED_LIMITS: 1 - SHARED_LIMIT_DYNAMIC: ALPHA_1_4 + SHARED_LIMIT_DYNAMIC: ALPHA_1 RESUME_OFFSET_CELLS: 14 RESUME_FLOOR_CELLS: 0 HEADROOM_LIMIT_AUTO: 0 @@ -2472,7 +2472,7 @@ device: : MIN_GUARANTEE_CELLS: 74 DYNAMIC_SHARED_LIMITS: 1 - SHARED_LIMIT_DYNAMIC: ALPHA_1_4 + SHARED_LIMIT_DYNAMIC: ALPHA_1 RESUME_OFFSET_CELLS: 14 RESUME_FLOOR_CELLS: 0 HEADROOM_LIMIT_AUTO: 0 @@ -2483,7 +2483,7 @@ device: : MIN_GUARANTEE_CELLS: 0 DYNAMIC_SHARED_LIMITS: 1 - SHARED_LIMIT_DYNAMIC: ALPHA_1_4 + SHARED_LIMIT_DYNAMIC: ALPHA_1 RESUME_OFFSET_CELLS: 0 RESUME_FLOOR_CELLS: 0 HEADROOM_LIMIT_AUTO: 0 @@ -2494,7 +2494,7 @@ device: : MIN_GUARANTEE_CELLS: 0 DYNAMIC_SHARED_LIMITS: 1 - SHARED_LIMIT_DYNAMIC: ALPHA_1_4 + SHARED_LIMIT_DYNAMIC: ALPHA_1 RESUME_OFFSET_CELLS: 0 RESUME_FLOOR_CELLS: 0 HEADROOM_LIMIT_AUTO: 0 diff --git a/device/arista/x86_64-arista_7800r3_48cq2_lc/Arista-7800R3-48CQ2-C48/jr2-a7280cr3-32d4-40x100G.config.bcm b/device/arista/x86_64-arista_7800r3_48cq2_lc/Arista-7800R3-48CQ2-C48/jr2-a7280cr3-32d4-40x100G.config.bcm index f5f261610d25..43535d05b9bd 100644 --- a/device/arista/x86_64-arista_7800r3_48cq2_lc/Arista-7800R3-48CQ2-C48/jr2-a7280cr3-32d4-40x100G.config.bcm +++ b/device/arista/x86_64-arista_7800r3_48cq2_lc/Arista-7800R3-48CQ2-C48/jr2-a7280cr3-32d4-40x100G.config.bcm @@ -2,7 +2,7 @@ soc_family.BCM8869X=BCM8869X system_ref_core_clock_khz=1600000 dpp_db_path=/usr/share/bcm/db -custom_feature_ucode_path=u_code_db2pem.txt +programmability_ucode_relative_path.BCM8869X=pemla/ucode/standard_1/jer2pemla/u_code_db2pem.txt system_headers_mode=1 suppress_unknown_prop_warnings=1 l4_protocols_load_balancing_enable=1 diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/0/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/0/j2p-a7800r3a-36d-36x400G.config.bcm index b0be0c5617b3..473988f4e1b3 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/0/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/0/j2p-a7800r3a-36d-36x400G.config.bcm @@ -2,6 +2,7 @@ soc_family=BCM8885X system_ref_core_clock_khz=1600000 dpp_db_path=/usr/share/bcm/db +programmability_ucode_relative_path.BCM8885X=pemla/ucode/standard_1/jer2pemla/u_code_db2pem.txt #################################################### ##Reference applications related properties - Start diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/1/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/1/j2p-a7800r3a-36d-36x400G.config.bcm index 5ece4f833fc4..54cfe519d0ca 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/1/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C36/1/j2p-a7800r3a-36d-36x400G.config.bcm @@ -2,6 +2,7 @@ soc_family=BCM8885X system_ref_core_clock_khz=1600000 dpp_db_path=/usr/share/bcm/db +programmability_ucode_relative_path.BCM8885X=pemla/ucode/standard_1/jer2pemla/u_code_db2pem.txt #################################################### ##Reference applications related properties - Start diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C72/0/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C72/0/j2p-a7800r3a-36d-36x400G.config.bcm index 34b8c52a91d3..1582449b6b2a 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C72/0/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C72/0/j2p-a7800r3a-36d-36x400G.config.bcm @@ -2,6 +2,7 @@ soc_family=BCM8885X system_ref_core_clock_khz=1600000 dpp_db_path=/usr/share/bcm/db +programmability_ucode_relative_path.BCM8885X=pemla/ucode/standard_1/jer2pemla/u_code_db2pem.txt #################################################### ##Reference applications related properties - Start diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C72/1/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C72/1/j2p-a7800r3a-36d-36x400G.config.bcm index ed7d23113add..820bbdf2ac91 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C72/1/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-C72/1/j2p-a7800r3a-36d-36x400G.config.bcm @@ -2,6 +2,7 @@ soc_family=BCM8885X system_ref_core_clock_khz=1600000 dpp_db_path=/usr/share/bcm/db +programmability_ucode_relative_path.BCM8885X=pemla/ucode/standard_1/jer2pemla/u_code_db2pem.txt #################################################### ##Reference applications related properties - Start diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/0/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/0/j2p-a7800r3a-36d-36x400G.config.bcm index bcb27b873431..3702d9b3a82a 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/0/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/0/j2p-a7800r3a-36d-36x400G.config.bcm @@ -2,6 +2,7 @@ soc_family=BCM8885X system_ref_core_clock_khz=1600000 dpp_db_path=/usr/share/bcm/db +programmability_ucode_relative_path.BCM8885X=pemla/ucode/standard_1/jer2pemla/u_code_db2pem.txt #################################################### ##Reference applications related properties - Start diff --git a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/1/j2p-a7800r3a-36d-36x400G.config.bcm b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/1/j2p-a7800r3a-36d-36x400G.config.bcm index 30b740af2ae2..1f26bc66d50d 100644 --- a/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/1/j2p-a7800r3a-36d-36x400G.config.bcm +++ b/device/arista/x86_64-arista_7800r3a_36d2_lc/Arista-7800R3A-36D2-D36/1/j2p-a7800r3a-36d-36x400G.config.bcm @@ -2,6 +2,7 @@ soc_family=BCM8885X system_ref_core_clock_khz=1600000 dpp_db_path=/usr/share/bcm/db +programmability_ucode_relative_path.BCM8885X=pemla/ucode/standard_1/jer2pemla/u_code_db2pem.txt #################################################### ##Reference applications related properties - Start diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers.json.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers.json.j2 index add8bf8bb7c2..b57f1dc31b43 120000 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers.json.j2 +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers.json.j2 @@ -1 +1 @@ -../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers.json.j2 \ No newline at end of file +../Mellanox-SN4700-O8C48/buffers.json.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 deleted file mode 120000 index 33b6704f9902..000000000000 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 +++ /dev/null @@ -1 +0,0 @@ -../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 new file mode 100644 index 000000000000..20273084f7de --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 @@ -0,0 +1,435 @@ +{# + Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. + Apache-2.0 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#} + +{% set PORT_DPC = [] %} +{%- for port in PORT %} + {%- if 'role' in PORT[port] and PORT[port]['role'] == 'Dpc' %} + {%- if PORT_DPC.append(port) %}{%- endif %} + {%- endif %} +{%- endfor %} + +{% set PROFILE_PORT_MAP = { + "BUFFER_PORT_INGRESS_PROFILE_LIST": { + "Dpc": { + "active": { + "dynamic": "ingress_lossy_profile", + "static": "ingress_lossy_profile" + }, + "inactive": { + "dynamic": "ingress_lossy_profile", + "static": "ingress_lossy_zero_profile" + } + }, + "Ext": { + "active": { + "dynamic": "ingress_lossless_profile", + "static": "ingress_lossless_profile" + }, + "inactive": { + "dynamic": "ingress_lossless_profile", + "static": "ingress_lossless_zero_profile" + } + } + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { + "Dpc": { + "active": { + "dynamic": "egress_lossy_profile", + "static": "egress_lossy_profile" + }, + "inactive": { + "dynamic": "egress_lossy_profile", + "static": "egress_lossy_zero_profile" + } + }, + "Ext": { + "active": { + "dynamic": "egress_lossless_profile,egress_lossy_profile", + "static": "egress_lossless_profile,egress_lossy_profile" + }, + "inactive": { + "dynamic": "egress_lossless_profile,egress_lossy_profile", + "static": "egress_lossless_zero_profile,egress_lossy_zero_profile" + } + } + }, + "BUFFER_QUEUE": { + "Dpc": { + "active": { + "dynamic": "q_lossy_profile", + "static": "q_lossy_profile" + }, + "inactive": { + "dynamic": "q_lossy_profile", + "static": "egress_lossy_zero_profile" + } + }, + "Ext": { + "active": { + "dynamic": "egress_lossless_profile", + "static": "egress_lossless_profile" + }, + "inactive": { + "dynamic": "egress_lossless_profile", + "static": "egress_lossless_zero_profile" + } + } + }, + "BUFFER_PG": { + "Dpc": { + "active": { + "dynamic": "ingress_lossy_profile", + "static": "ingress_lossy_profile" + }, + "inactive": { + "dynamic": "ingress_lossy_profile", + "static": "ingress_lossy_pg_zero_profile" + } + }, + "Ext": { + "active": { + "dynamic": "NULL" + }, + "inactive": { + "dynamic": "ingress_lossy_profile", + "static": "ingress_lossy_pg_zero_profile" + } + } + } +} %} + +{%- macro find_profile_to_attach(table, port, active_status, dynamic_status) -%} +{% if port in PORT_DPC %} +"{{PROFILE_PORT_MAP[table]['Dpc'][active_status][dynamic_status]}}" +{% else %} +"{{PROFILE_PORT_MAP[table]['Ext'][active_status][dynamic_status]}}" +{% endif %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %} + "BUFFER_POOL": { + {% if dynamic_mode is not defined and port_names_inactive|length > 0 -%} + "ingress_zero_pool" : { + "mode": "static", + "type": "ingress", + "size": "0" + }, + {% endif -%} + "ingress_lossless_pool": { + {% if dynamic_mode is not defined -%} + "size": "{{ ingress_lossless_pool_size }}", + "xoff": "{{ ingress_lossless_pool_xoff }}", + {% endif -%} + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "{{ egress_lossless_pool_size }}", + "type": "egress", + "mode": "dynamic" + }, + "egress_lossy_pool": { + {% if dynamic_mode is not defined -%} + "size": "{{ egress_lossy_pool_size }}", + {% endif -%} + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + {% if dynamic_mode is not defined and port_names_inactive|length > 0 -%} + "ingress_lossy_pg_zero_profile" : { + "pool":"ingress_zero_pool", + "size":"0", + "static_th":"0" + }, + "ingress_lossless_zero_profile" : { + "pool":"ingress_lossless_pool", + "size":"0", + "dynamic_th":"-8" + }, + "egress_lossless_zero_profile" : { + "pool":"egress_lossless_pool", + "size":"0", + "dynamic_th":"-8" + }, + "egress_lossy_zero_profile" : { + "pool":"egress_lossy_pool", + "size":"0", + "dynamic_th":"-8" + }, + {% endif -%} + "ingress_lossless_profile": { + "pool":"ingress_lossless_pool", + "size":"0", + "dynamic_th":"7" + }, + "ingress_lossy_profile": { + "pool":"ingress_lossless_pool", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"egress_lossless_pool", + "size":"0", + "dynamic_th":"7" + }, + "egress_lossy_profile": { + "pool":"egress_lossy_pool", + "size":"9216", + "dynamic_th":"7" + }, + "q_lossy_profile": { + "pool":"egress_lossy_pool", + "size":"0", + "dynamic_th":"3" + } + }, +{%- endmacro %} + +{%- macro generate_profile_lists(port_names_active, port_names_inactive) %} + "BUFFER_PORT_INGRESS_PROFILE_LIST": { +{% for port in port_names_active.split(',') %} + "{{ port }}": { + "profile_list" : {{find_profile_to_attach('BUFFER_PORT_INGRESS_PROFILE_LIST', port, 'active', 'static')}} + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% if port_names_inactive|length > 0 %} +, +{% for port in port_names_inactive.split(',') %} + "{{ port }}": { +{% if dynamic_mode is defined %} + "profile_list" : {{find_profile_to_attach('BUFFER_PORT_INGRESS_PROFILE_LIST', port, 'inactive', 'dynamic')}} +{% else %} + "profile_list" : {{find_profile_to_attach('BUFFER_PORT_INGRESS_PROFILE_LIST', port, 'inactive', 'static')}} +{% endif %} + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% endif %} + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { +{% for port in port_names_active.split(',') %} + "{{ port }}": { + "profile_list" : {{find_profile_to_attach('BUFFER_PORT_EGRESS_PROFILE_LIST', port, 'active', 'static')}} + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% if port_names_inactive|length > 0 %} +, +{% for port in port_names_inactive.split(',') %} + "{{ port }}": { +{% if dynamic_mode is defined %} + "profile_list" : {{find_profile_to_attach('BUFFER_PORT_EGRESS_PROFILE_LIST', port, 'inactive', 'dynamic')}} +{% else %} + "profile_list" : {{find_profile_to_attach('BUFFER_PORT_EGRESS_PROFILE_LIST', port, 'inactive', 'static')}} +{% endif %} + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% endif %} + } +{%- endmacro %} + +{%- macro generate_queue_buffers_with_extra_lossless_queues(port_names_active, port_names_extra_queues, port_names_inactive) %} + "BUFFER_QUEUE": { +{% set q_loop = namespace(last_valid=false) %} +{% for port in port_names_active.split(',') %} +{% if port not in port_names_extra_queues.split(',') %} + "{{ port }}|3-4": { + "profile" : {{find_profile_to_attach('BUFFER_QUEUE', port, 'active', 'static')}} + }, +{% endif %} +{% endfor %} +{% for port in port_names_active.split(',') %} +{% if port not in port_names_extra_queues.split(',') %} + "{{ port }}|0-2": { + "profile" : "q_lossy_profile" + }, +{% endif %} +{% endfor %} +{% for port in port_names_active.split(',') %} +{% if port not in port_names_extra_queues.split(',') %} +{% if port_names_extra_queues|length > 0 %} + "{{ port }}|5-7": { +{% else %} + "{{ port }}|5-6": { +{% endif %} + "profile" : "q_lossy_profile" + }{% if not loop.last %},{% endif %} + +{% set q_loop.last_valid = true %} +{% else %} +{% set q_loop.last_valid = false %} +{% endif %} +{% endfor %} +{% if port_names_extra_queues|length > 0 %} +{% if q_loop.last_valid %},{% endif %} +{% for port in port_names_extra_queues.split(',') %} + "{{ port }}|0-1": { + "profile" : "q_lossy_profile" + }, + "{{ port }}|2-4": { + "profile" : "egress_lossless_profile" + }, + "{{ port }}|5": { + "profile" : "q_lossy_profile" + }, + "{{ port }}|6": { + "profile" : "egress_lossless_profile" + }, + "{{ port }}|7": { + "profile" : "q_lossy_profile" + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% endif %} +{% if port_names_inactive|length > 0 %} +, +{% if dynamic_mode is defined %} +{% for port in port_names_inactive.split(',') %} + "{{ port }}|3-4": { + "profile" : {{find_profile_to_attach('BUFFER_QUEUE', port, 'inactive', 'dynamic')}} + }, +{% endfor %} +{% for port in port_names_inactive.split(',') %} + "{{ port }}|0-2": { + "profile" : "q_lossy_profile" + }, +{% endfor %} +{% for port in port_names_inactive.split(',') %} +{% if port_names_extra_queues|length > 0 %} + "{{ port }}|5-7": { +{% else %} + "{{ port }}|5-6": { +{% endif %} + "profile" : "q_lossy_profile" + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% else %} +{% for port in port_names_inactive.split(',') %} + "{{ port }}|3-4": { + "profile" : {{find_profile_to_attach('BUFFER_QUEUE', port, 'inactive', 'static')}} + }, +{% endfor %} +{% for port in port_names_inactive.split(',') %} + "{{ port }}|0-2": { + "profile" : "egress_lossy_zero_profile" + }, +{% endfor %} +{% for port in port_names_inactive.split(',') %} +{% if port_names_extra_queues|length > 0 %} + "{{ port }}|5-7": { +{% else %} + "{{ port }}|5-6": { +{% endif %} + "profile" : "egress_lossy_zero_profile" + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% endif %} +{% endif %} + } +{%- endmacro %} + +{%- macro generate_queue_buffers(port_names_active, port_names_inactive) %} +{{ generate_queue_buffers_with_extra_lossless_queues(port_names_active, "", port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_pg_profiles_with_extra_lossless_pgs(port_names_active, port_names_extra_pgs, port_names_inactive) %} + "BUFFER_PG": { +{% set pg_loop = namespace(last_valid=false) %} +{% for port in port_names_active.split(',') %} +{% if port not in port_names_extra_pgs.split(',') %} +{% if dynamic_mode is defined %} + "{{ port }}|3-4": { + "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'active', 'dynamic')}} + }, +{% else %} +{% if port in PORT_DPC %} + "{{ port }}|3-4": { + "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'active', 'static')}} + }, +{% endif %} +{% endif %} + "{{ port }}|0": { + "profile" : "ingress_lossy_profile" + }{% if not loop.last %},{% endif %} + +{% set pg_loop.last_valid = true %} +{% else %} +{% set pg_loop.last_valid = false %} +{% endif %} +{% endfor %} +{% if port_names_extra_pgs|length > 0 %} +{% if pg_loop.last_valid %},{% endif %} +{% for port in port_names_extra_pgs.split(',') %} +{% if dynamic_mode is defined %} + "{{ port }}|2-4": { + "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'active', 'dynamic')}} + }, + "{{ port }}|6": { + "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'active', 'dynamic')}} + }, +{% else %} +{% if port in PORT_DPC %} + "{{ port }}|2-4": { + "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'active', 'static')}} + }, + "{{ port }}|6": { + "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'active', 'static')}} + }, +{% endif %} +{% endif %} + "{{ port }}|0": { + "profile" : "ingress_lossy_profile" + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% endif %} +{% if port_names_inactive|length > 0 %} +{%- for port in port_names_inactive.split(',') %} + {%- if loop.first -%},{%- endif -%} +{% if dynamic_mode is defined %} + "{{ port }}|3-4": { + "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'inactive', 'dynamic')}} + }, +{% else %} +{% if port in PORT_DPC %} + "{{ port }}|3-4": { + "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'inactive', 'static')}} + }, +{% endif %} +{% endif %} + "{{ port }}|0": { +{% if dynamic_mode is defined %} + "profile" : "ingress_lossy_profile" +{% else %} + "profile" : "ingress_lossy_pg_zero_profile" +{% endif %} + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% endif %} + } +{%- endmacro %} + +{%- macro generate_pg_profiles(port_names_active, port_names_inactive) %} +{{ generate_pg_profiles_with_extra_lossless_pgs(port_names_active, "", port_names_inactive) }} +{%- endmacro %} diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t0.j2 deleted file mode 120000 index 38216fb84301..000000000000 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t0.j2 +++ /dev/null @@ -1 +0,0 @@ -../ACS-MSN4700/buffers_defaults_t0.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t0.j2 new file mode 100644 index 000000000000..175618cc95be --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t0.j2 @@ -0,0 +1,38 @@ +{# + Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. + Apache-2.0 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#} +{% set default_cable = '5m' %} +{% set ingress_lossless_pool_size = '52219872' %} +{% set ingress_lossless_pool_xoff = '3305376' %} +{% set egress_lossless_pool_size = '60817392' %} +{% set egress_lossy_pool_size = '52219872' %} + +{% import 'buffers_defaults_objects.j2' as defs with context %} + +{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %} +{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }} +{%- endmacro %} diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t1.j2 deleted file mode 120000 index c09ab38502d4..000000000000 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t1.j2 +++ /dev/null @@ -1 +0,0 @@ -../ACS-MSN4700/buffers_defaults_t1.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t1.j2 new file mode 100644 index 000000000000..39cee7576e2c --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_t1.j2 @@ -0,0 +1,38 @@ +{# + Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. + Apache-2.0 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#} +{% set default_cable = '300m' %} +{% set ingress_lossless_pool_size = '49934304' %} +{% set ingress_lossless_pool_xoff = '5590944' %} +{% set egress_lossless_pool_size = '60817392' %} +{% set egress_lossy_pool_size = '49934304' %} + +{% import 'buffers_defaults_objects.j2' as defs with context %} + +{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %} +{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }} +{%- endmacro %} diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_dynamic.json.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_dynamic.json.j2 index 8c4117c66214..d5a441408f93 120000 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_dynamic.json.j2 +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_dynamic.json.j2 @@ -1 +1 @@ -../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_dynamic.json.j2 \ No newline at end of file +../Mellanox-SN4700-O8C48/buffers_dynamic.json.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/pg_profile_lookup.ini b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/pg_profile_lookup.ini index 7813e1697844..66cab04d2c42 120000 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/pg_profile_lookup.ini +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/pg_profile_lookup.ini @@ -1 +1 @@ -../ACS-MSN4700/pg_profile_lookup.ini \ No newline at end of file +../Mellanox-SN4700-C128/pg_profile_lookup.ini \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/port_config.ini b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/port_config.ini index bdc1dc6766f9..3e9701359868 100644 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/port_config.ini +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/port_config.ini @@ -1,5 +1,5 @@ ## -## Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. +## Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. ## Apache-2.0 ## ## Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/hwsku.json b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/hwsku.json index 04211490cdf6..be1f3c62d1f4 100644 --- a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/hwsku.json +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/hwsku.json @@ -1,772 +1,1284 @@ { "interfaces": { "Ethernet0": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet2": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet4": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet6": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet8": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet10": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet12": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet14": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet16": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet18": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet20": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet22": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet24": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet26": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet28": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet30": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet32": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet34": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet36": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet38": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet40": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet42": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet44": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet46": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet48": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet50": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet52": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet54": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet56": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet58": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet60": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet62": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet64": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet66": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet68": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet70": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet72": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet74": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet76": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet78": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet80": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet82": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet84": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet86": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet88": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet90": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet92": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet94": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet96": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet98": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet100": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet102": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet104": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet106": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet108": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet110": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet112": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet114": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet116": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet118": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet120": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet122": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet124": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet126": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet128": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet130": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet132": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet134": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet136": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet138": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet140": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet142": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet144": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet146": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet148": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet150": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet152": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet154": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet156": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet158": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet160": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet162": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet164": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet166": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet168": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet170": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet172": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet174": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet176": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet178": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet180": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet182": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet184": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet186": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet188": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet190": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet192": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet194": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet196": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet198": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet200": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet202": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet204": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet206": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet208": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet210": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet212": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet214": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet216": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet218": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet220": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet222": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet224": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet226": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet228": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet230": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet232": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet234": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet236": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet238": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet240": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet242": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet244": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet246": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet248": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet250": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet252": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet254": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet256": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet258": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet260": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet262": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet264": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet266": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet268": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet270": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet272": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet274": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet276": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet278": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet280": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet282": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet284": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet286": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet288": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet290": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet292": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet294": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet296": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet298": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet300": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet302": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet304": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet306": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet308": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet310": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet312": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet314": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet316": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet318": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet320": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet322": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet324": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet326": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet328": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet330": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet332": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet334": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet336": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet338": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet340": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet342": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet344": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet346": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet348": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet350": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet352": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet354": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet356": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet358": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet360": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet362": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet364": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet366": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet368": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet370": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet372": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet374": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet376": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet378": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet380": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet382": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet384": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet386": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet388": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet390": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet392": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet394": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet396": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet398": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet400": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet402": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet404": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet406": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet408": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet410": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet412": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet414": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet416": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet418": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet420": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet422": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet424": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet426": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet428": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet430": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet432": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet434": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet436": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet438": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet440": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet442": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet444": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet446": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet448": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet450": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet452": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet454": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet456": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet458": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet460": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet462": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet464": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet466": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet468": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet470": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet472": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet474": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet476": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet478": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet480": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet482": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet484": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet486": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet488": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet490": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet492": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet494": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet496": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet498": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet500": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet502": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet504": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "1", + "autoneg": "off" }, "Ethernet506": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "2", + "autoneg": "off" }, "Ethernet508": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "3", + "autoneg": "off" }, "Ethernet510": { - "default_brkout_mode": "4x200G[100G,50G,25G,10G]" + "default_brkout_mode": "4x200G[100G,50G,25G,10G]", + "subport": "4", + "autoneg": "off" }, "Ethernet512": { "default_brkout_mode": "1x25G[10G]" diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/media_settings.json b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/media_settings.json new file mode 100644 index 000000000000..d5884a727c18 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/media_settings.json @@ -0,0 +1,234 @@ +{ + "GLOBAL_MEDIA_SETTINGS": { + "1-64": { + "OSFP-8X-sm_media_interface": { + "speed:400GAUI-4-L": { + "pre3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre2": { + "lane0": "0x00000005", + "lane1": "0x00000005", + "lane2": "0x00000005", + "lane3": "0x00000005", + "lane4": "0x00000005", + "lane5": "0x00000005", + "lane6": "0x00000005", + "lane7": "0x00000005" + }, + "pre1": { + "lane0": "0xfffffff1", + "lane1": "0xfffffff1", + "lane2": "0xfffffff1", + "lane3": "0xfffffff1", + "lane4": "0xfffffff1", + "lane5": "0xfffffff1", + "lane6": "0xfffffff1", + "lane7": "0xfffffff1" + }, + "main": { + "lane0": "0x0000002b", + "lane1": "0x0000002b", + "lane2": "0x0000002b", + "lane3": "0x0000002b", + "lane4": "0x0000002b", + "lane5": "0x0000002b", + "lane6": "0x0000002b", + "lane7": "0x0000002b" + }, + "post1": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "idriver": { + "lane0": "0x00000032", + "lane1": "0x00000032", + "lane2": "0x00000032", + "lane3": "0x00000032", + "lane4": "0x00000032", + "lane5": "0x00000032", + "lane6": "0x00000032", + "lane7": "0x00000032" + } + }, + "speed:400GAUI-4-S": { + "pre3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre2": { + "lane0": "0x00000005", + "lane1": "0x00000005", + "lane2": "0x00000005", + "lane3": "0x00000005", + "lane4": "0x00000005", + "lane5": "0x00000005", + "lane6": "0x00000005", + "lane7": "0x00000005" + }, + "pre1": { + "lane0": "0xfffffff1", + "lane1": "0xfffffff1", + "lane2": "0xfffffff1", + "lane3": "0xfffffff1", + "lane4": "0xfffffff1", + "lane5": "0xfffffff1", + "lane6": "0xfffffff1", + "lane7": "0xfffffff1" + }, + "main": { + "lane0": "0x0000002b", + "lane1": "0x0000002b", + "lane2": "0x0000002b", + "lane3": "0x0000002b", + "lane4": "0x0000002b", + "lane5": "0x0000002b", + "lane6": "0x0000002b", + "lane7": "0x0000002b" + }, + "post1": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "idriver": { + "lane0": "0x00000032", + "lane1": "0x00000032", + "lane2": "0x00000032", + "lane3": "0x00000032", + "lane4": "0x00000032", + "lane5": "0x00000032", + "lane6": "0x00000032", + "lane7": "0x00000032" + } + }, + "speed:800G": { + "pre3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre2": { + "lane0": "0x00000005", + "lane1": "0x00000005", + "lane2": "0x00000005", + "lane3": "0x00000005", + "lane4": "0x00000005", + "lane5": "0x00000005", + "lane6": "0x00000005", + "lane7": "0x00000005" + }, + "pre1": { + "lane0": "0xfffffff1", + "lane1": "0xfffffff1", + "lane2": "0xfffffff1", + "lane3": "0xfffffff1", + "lane4": "0xfffffff1", + "lane5": "0xfffffff1", + "lane6": "0xfffffff1", + "lane7": "0xfffffff1" + }, + "main": { + "lane0": "0x0000002b", + "lane1": "0x0000002b", + "lane2": "0x0000002b", + "lane3": "0x0000002b", + "lane4": "0x0000002b", + "lane5": "0x0000002b", + "lane6": "0x0000002b", + "lane7": "0x0000002b" + }, + "post1": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "idriver": { + "lane0": "0x00000032", + "lane1": "0x00000032", + "lane2": "0x00000032", + "lane3": "0x00000032", + "lane4": "0x00000032", + "lane5": "0x00000032", + "lane6": "0x00000032", + "lane7": "0x00000032" + } + } + }, + "OSFP-8X-nm_850_media_interface": { + "speed:200GAUI-4": { + "post1": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000" + }, + "idriver": { + "lane0": "0x0000003f", + "lane1": "0x0000003f", + "lane2": "0x0000003f", + "lane3": "0x0000003f" + }, + "main": { + "lane0": "0x0000003f", + "lane1": "0x0000003f", + "lane2": "0x0000003f", + "lane3": "0x0000003f" + }, + "pre1": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000" + }, + "pre3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000" + }, + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000" + } + } + } + } + } +} diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/optics_si_settings.json b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/optics_si_settings.json new file mode 100644 index 000000000000..80d06ac743a8 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/optics_si_settings.json @@ -0,0 +1,142 @@ +{ + "GLOBAL_MEDIA_SETTINGS": { + "1-64": { + "100G_SPEED": { + "Default": { + "OutputAmplitudeTargetRx": { + "OutputAmplitudeTargetRx1": 1, + "OutputAmplitudeTargetRx2": 1, + "OutputAmplitudeTargetRx3": 1, + "OutputAmplitudeTargetRx4": 1, + "OutputAmplitudeTargetRx5": 1, + "OutputAmplitudeTargetRx6": 1, + "OutputAmplitudeTargetRx7": 1, + "OutputAmplitudeTargetRx8": 1 + }, + "OutputEqPreCursorTargetRx": { + "OutputEqPreCursorTargetRx1": 0, + "OutputEqPreCursorTargetRx2": 0, + "OutputEqPreCursorTargetRx3": 0, + "OutputEqPreCursorTargetRx4": 0, + "OutputEqPreCursorTargetRx5": 0, + "OutputEqPreCursorTargetRx6": 0, + "OutputEqPreCursorTargetRx7": 0, + "OutputEqPreCursorTargetRx8": 0 + }, + "OutputEqPostCursorTargetRx": { + "OutputEqPostCursorTargetRx1": 0, + "OutputEqPostCursorTargetRx2": 0, + "OutputEqPostCursorTargetRx3": 0, + "OutputEqPostCursorTargetRx4": 0, + "OutputEqPostCursorTargetRx5": 0, + "OutputEqPostCursorTargetRx6": 0, + "OutputEqPostCursorTargetRx7": 0, + "OutputEqPostCursorTargetRx8": 0 + } + } + }, + "50G_SPEED": { + "Default": { + "OutputAmplitudeTargetRx": { + "OutputAmplitudeTargetRx1": 1, + "OutputAmplitudeTargetRx2": 1, + "OutputAmplitudeTargetRx3": 1, + "OutputAmplitudeTargetRx4": 1, + "OutputAmplitudeTargetRx5": 1, + "OutputAmplitudeTargetRx6": 1, + "OutputAmplitudeTargetRx7": 1, + "OutputAmplitudeTargetRx8": 1 + }, + "OutputEqPreCursorTargetRx": { + "OutputEqPreCursorTargetRx1": 0, + "OutputEqPreCursorTargetRx2": 0, + "OutputEqPreCursorTargetRx3": 0, + "OutputEqPreCursorTargetRx4": 0, + "OutputEqPreCursorTargetRx5": 0, + "OutputEqPreCursorTargetRx6": 0, + "OutputEqPreCursorTargetRx7": 0, + "OutputEqPreCursorTargetRx8": 0 + }, + "OutputEqPostCursorTargetRx": { + "OutputEqPostCursorTargetRx1": 0, + "OutputEqPostCursorTargetRx2": 0, + "OutputEqPostCursorTargetRx3": 0, + "OutputEqPostCursorTargetRx4": 0, + "OutputEqPostCursorTargetRx5": 0, + "OutputEqPostCursorTargetRx6": 0, + "OutputEqPostCursorTargetRx7": 0, + "OutputEqPostCursorTargetRx8": 0 + } + } + }, + "25G_SPEED": { + "Default": { + "OutputAmplitudeTargetRx": { + "OutputAmplitudeTargetRx1": 0, + "OutputAmplitudeTargetRx2": 0, + "OutputAmplitudeTargetRx3": 0, + "OutputAmplitudeTargetRx4": 0, + "OutputAmplitudeTargetRx5": 0, + "OutputAmplitudeTargetRx6": 0, + "OutputAmplitudeTargetRx7": 0, + "OutputAmplitudeTargetRx8": 0 + }, + "OutputEqPreCursorTargetRx": { + "OutputEqPreCursorTargetRx1": 0, + "OutputEqPreCursorTargetRx2": 0, + "OutputEqPreCursorTargetRx3": 0, + "OutputEqPreCursorTargetRx4": 0, + "OutputEqPreCursorTargetRx5": 0, + "OutputEqPreCursorTargetRx6": 0, + "OutputEqPreCursorTargetRx7": 0, + "OutputEqPreCursorTargetRx8": 0 + }, + "OutputEqPostCursorTargetRx": { + "OutputEqPostCursorTargetRx1": 0, + "OutputEqPostCursorTargetRx2": 0, + "OutputEqPostCursorTargetRx3": 0, + "OutputEqPostCursorTargetRx4": 0, + "OutputEqPostCursorTargetRx5": 0, + "OutputEqPostCursorTargetRx6": 0, + "OutputEqPostCursorTargetRx7": 0, + "OutputEqPostCursorTargetRx8": 0 + } + } + }, + "10G_SPEED": { + "Default": { + "OutputAmplitudeTargetRx": { + "OutputAmplitudeTargetRx1": 0, + "OutputAmplitudeTargetRx2": 0, + "OutputAmplitudeTargetRx3": 0, + "OutputAmplitudeTargetRx4": 0, + "OutputAmplitudeTargetRx5": 0, + "OutputAmplitudeTargetRx6": 0, + "OutputAmplitudeTargetRx7": 0, + "OutputAmplitudeTargetRx8": 0 + }, + "OutputEqPreCursorTargetRx": { + "OutputEqPreCursorTargetRx1": 0, + "OutputEqPreCursorTargetRx2": 0, + "OutputEqPreCursorTargetRx3": 0, + "OutputEqPreCursorTargetRx4": 0, + "OutputEqPreCursorTargetRx5": 0, + "OutputEqPreCursorTargetRx6": 0, + "OutputEqPreCursorTargetRx7": 0, + "OutputEqPreCursorTargetRx8": 0 + }, + "OutputEqPostCursorTargetRx": { + "OutputEqPostCursorTargetRx1": 0, + "OutputEqPostCursorTargetRx2": 0, + "OutputEqPostCursorTargetRx3": 0, + "OutputEqPostCursorTargetRx4": 0, + "OutputEqPostCursorTargetRx5": 0, + "OutputEqPostCursorTargetRx6": 0, + "OutputEqPostCursorTargetRx7": 0, + "OutputEqPostCursorTargetRx8": 0 + } + } + } + } + } +} diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/pmon_daemon_control.json b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/pmon_daemon_control.json new file mode 100644 index 000000000000..208fa63ca294 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/pmon_daemon_control.json @@ -0,0 +1,6 @@ +{ + "skip_ledd": true, + "skip_fancontrol": true, + "skip_xcvrd_cmis_mgr": false +} + diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/sai.profile b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/sai.profile index 0d93ea989b31..8677e1faf336 100644 --- a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/sai.profile +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-V256/sai.profile @@ -1 +1,2 @@ SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_5600_256x200g.xml +SAI_INDEPENDENT_MODULE_MODE=1 diff --git a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/default_sku b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/default_sku index 41bda2fe9583..4653aa86a561 100644 --- a/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/default_sku +++ b/device/nvidia-bluefield/arm64-nvda_bf-bf3comdpu/default_sku @@ -1 +1 @@ -Nvidia-bf3-com-dpu appliance +Nvidia-bf3-com-dpu t1-smartswitch diff --git a/files/build_templates/buffers_config.j2 b/files/build_templates/buffers_config.j2 index d6d89e33be0b..9787bec1bd68 100644 --- a/files/build_templates/buffers_config.j2 +++ b/files/build_templates/buffers_config.j2 @@ -113,6 +113,7 @@ def {%- set PORT_ALL = [] %} {%- set PORT_BP = [] %} +{%- set PORT_DPC = [] %} {%- set SYSTEM_PORT_ALL = [] %} {%- if voq_chassis %} @@ -135,6 +136,9 @@ def {%- for port in PORT %} {%- if not port.startswith('Ethernet-Rec') and not port.startswith('Ethernet-IB') %} {%- if PORT_ALL.append(port) %}{%- endif %} + {%- if 'role' in PORT[port] and PORT[port]['role'] == 'Dpc' %} + {%- if PORT_DPC.append(port) %}{%- endif %} + {%- endif %} {%- endif %} {%- endfor %} {%- if defs.generate_bp_port_list is defined %} @@ -153,8 +157,11 @@ def {%- for port in PORT_BP %} {%- if PORT_ACTIVE.append(port) %}{%- endif %} {%- endfor %} + {%- for port in PORT_DPC %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} {%- for port in PORT_ALL %} - {%- if port not in DEVICE_NEIGHBOR.keys() %} + {%- if port not in DEVICE_NEIGHBOR.keys() and port not in PORT_DPC %} {%- if PORT_INACTIVE.append(port) %}{%- endif %} {%- endif %} {%- endfor %} diff --git a/files/build_templates/init_cfg.json.j2 b/files/build_templates/init_cfg.json.j2 index dc7e4aab7e8e..f8083f040541 100644 --- a/files/build_templates/init_cfg.json.j2 +++ b/files/build_templates/init_cfg.json.j2 @@ -38,7 +38,7 @@ {%- set features = [("bgp", "{% if not DEVICE_RUNTIME_METADATA['ETHERNET_PORTS_PRESENT'] or ('CHASSIS_METADATA' in DEVICE_RUNTIME_METADATA and DEVICE_RUNTIME_METADATA['CHASSIS_METADATA']['module_type'] in ['supervisor']) %}disabled{% else %}enabled{% endif %}", false, "enabled"), ("database", "always_enabled", false, "always_enabled"), ("lldp", "enabled", true, "enabled"), - ("pmon", "enabled", true, "enabled"), + ("pmon", "enabled", "{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] == 'SpineRouter' %}False{% else %}True{% endif %}", "enabled"), ("snmp", "enabled", true, "enabled"), ("swss", "enabled", false, "enabled"), ("syncd", "enabled", false, "enabled")] %} @@ -71,7 +71,7 @@ {%- for feature, state, delayed, autorestart in features %} "{{feature}}": { "state": "{{state}}", - "delayed" : {{delayed | lower()}}, + "delayed" : "{{delayed}}", {%- if feature in ["lldp"] %} "has_global_scope": {% raw %}"{% if ('CHASSIS_METADATA' in DEVICE_RUNTIME_METADATA and DEVICE_RUNTIME_METADATA['CHASSIS_METADATA']['module_type'] in ['linecard']) %}False{% else %}True{% endif %}"{% endraw %}, "has_per_asic_scope": {% raw %}"{% if not DEVICE_RUNTIME_METADATA['ETHERNET_PORTS_PRESENT'] or ('CHASSIS_METADATA' in DEVICE_RUNTIME_METADATA and DEVICE_RUNTIME_METADATA['CHASSIS_METADATA']['module_type'] in ['supervisor']) %}False{% else %}True{% endif %}"{% endraw %}, diff --git a/files/build_templates/qos_config.j2 b/files/build_templates/qos_config.j2 index a85d4f1e4ee0..bf5007471a48 100644 --- a/files/build_templates/qos_config.j2 +++ b/files/build_templates/qos_config.j2 @@ -1,5 +1,6 @@ {%- set PORT_ALL = [] %} {%- set PORT_BP = [] %} +{%- set PORT_DPC = [] %} {%- set SYSTEM_PORT_ALL = [] %} {%- set voq_chassis = false %} @@ -22,6 +23,9 @@ {%- for port in PORT %} {%- if not port.startswith('Ethernet-Rec') and not port.startswith('Ethernet-IB') %} {%- if PORT_ALL.append(port) %}{% endif %} + {%- if 'role' in PORT[port] and PORT[port]['role'] == 'Dpc' %} + {%- if PORT_DPC.append(port) %}{%- endif %} + {%- endif %} {%- endif %} {%- endfor %} {%- if generate_bp_port_list is defined %} @@ -47,6 +51,9 @@ {%- for port in PORT_BP %} {%- if PORT_ACTIVE.append(port) %}{%- endif %} {%- endfor %} + {%- for port in PORT_DPC %} + {%- if PORT_ACTIVE.append(port) %}{%- endif %} + {%- endfor %} {%- endif %} {%- if PORT_ACTIVE | sort_by_port_index %}{% endif %} @@ -321,8 +328,6 @@ {% else %} "tc_to_queue_map" : "AZURE", {% endif %} - "tc_to_pg_map" : "AZURE", - "pfc_to_queue_map": "AZURE", {% if asic_type in pfc_to_pg_map_supported_asics %} {% if port in port_names_list_extra_queues %} "pfc_to_pg_map" : "AZURE_DUALTOR", @@ -330,12 +335,16 @@ "pfc_to_pg_map" : "AZURE", {% endif %} {% endif %} +{% if port not in PORT_DPC %} {% if port in port_names_list_extra_queues %} "pfc_enable" : "2,3,4,6", {% else %} "pfc_enable" : "3,4", {% endif %} - "pfcwd_sw_enable" : "3,4" + "pfcwd_sw_enable" : "3,4", +{% endif %} + "tc_to_pg_map" : "AZURE", + "pfc_to_queue_map": "AZURE" }{% if not loop.last %},{% endif %} {% endfor %} @@ -426,8 +435,12 @@ {% else %} {% for port in PORT_ACTIVE %} "{{ port }}|3": { +{% if port not in PORT_DPC %} "scheduler" : "scheduler.1", "wred_profile": "AZURE_LOSSLESS" +{% else %} + "scheduler": "scheduler.0" +{% endif %} }, {% endfor %} {% if 'resource_type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['resource_type'] in apollo_resource_types %} @@ -440,8 +453,12 @@ {% else %} {% for port in PORT_ACTIVE %} "{{ port }}|4": { +{% if port not in PORT_DPC %} "scheduler" : "scheduler.1", "wred_profile": "AZURE_LOSSLESS" +{% else %} + "scheduler": "scheduler.0" +{% endif %} }, {% endfor %} {% endif %} @@ -457,7 +474,7 @@ {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|2": { -{% if port in port_names_list_extra_queues %} +{% if port in port_names_list_extra_queues and port not in PORT_DPC %} "scheduler" : "scheduler.1", "wred_profile": "AZURE_LOSSLESS" {% else %} @@ -478,7 +495,7 @@ {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|6": { -{% if port in port_names_list_extra_queues %} +{% if port in port_names_list_extra_queues and port not in PORT_DPC %} "scheduler" : "scheduler.1", "wred_profile": "AZURE_LOSSLESS" {% else %} diff --git a/files/image_config/logrotate/rsyslog.j2 b/files/image_config/logrotate/rsyslog.j2 index 77d950eb4fd4..4c40da24d256 100644 --- a/files/image_config/logrotate/rsyslog.j2 +++ b/files/image_config/logrotate/rsyslog.j2 @@ -85,7 +85,7 @@ if [ $USED_KB -lt $THRESHOLD_KB ]; then break else - OLDEST_ARCHIVE_FILE=$(find /var/log -type f -printf '%T+ %p\n' | grep -E '.+\.[0-9]+(\.gz)?$' | sort | head -n 1 | awk '{ print $2; }') + OLDEST_ARCHIVE_FILE=$(find /var/log -type f -printf '%T+ %p\n' | grep -E '.+\.[0-9]+(\.gz)?$' | sort | awk 'NR == 1 {print $2}') if [ -z "$OLDEST_ARCHIVE_FILE" ]; then logger -p syslog.err -t "logrotate" "No archive file to delete -- potential for filling up /var/log partition!" diff --git a/platform/mellanox/mlnx-platform-api/sonic_platform/chassis.py b/platform/mellanox/mlnx-platform-api/sonic_platform/chassis.py index a616b28e0c02..1db831f586f1 100644 --- a/platform/mellanox/mlnx-platform-api/sonic_platform/chassis.py +++ b/platform/mellanox/mlnx-platform-api/sonic_platform/chassis.py @@ -499,16 +499,18 @@ def get_change_event_for_module_host_management_mode(self, timeout): s.on_event(event) if s.in_stable_state(): + self.sfp_module.SFP.wait_sfp_eeprom_ready([s], 2) s.fill_change_event(port_dict) s.refresh_poll_obj(self.poll_obj, self.registered_fds) else: logger.log_debug(f'SFP {sfp_index} does not reach stable state, state={s.state}') - + ready_sfp_set = wait_ready_task.get_ready_set() for sfp_index in ready_sfp_set: s = self._sfp_list[sfp_index] s.on_event(sfp.EVENT_RESET_DONE) if s.in_stable_state(): + self.sfp_module.SFP.wait_sfp_eeprom_ready([s], 2) s.fill_change_event(port_dict) s.refresh_poll_obj(self.poll_obj, self.registered_fds) else: diff --git a/platform/mellanox/mlnx-platform-api/sonic_platform/sfp.py b/platform/mellanox/mlnx-platform-api/sonic_platform/sfp.py index 8ced4a08dad7..342dff2b603c 100644 --- a/platform/mellanox/mlnx-platform-api/sonic_platform/sfp.py +++ b/platform/mellanox/mlnx-platform-api/sonic_platform/sfp.py @@ -500,6 +500,21 @@ def get_presence(self): return False eeprom_raw = self._read_eeprom(0, 1, log_on_error=False) return eeprom_raw is not None + + @classmethod + def wait_sfp_eeprom_ready(cls, sfp_list, wait_time): + not_ready_list = sfp_list + + while wait_time > 0: + not_ready_list = [s for s in not_ready_list if s.state == STATE_FW_CONTROL and s._read_eeprom(0, 2,False) is None] + if not_ready_list: + time.sleep(0.1) + wait_time -= 0.1 + else: + return + + for s in not_ready_list: + logger.log_error(f'SFP {s.sdk_index} eeprom is not ready') # read eeprom specfic bytes beginning from offset with size as num_bytes def read_eeprom(self, offset, num_bytes): @@ -1723,7 +1738,8 @@ def initialize_sfp_modules(cls, sfp_list): logger.log_error(f'SFP {index} is not in stable state after initializing, state={s.state}') logger.log_notice(f'SFP {index} is in state {s.state} after module initialization') - + cls.wait_sfp_eeprom_ready(sfp_list, 2) + class RJ45Port(NvidiaSFPCommon): """class derived from SFP, representing RJ45 ports""" diff --git a/rules/docker-sflow.mk b/rules/docker-sflow.mk index ece35f5cb8d0..cf54436a0910 100644 --- a/rules/docker-sflow.mk +++ b/rules/docker-sflow.mk @@ -30,7 +30,7 @@ SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_SFLOW_DBG) endif $(DOCKER_SFLOW)_CONTAINER_NAME = sflow -$(DOCKER_SFLOW)_RUN_OPT += -t +$(DOCKER_SFLOW)_RUN_OPT += -t --cap-add=NET_ADMIN --cap-add=SYS_ADMIN $(DOCKER_SFLOW)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro $(DOCKER_SFLOW)_RUN_OPT += -v /etc/timezone:/etc/timezone:ro $(DOCKER_SFLOW)_RUN_OPT += -v /host/warmboot:/var/warmboot diff --git a/src/sonic-config-engine/tests/common_utils.py b/src/sonic-config-engine/tests/common_utils.py index 1a2a36805530..a5a15c45be42 100644 --- a/src/sonic-config-engine/tests/common_utils.py +++ b/src/sonic-config-engine/tests/common_utils.py @@ -97,3 +97,18 @@ def cmp(file1, file2): return obj1 == obj2 except: return filecmp.cmp(file1, file2) + +def cmp_tables(f_rcvd, f_exp): + """ Check if the tables present in rcvd matches with exp """ + try: + with open(f_rcvd, 'r') as f: + rcvd = json.load(f) + with open(f_exp, 'r') as f: + exp = json.load(f) + + for key in rcvd.keys(): + print(key, rcvd[key], exp.get(key,{})) + assert rcvd[key] == exp.get(key,{}) + except Exception as e: + return False + return True diff --git a/src/sonic-config-engine/tests/sample-mellanox-4700-t1-minigraph-smartswitch.xml b/src/sonic-config-engine/tests/sample-mellanox-4700-t1-minigraph-smartswitch.xml new file mode 100644 index 000000000000..6f47baf933b7 --- /dev/null +++ b/src/sonic-config-engine/tests/sample-mellanox-4700-t1-minigraph-smartswitch.xml @@ -0,0 +1,1082 @@ + + + + + + false + mtvr-leopard-01 + 10.0.0.32 + ARISTA01T0 + 10.0.0.33 + 1 + 10 + 3 + + + mtvr-leopard-01 + FC00::8D + ARISTA20T0 + FC00::8E + 1 + 10 + 3 + + + + + 65100 + mtvr-leopard-01 + + +
10.0.0.33
+ + + +
+ +
10.0.0.1
+ + + +
+ +
10.0.0.35
+ + + +
+ +
10.0.0.37
+ + + +
+ +
10.0.0.5
+ + + +
+ +
10.0.0.39
+ + + +
+ +
10.0.0.41
+ + + +
+ +
10.0.0.9
+ + + +
+ +
10.0.0.43
+ + + +
+ +
10.0.0.45
+ + + +
+ +
10.0.0.13
+ + + +
+ +
10.0.0.47
+ + + +
+ +
10.0.0.49
+ + + +
+ +
10.0.0.51
+ + + +
+ +
10.0.0.53
+ + + +
+ +
10.0.0.55
+ + + +
+ +
10.0.0.57
+ + + +
+ +
10.0.0.59
+ + + +
+ +
10.0.0.61
+ + + +
+ +
10.0.0.63
+ + + +
+ +
10.0.0.65
+ + + +
+ +
10.0.0.67
+ + + +
+ +
10.0.0.69
+ + + +
+ +
10.0.0.71
+ + + +
+
+ +
+ + 64001 + ARISTA01T0 + + + + 65200 + ARISTA01T2 + + + + 64002 + ARISTA02T0 + + + + 64003 + ARISTA03T0 + + + + 65200 + ARISTA03T2 + + + + 64004 + ARISTA04T0 + + + + 64005 + ARISTA05T0 + + + + 65200 + ARISTA05T2 + + + + 64006 + ARISTA06T0 + + + + 64007 + ARISTA07T0 + + + + 65200 + ARISTA07T2 + + + + 64008 + ARISTA08T0 + + + + 64009 + ARISTA09T0 + + + + 64010 + ARISTA10T0 + + + + 64011 + ARISTA11T0 + + + + 64012 + ARISTA12T0 + + + + 64013 + ARISTA13T0 + + + + 64014 + ARISTA14T0 + + + + 64015 + ARISTA15T0 + + + + 64016 + ARISTA16T0 + + + + 64017 + ARISTA17T0 + + + + 64018 + ARISTA18T0 + + + + 64019 + ARISTA19T0 + + + + 64020 + ARISTA20T0 + + +
+
+ + + + + HostIP + Loopback0 + + 10.1.0.32/32 + + 10.1.0.32/32 + + + HostIP1 + Loopback0 + + FC00:1::32/128 + + FC00:1::32/128 + + + + + HostIP + eth0 + + 10.210.24.184/22 + + 10.210.24.184/22 + + + + + + + mtvr-leopard-01 + + + PortChannel102 + etp1;etp2 + + + + PortChannel105 + etp3;etp4 + + + + PortChannel108 + etp5;etp6 + + + + PortChannel1011 + etp7;etp8 + + + + + + + + + etp28 + 10.0.0.70/31 + + + + etp28 + FC00::8D/126 + + + + + + NTP_ACL + NTP + NTP + + + SNMP_ACL + SNMP + SNMP + + + VTY_LINE + ssh-only + SSH + + + ERSPAN + Everflow + Everflow + + + ERSPANV6 + EverflowV6 + EverflowV6 + + + PortChannel102;PortChannel105;PortChannel108;PortChannel1011;etp9;etp10;etp11;etp12;etp13;etp14;etp15;etp16;etp17;etp18;etp19;etp20;etp21;etp22;etp23;etp24;etp25;etp26;etp27;etp28 + DataAcl + DataPlane + + + + + + + + + DeviceInterfaceLink + ARISTA20T0 + Ethernet1 + mtvr-leopard-01 + etp28 + 400000 + + + + + mtvr-leopard-01 + Mellanox-SN4700-O28 + + 10.245.20.49 + + + + ARISTA16T0 + + 10.245.32.142 + + Arista-VM + + + ARISTA11T0 + + 10.245.32.137 + + Arista-VM + + + ARISTA10T0 + + 10.245.32.136 + + Arista-VM + + + ARISTA17T0 + + 10.245.32.143 + + Arista-VM + + + ARISTA09T0 + + 10.245.32.135 + + Arista-VM + + + ARISTA20T0 + + 10.245.32.146 + + Arista-VM + + + ARISTA08T0 + + 10.245.32.134 + + Arista-VM + + + ARISTA07T0 + + 10.245.32.133 + + Arista-VM + + + ARISTA07T2 + + 10.245.32.126 + + Arista-VM + + + ARISTA01T2 + + 10.245.32.123 + + Arista-VM + + + ARISTA01T0 + + 10.245.32.127 + + Arista-VM + + + ARISTA05T2 + + 10.245.32.125 + + Arista-VM + + + ARISTA05T0 + + 10.245.32.131 + + Arista-VM + + + ARISTA02T0 + + 10.245.32.128 + + Arista-VM + + + ARISTA03T0 + + 10.245.32.129 + + Arista-VM + + + ARISTA03T2 + + 10.245.32.124 + + Arista-VM + + + ARISTA04T0 + + 10.245.32.130 + + Arista-VM + + + ARISTA18T0 + + 10.245.32.144 + + Arista-VM + + + ARISTA15T0 + + 10.245.32.141 + + Arista-VM + + + ARISTA19T0 + + 10.245.32.145 + + Arista-VM + + + ARISTA14T0 + + 10.245.32.140 + + Arista-VM + + + ARISTA12T0 + + 10.245.32.138 + + Arista-VM + + + ARISTA13T0 + + 10.245.32.139 + + Arista-VM + + + ARISTA06T0 + + 10.245.32.132 + + Arista-VM + + + + + true + + + DeviceInterface + + true + true + 1 + etp1 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp2 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp3 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp4 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp5 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp6 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp7 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp8 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp9 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp10 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp11 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp12 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp13 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp14 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp15 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp16 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp17 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp18 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp19 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp20 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp21 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp22 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp23 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp24 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp25 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp26 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp27 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp28 + + false + 0 + 0 + 400000 + + + DeviceInterface + + true + true + 1 + etp29 + + false + 0 + 0 + 200000 + + + DeviceInterface + + true + true + 1 + etp30 + + false + 0 + 0 + 200000 + + + DeviceInterface + + true + true + 1 + etp31 + + false + 0 + 0 + 200000 + + + DeviceInterface + + true + true + 1 + etp32 + + false + 0 + 0 + 200000 + + + true + 0 + Mellanox-SN4700-O28 + + + + + + mtvr-leopard-01 + + + DeploymentId + + 1 + + + CloudType + + Public + + + QosProfile + + Profile0 + + + DhcpResources + + 192.0.0.1;192.0.0.2;192.0.0.3;192.0.0.4 + + + NtpResources + + 10.210.25.32;10.75.202.2 + + + SnmpResources + + 10.0.0.9 + + + TacacsGroup + + testlab + + + TacacsServer + + 10.7.34.20 + + + ForcedMgmtRoutes + + 10.75.0.0/16;10.213.0.0/16;10.215.0.0/16;10.9.0.0/16;10.212.0.0/16 + + + ErspanDestinationIpv4 + + 10.0.0.7 + + + + + + + mtvr-leopard-01 + Mellanox-SN4700-O28 +
\ No newline at end of file diff --git a/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch.json b/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch.json new file mode 100644 index 000000000000..95add1de513a --- /dev/null +++ b/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch.json @@ -0,0 +1,814 @@ +{ + "PORT_QOS_MAP": { + "global": { + "dscp_to_tc_map": "AZURE" + }, + "Ethernet216": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "pfc_enable": "3,4", + "pfcwd_sw_enable": "3,4", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + }, + "Ethernet224": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + }, + "Ethernet232": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + }, + "Ethernet240": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + }, + "Ethernet248": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + } + }, + "QUEUE": { + "Ethernet216|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet224|3": { + "scheduler": "scheduler.0" + }, + "Ethernet232|3": { + "scheduler": "scheduler.0" + }, + "Ethernet240|3": { + "scheduler": "scheduler.0" + }, + "Ethernet248|3": { + "scheduler": "scheduler.0" + }, + "Ethernet216|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet224|4": { + "scheduler": "scheduler.0" + }, + "Ethernet232|4": { + "scheduler": "scheduler.0" + }, + "Ethernet240|4": { + "scheduler": "scheduler.0" + }, + "Ethernet248|4": { + "scheduler": "scheduler.0" + }, + "Ethernet216|0": { + "scheduler": "scheduler.0" + }, + "Ethernet224|0": { + "scheduler": "scheduler.0" + }, + "Ethernet232|0": { + "scheduler": "scheduler.0" + }, + "Ethernet240|0": { + "scheduler": "scheduler.0" + }, + "Ethernet248|0": { + "scheduler": "scheduler.0" + }, + "Ethernet216|1": { + "scheduler": "scheduler.0" + }, + "Ethernet224|1": { + "scheduler": "scheduler.0" + }, + "Ethernet232|1": { + "scheduler": "scheduler.0" + }, + "Ethernet240|1": { + "scheduler": "scheduler.0" + }, + "Ethernet248|1": { + "scheduler": "scheduler.0" + }, + "Ethernet216|2": { + "scheduler": "scheduler.0" + }, + "Ethernet224|2": { + "scheduler": "scheduler.0" + }, + "Ethernet232|2": { + "scheduler": "scheduler.0" + }, + "Ethernet240|2": { + "scheduler": "scheduler.0" + }, + "Ethernet248|2": { + "scheduler": "scheduler.0" + }, + "Ethernet216|5": { + "scheduler": "scheduler.0" + }, + "Ethernet224|5": { + "scheduler": "scheduler.0" + }, + "Ethernet232|5": { + "scheduler": "scheduler.0" + }, + "Ethernet240|5": { + "scheduler": "scheduler.0" + }, + "Ethernet248|5": { + "scheduler": "scheduler.0" + }, + "Ethernet216|6": { + "scheduler": "scheduler.0" + }, + "Ethernet224|6": { + "scheduler": "scheduler.0" + }, + "Ethernet232|6": { + "scheduler": "scheduler.0" + }, + "Ethernet240|6": { + "scheduler": "scheduler.0" + }, + "Ethernet248|6": { + "scheduler": "scheduler.0" + } + }, + "BUFFER_POOL": { + "ingress_zero_pool": { + "mode": "static", + "type": "ingress", + "size": "0" + }, + "ingress_lossless_pool": { + "size": "49934304", + "xoff": "5590944", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "60817392", + "type": "egress", + "mode": "dynamic" + }, + "egress_lossy_pool": { + "size": "49934304", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_pg_zero_profile": { + "pool": "ingress_zero_pool", + "size": "0", + "static_th": "0" + }, + "ingress_lossless_zero_profile": { + "pool": "ingress_lossless_pool", + "size": "0", + "dynamic_th": "-8" + }, + "egress_lossless_zero_profile": { + "pool": "egress_lossless_pool", + "size": "0", + "dynamic_th": "-8" + }, + "egress_lossy_zero_profile": { + "pool": "egress_lossy_pool", + "size": "0", + "dynamic_th": "-8" + }, + "ingress_lossless_profile": { + "pool": "ingress_lossless_pool", + "size": "0", + "dynamic_th": "7" + }, + "ingress_lossy_profile": { + "pool": "ingress_lossless_pool", + "size": "0", + "dynamic_th": "3" + }, + "egress_lossless_profile": { + "pool": "egress_lossless_pool", + "size": "0", + "dynamic_th": "7" + }, + "egress_lossy_profile": { + "pool": "egress_lossy_pool", + "size": "9216", + "dynamic_th": "7" + }, + "q_lossy_profile": { + "pool": "egress_lossy_pool", + "size": "0", + "dynamic_th": "3" + } + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST": { + "Ethernet216": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet224": { + "profile_list": "ingress_lossy_profile" + }, + "Ethernet232": { + "profile_list": "ingress_lossy_profile" + }, + "Ethernet240": { + "profile_list": "ingress_lossy_profile" + }, + "Ethernet248": { + "profile_list": "ingress_lossy_profile" + }, + "Ethernet0": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet8": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet16": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet24": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet32": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet40": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet48": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet56": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet64": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet72": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet80": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet88": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet96": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet104": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet112": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet120": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet128": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet136": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet144": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet152": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet160": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet168": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet176": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet184": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet192": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet200": { + "profile_list": "ingress_lossless_zero_profile" + }, + "Ethernet208": { + "profile_list": "ingress_lossless_zero_profile" + } + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { + "Ethernet216": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet224": { + "profile_list": "egress_lossy_profile" + }, + "Ethernet232": { + "profile_list": "egress_lossy_profile" + }, + "Ethernet240": { + "profile_list": "egress_lossy_profile" + }, + "Ethernet248": { + "profile_list": "egress_lossy_profile" + }, + "Ethernet0": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet8": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet16": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet24": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet32": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet40": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet48": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet56": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet64": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet72": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet80": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet88": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet96": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet104": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet112": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet120": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet128": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet136": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet144": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet152": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet160": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet168": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet176": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet184": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet192": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet200": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + }, + "Ethernet208": { + "profile_list": "egress_lossless_zero_profile,egress_lossy_zero_profile" + } + }, + "BUFFER_PG": { + "Ethernet216|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet224|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet224|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet232|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet232|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet240|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet240|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet248|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet248|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet0|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet8|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet16|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet24|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet32|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet40|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet48|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet56|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet64|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet72|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet80|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet88|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet96|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet104|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet112|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet120|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet128|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet136|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet144|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet152|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet160|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet168|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet176|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet184|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet192|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet200|0": { + "profile": "ingress_lossy_pg_zero_profile" + }, + "Ethernet208|0": { + "profile": "ingress_lossy_pg_zero_profile" + } + }, + "BUFFER_QUEUE": { + "Ethernet216|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet224|3-4": { + "profile": "q_lossy_profile" + }, + "Ethernet232|3-4": { + "profile": "q_lossy_profile" + }, + "Ethernet240|3-4": { + "profile": "q_lossy_profile" + }, + "Ethernet248|3-4": { + "profile": "q_lossy_profile" + }, + "Ethernet216|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet224|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet232|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet240|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet248|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet216|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet224|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet232|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet240|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet248|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet0|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet8|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet16|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet24|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet32|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet40|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet48|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet56|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet64|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet72|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet80|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet88|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet96|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet104|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet112|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet120|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet128|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet136|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet144|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet152|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet160|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet168|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet176|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet184|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet192|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet200|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet208|3-4": { + "profile": "egress_lossless_zero_profile" + }, + "Ethernet0|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet8|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet16|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet24|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet32|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet40|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet48|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet56|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet64|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet72|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet80|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet88|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet96|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet104|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet112|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet120|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet128|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet136|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet144|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet152|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet160|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet168|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet176|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet184|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet192|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet200|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet208|0-2": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet0|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet8|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet16|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet24|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet32|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet40|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet48|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet56|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet64|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet72|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet80|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet88|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet96|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet104|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet112|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet120|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet128|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet136|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet144|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet152|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet160|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet168|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet176|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet184|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet192|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet200|5-6": { + "profile": "egress_lossy_zero_profile" + }, + "Ethernet208|5-6": { + "profile": "egress_lossy_zero_profile" + } + } +} diff --git a/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch_dyn.json b/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch_dyn.json new file mode 100644 index 000000000000..4afe1c8e23cf --- /dev/null +++ b/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch_dyn.json @@ -0,0 +1,870 @@ +{ + "PORT_QOS_MAP": { + "global": { + "dscp_to_tc_map": "AZURE" + }, + "Ethernet216": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "pfc_enable": "3,4", + "pfcwd_sw_enable": "3,4", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + }, + "Ethernet224": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + }, + "Ethernet232": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + }, + "Ethernet240": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + }, + "Ethernet248": { + "dscp_to_tc_map": "AZURE", + "tc_to_queue_map": "AZURE", + "tc_to_pg_map": "AZURE", + "pfc_to_queue_map": "AZURE" + } + }, + "QUEUE": { + "Ethernet216|3": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet224|3": { + "scheduler": "scheduler.0" + }, + "Ethernet232|3": { + "scheduler": "scheduler.0" + }, + "Ethernet240|3": { + "scheduler": "scheduler.0" + }, + "Ethernet248|3": { + "scheduler": "scheduler.0" + }, + "Ethernet216|4": { + "scheduler": "scheduler.1", + "wred_profile": "AZURE_LOSSLESS" + }, + "Ethernet224|4": { + "scheduler": "scheduler.0" + }, + "Ethernet232|4": { + "scheduler": "scheduler.0" + }, + "Ethernet240|4": { + "scheduler": "scheduler.0" + }, + "Ethernet248|4": { + "scheduler": "scheduler.0" + }, + "Ethernet216|0": { + "scheduler": "scheduler.0" + }, + "Ethernet224|0": { + "scheduler": "scheduler.0" + }, + "Ethernet232|0": { + "scheduler": "scheduler.0" + }, + "Ethernet240|0": { + "scheduler": "scheduler.0" + }, + "Ethernet248|0": { + "scheduler": "scheduler.0" + }, + "Ethernet216|1": { + "scheduler": "scheduler.0" + }, + "Ethernet224|1": { + "scheduler": "scheduler.0" + }, + "Ethernet232|1": { + "scheduler": "scheduler.0" + }, + "Ethernet240|1": { + "scheduler": "scheduler.0" + }, + "Ethernet248|1": { + "scheduler": "scheduler.0" + }, + "Ethernet216|2": { + "scheduler": "scheduler.0" + }, + "Ethernet224|2": { + "scheduler": "scheduler.0" + }, + "Ethernet232|2": { + "scheduler": "scheduler.0" + }, + "Ethernet240|2": { + "scheduler": "scheduler.0" + }, + "Ethernet248|2": { + "scheduler": "scheduler.0" + }, + "Ethernet216|5": { + "scheduler": "scheduler.0" + }, + "Ethernet224|5": { + "scheduler": "scheduler.0" + }, + "Ethernet232|5": { + "scheduler": "scheduler.0" + }, + "Ethernet240|5": { + "scheduler": "scheduler.0" + }, + "Ethernet248|5": { + "scheduler": "scheduler.0" + }, + "Ethernet216|6": { + "scheduler": "scheduler.0" + }, + "Ethernet224|6": { + "scheduler": "scheduler.0" + }, + "Ethernet232|6": { + "scheduler": "scheduler.0" + }, + "Ethernet240|6": { + "scheduler": "scheduler.0" + }, + "Ethernet248|6": { + "scheduler": "scheduler.0" + } + }, + "BUFFER_POOL": { + "ingress_lossless_pool": { + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "60817392", + "type": "egress", + "mode": "dynamic" + }, + "egress_lossy_pool": { + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossless_profile": { + "pool": "ingress_lossless_pool", + "size": "0", + "dynamic_th": "7" + }, + "ingress_lossy_profile": { + "pool": "ingress_lossless_pool", + "size": "0", + "dynamic_th": "3" + }, + "egress_lossless_profile": { + "pool": "egress_lossless_pool", + "size": "0", + "dynamic_th": "7" + }, + "egress_lossy_profile": { + "pool": "egress_lossy_pool", + "size": "9216", + "dynamic_th": "7" + }, + "q_lossy_profile": { + "pool": "egress_lossy_pool", + "size": "0", + "dynamic_th": "3" + } + }, + "BUFFER_PORT_INGRESS_PROFILE_LIST": { + "Ethernet216": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet224": { + "profile_list": "ingress_lossy_profile" + }, + "Ethernet232": { + "profile_list": "ingress_lossy_profile" + }, + "Ethernet240": { + "profile_list": "ingress_lossy_profile" + }, + "Ethernet248": { + "profile_list": "ingress_lossy_profile" + }, + "Ethernet0": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet8": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet16": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet24": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet32": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet40": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet48": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet56": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet64": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet72": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet80": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet88": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet96": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet104": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet112": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet120": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet128": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet136": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet144": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet152": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet160": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet168": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet176": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet184": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet192": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet200": { + "profile_list": "ingress_lossless_profile" + }, + "Ethernet208": { + "profile_list": "ingress_lossless_profile" + } + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { + "Ethernet216": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet224": { + "profile_list": "egress_lossy_profile" + }, + "Ethernet232": { + "profile_list": "egress_lossy_profile" + }, + "Ethernet240": { + "profile_list": "egress_lossy_profile" + }, + "Ethernet248": { + "profile_list": "egress_lossy_profile" + }, + "Ethernet0": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet8": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet16": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet24": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet32": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet40": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet48": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet56": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet64": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet72": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet80": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet88": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet96": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet104": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet112": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet120": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet128": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet136": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet144": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet152": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet160": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet168": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet176": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet184": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet192": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet200": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + }, + "Ethernet208": { + "profile_list": "egress_lossless_profile,egress_lossy_profile" + } + }, + "BUFFER_PG": { + "Ethernet216|3-4": { + "profile": "NULL" + }, + "Ethernet216|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet224|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet224|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet232|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet232|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet240|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet240|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet248|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet248|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet0|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet0|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet8|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet8|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet16|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet16|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet24|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet24|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet32|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet32|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet40|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet40|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet48|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet48|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet56|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet56|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet64|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet64|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet72|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet72|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet80|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet80|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet88|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet88|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet96|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet96|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet104|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet104|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet112|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet112|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet120|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet120|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet128|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet128|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet136|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet136|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet144|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet144|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet152|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet152|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet160|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet160|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet168|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet168|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet176|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet176|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet184|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet184|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet192|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet192|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet200|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet200|0": { + "profile": "ingress_lossy_profile" + }, + "Ethernet208|3-4": { + "profile": "ingress_lossy_profile" + }, + "Ethernet208|0": { + "profile": "ingress_lossy_profile" + } + }, + "BUFFER_QUEUE": { + "Ethernet216|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet224|3-4": { + "profile": "q_lossy_profile" + }, + "Ethernet232|3-4": { + "profile": "q_lossy_profile" + }, + "Ethernet240|3-4": { + "profile": "q_lossy_profile" + }, + "Ethernet248|3-4": { + "profile": "q_lossy_profile" + }, + "Ethernet216|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet224|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet232|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet240|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet248|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet216|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet224|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet232|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet240|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet248|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet0|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet8|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet16|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet24|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet32|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet40|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet48|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet56|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet64|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet72|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet80|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet88|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet96|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet104|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet112|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet120|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet128|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet136|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet144|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet152|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet160|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet168|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet176|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet184|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet192|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet200|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet208|3-4": { + "profile": "egress_lossless_profile" + }, + "Ethernet0|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet8|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet16|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet24|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet32|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet40|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet48|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet56|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet64|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet72|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet80|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet88|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet96|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet104|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet112|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet120|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet128|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet136|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet144|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet152|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet160|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet168|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet176|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet184|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet192|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet200|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet208|0-2": { + "profile": "q_lossy_profile" + }, + "Ethernet0|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet8|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet16|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet24|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet32|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet40|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet48|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet56|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet64|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet72|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet80|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet88|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet96|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet104|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet112|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet120|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet128|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet136|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet144|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet152|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet160|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet168|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet176|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet184|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet192|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet200|5-6": { + "profile": "q_lossy_profile" + }, + "Ethernet208|5-6": { + "profile": "q_lossy_profile" + } + } +} diff --git a/src/sonic-config-engine/tests/test_j2files.py b/src/sonic-config-engine/tests/test_j2files.py index 5afd6ed0b941..ed8ed58e488a 100644 --- a/src/sonic-config-engine/tests/test_j2files.py +++ b/src/sonic-config-engine/tests/test_j2files.py @@ -506,6 +506,58 @@ def test_qos_dscp_remapping_render_template(self): assert utils.cmp(sample_output_file, test_output) os.remove(test_output) + def test_qos_smartswitch_render_template(self): + if utils.PYvX_DIR != 'py3': + # Skip on python2 as the change will not be backported to previous version + return + + dir_paths = [ + '../../../device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28', + '../../../device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28' + ] + sample_outputs = [ + 'qos-mellanox4700-o28-t1-smartswitch.json', + 'qos-mellanox4700-o28-t1-smartswitch_dyn.json' + ] + sample_minigraph_files = [ + 'sample-mellanox-4700-t1-minigraph-smartswitch.xml', + 'sample-mellanox-4700-t1-minigraph-smartswitch.xml' + ] + buffer_files = [ + 'buffers.json.j2', # traditional buffer mode + 'buffers_dynamic.json.j2' # dynamic buffer mode + ] + + for i, path in enumerate(dir_paths): + device_template_path = os.path.join(self.test_dir, path) + sample_output = sample_outputs[i] + sample_minigraph_file = os.path.join(self.test_dir,sample_minigraph_files[i]) + qos_file = os.path.join(device_template_path, 'qos.json.j2') + buf_file = os.path.join(device_template_path, buffer_files[i]) + hwsku_json_file = os.path.join(device_template_path, 'hwsku.json') + plat_json_file = os.path.join(device_template_path, '../platform.json') + test_output = os.path.join(self.test_dir, 'output.json') + + # copy qos_config.j2 & buffer_config.j2 to the target directory to have all templates in one directory + qos_config_file = os.path.join(self.test_dir, '..', '..', '..', 'files', 'build_templates', 'qos_config.j2') + shutil.copy2(qos_config_file, device_template_path) + + buf_config_file = os.path.join(self.test_dir, '..', '..', '..', 'files', 'build_templates', 'buffers_config.j2') + shutil.copy2(buf_config_file, device_template_path) + + argument = ['-m', sample_minigraph_file, '-p', plat_json_file, '-S', hwsku_json_file, '-t', "{},config-db".format(qos_file), '-t', "{},config-db".format(buf_file), '--print-data'] + self.run_script(argument, output_file=test_output) + + # cleanup + qos_config_file_new = os.path.join(device_template_path, 'qos_config.j2') + os.remove(qos_config_file_new) + buf_config_file_new = os.path.join(device_template_path, 'buffers_config.j2') + os.remove(buf_config_file_new) + + sample_output_file = os.path.join(self.test_dir, 'sample_output', utils.PYvX_DIR, sample_output) + assert utils.cmp_tables(sample_output_file, test_output) + os.remove(test_output) + def test_config_brcm_render_template(self): if utils.PYvX_DIR != 'py3': #Skip on python2 as the change will not be backported to previous version diff --git a/src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py b/src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py index 7e85c22f60c8..645724214bfd 100755 --- a/src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py +++ b/src/sonic-ctrmgrd/ctrmgr/ctrmgrd.py @@ -489,7 +489,9 @@ def handle_update(self, feat, set_owner, ct_owner, remote_state): service_restart = False if set_owner == "local": - if ct_owner != "local": + # NOTE: no need to restart if the current owner is none, + # as none implies the container is not running. + if ct_owner != "local" and ct_owner != "none": service_restart = True else: if (ct_owner != "none") and (remote_state == "pending"): diff --git a/src/sonic-ctrmgrd/tests/ctrmgrd_test.py b/src/sonic-ctrmgrd/tests/ctrmgrd_test.py index 76651309ce6a..df7e2729d566 100755 --- a/src/sonic-ctrmgrd/tests/ctrmgrd_test.py +++ b/src/sonic-ctrmgrd/tests/ctrmgrd_test.py @@ -355,6 +355,38 @@ } } } + }, + 5: { + common_test.DESCR: "No restart for current_owner == none in config reload", + common_test.ARGS: "ctrmgrd", + common_test.PRE: { + common_test.CONFIG_DB_NO: { + common_test.FEATURE_TABLE: { + "swss": { + "set_owner": "local", + "state": "enabled", + "auto_restart": "enabled" + } + } + } + }, + common_test.UPD: { + common_test.STATE_DB_NO: { + common_test.FEATURE_TABLE: { + "swss": { + "system_state": "down", + "remote_state": "none", + "current_owner": "none", + "container_id": "", + "state": "enabled" + } + } + } + }, + common_test.POST: { + common_test.STATE_DB_NO: { + } + } } } diff --git a/src/sonic-device-data/tests/permitted_list b/src/sonic-device-data/tests/permitted_list index 625e6afccad2..b526724a7819 100644 --- a/src/sonic-device-data/tests/permitted_list +++ b/src/sonic-device-data/tests/permitted_list @@ -346,3 +346,4 @@ sai_stats_support_mask sai_default_cpu_tx_tc oversubscribe_mixed_sister_25_50_enable sai_disable_srcmacqedstmac_ctrl +programmability_ucode_relative_path diff --git a/src/sonic-dhcp-utilities/dhcp_utilities/dhcprelayd/dhcprelayd.py b/src/sonic-dhcp-utilities/dhcp_utilities/dhcprelayd/dhcprelayd.py index 01e6d5499cf5..d1b22a3158b4 100644 --- a/src/sonic-dhcp-utilities/dhcp_utilities/dhcprelayd/dhcprelayd.py +++ b/src/sonic-dhcp-utilities/dhcp_utilities/dhcprelayd/dhcprelayd.py @@ -109,7 +109,9 @@ def refresh_dhcrelay(self, force_kill=False): self._disable_checkers(checkers_to_be_disabled) self._start_dhcrelay_process(dhcp_interfaces, dhcp_server_ip, force_kill) - self._start_dhcpmon_process(dhcp_interfaces, force_kill) + + # TODO dhcpmon is not ready for count packet for dhcp_server, hence comment invoke it for now + # self._start_dhcpmon_process(dhcp_interfaces, force_kill) def wait(self): """ @@ -307,7 +309,7 @@ def _start_dhcpmon_process(self, new_dhcp_interfaces, force_kill): for pid, cmds in pids_cmds.items(): proc = psutil.Process(pid) if proc.status() == psutil.STATUS_ZOMBIE: - syslog.syslog(syslog.LOG_ERR, "Faild to start dhcpmon process: {}".format(cmds)) + syslog.syslog(syslog.LOG_ERR, "Failed to start dhcpmon process: {}".format(cmds)) terminate_proc(proc) else: syslog.syslog(syslog.LOG_INFO, "dhcpmon process started successfully, cmds: {}".format(cmds)) diff --git a/src/sonic-host-services b/src/sonic-host-services index cfb3cb89aff0..ca6b3cdb9a56 160000 --- a/src/sonic-host-services +++ b/src/sonic-host-services @@ -1 +1 @@ -Subproject commit cfb3cb89aff003290db547b78657528d0f20914c +Subproject commit ca6b3cdb9a56604765ada4ac67234c117f0fb5ad diff --git a/src/sonic-linux-kernel b/src/sonic-linux-kernel index 98e4af96b655..b9ac5ddff682 160000 --- a/src/sonic-linux-kernel +++ b/src/sonic-linux-kernel @@ -1 +1 @@ -Subproject commit 98e4af96b65564b161e1fd66f31323121f56b302 +Subproject commit b9ac5ddff682490432c080562670888128f0a2b6 diff --git a/src/sonic-platform-common b/src/sonic-platform-common index 8e673d5cfcb9..30895d1a9809 160000 --- a/src/sonic-platform-common +++ b/src/sonic-platform-common @@ -1 +1 @@ -Subproject commit 8e673d5cfcb9ee184950f4fb1d32f999cbb39735 +Subproject commit 30895d1a98099935852c6aa170acd8ab16262039 diff --git a/src/sonic-platform-daemons b/src/sonic-platform-daemons index 8c89f6ba2975..bf865c6b7118 160000 --- a/src/sonic-platform-daemons +++ b/src/sonic-platform-daemons @@ -1 +1 @@ -Subproject commit 8c89f6ba2975a7699861f2c6d77083cebb62e97c +Subproject commit bf865c6b711833347d3c57e9d84cd366bcd1b776 diff --git a/src/sonic-sairedis b/src/sonic-sairedis index a988dd1b7b90..8d0f5ebf0163 160000 --- a/src/sonic-sairedis +++ b/src/sonic-sairedis @@ -1 +1 @@ -Subproject commit a988dd1b7b9044fd7ca859ecdfa1eb858cc3ea08 +Subproject commit 8d0f5ebf0163c4d5a68190e9af4ea9ceb7ba987a diff --git a/src/sonic-swss b/src/sonic-swss index 43ac585cf063..3c9d6b342b53 160000 --- a/src/sonic-swss +++ b/src/sonic-swss @@ -1 +1 @@ -Subproject commit 43ac585cf0634d1bc27d28637c6db7069460ee25 +Subproject commit 3c9d6b342b539b379cf10317e181c9953f57827c diff --git a/src/sonic-utilities b/src/sonic-utilities index d1ca905e3b07..ff2c73f85ca2 160000 --- a/src/sonic-utilities +++ b/src/sonic-utilities @@ -1 +1 @@ -Subproject commit d1ca905e3b0733170d19abeecad1cfbfd0180698 +Subproject commit ff2c73f85ca24dea2634dc5ec83956f27ab9e32b diff --git a/src/sonic-yang-models/doc/Configuration.md b/src/sonic-yang-models/doc/Configuration.md index cafc4fcaac16..3c2401597cd3 100644 --- a/src/sonic-yang-models/doc/Configuration.md +++ b/src/sonic-yang-models/doc/Configuration.md @@ -573,6 +573,7 @@ When the system is running in traditional buffer model, the size of all of the b ``` When the system is running in dynamic buffer model, the size of some of the buffer pools can be omitted and will be dynamically calculated. +In this case, A percentage can be configured on a pool, representing how many the available buffer can be allloced to the pool. ``` { @@ -584,11 +585,12 @@ When the system is running in dynamic buffer model, the size of some of the buff }, "egress_lossy_pool": { "type": "egress", - "mode": "dynamic", + "mode": "dynamic" }, "ingress_lossless_pool": { "type": "ingress", "mode": "dynamic", + "percentage": "80" } } } @@ -2332,7 +2334,8 @@ and is listed in this table. "gnmi": { "client_auth": "true", "log_level": "2", - "port": "50051" + "port": "50051", + "save_on_set": "false" } } } diff --git a/src/sonic-yang-models/tests/files/sample_config_db.json b/src/sonic-yang-models/tests/files/sample_config_db.json index 8ebb1d655675..534a0d986480 100644 --- a/src/sonic-yang-models/tests/files/sample_config_db.json +++ b/src/sonic-yang-models/tests/files/sample_config_db.json @@ -36,6 +36,11 @@ "size": "12766208", "type": "egress", "mode": "dynamic" + }, + "ingress_percentage_pool": { + "type": "ingress", + "mode": "dynamic", + "percentage": "90" } }, "BUFFER_PROFILE": { @@ -351,6 +356,7 @@ }, "DEVICE_METADATA": { "localhost": { + "buffer_model": "dynamic", "type": "ToRRouter", "asic_id": "06:00.0", "mac": "00:11:22:33:dd:5a", diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/buffer_pool.json b/src/sonic-yang-models/tests/yang_model_tests/tests/buffer_pool.json index 974ece55dd79..ff35fc7357d1 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/buffer_pool.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/buffer_pool.json @@ -39,5 +39,23 @@ "BUFFER_POOL_WRONG_SIZE_VALUE": { "desc": "BUFFER_POOL_WRONG_SIZE_VALUE pattern failure.", "eStr": "wrong" + }, + "BUFFER_POOL_CORRECT_PERCENTAGE_VALUE": { + "desc": "BUFFER_POOL_CORRECT_PERCENTAGE_VALUE no failure." + }, + "BUFFER_POOL_CORRECT_LARGE_PERCENTAGE_VALUE": { + "desc": "BUFFER_POOL_CORRECT_PERCENTAGE_VALUE no failure." + }, + "BUFFER_POOL_WRONG_PERCENTAGE_NEGATIVE_VALUE": { + "desc": "BUFFER_POOL_WRONG_PERCENTAGE_NEGATIVE_VALUE pattern failure.", + "eStr": "Invalid value" + }, + "BUFFER_POOL_WRONG_PERCENTAGE_NOT_A_NUMBER_VALUE": { + "desc": "BUFFER_POOL_WRONG_PERCENTAGE_NOT_A_NUMBER_VALUE pattern failure.", + "eStr": "Invalid value" + }, + "BUFFER_POOL_WRONG_PERCENTAGE_VALUE_WITH_SIZE": { + "desc": "BUFFER_POOL_WRONG_PERCENTAGE_VALUE_WITH_SIZE pattern failure.", + "eStr": "Percentage should not be configured along with size" } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json b/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json index 11d0c9e9daab..43100cf3a3ba 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json @@ -45,6 +45,9 @@ "DEVICE_METADATA_TYPE_BMC_MGMT_TOR_PATTERN": { "desc": "DEVICE_METADATA value as BmcMgmtToRRouter for Type field" }, + "DEVICE_METADATA_TYPE_SONIC_HOST_PATTERN": { + "desc": "DEVICE_METADATA value as SonicHost for Type field" + }, "DEVICE_METADATA_TYPE_NOT_PROVISIONED_PATTERN": { "desc": "DEVICE_METADATA value as not-provisioned for Type field" }, diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/gnmi.json b/src/sonic-yang-models/tests/yang_model_tests/tests/gnmi.json index 5938290f8a96..0d99fe09779e 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/gnmi.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/gnmi.json @@ -11,6 +11,10 @@ "desc": "TABLE_WITH_INCORRECT_PORT failure.", "eStrKey": "InvalidValue" }, + "GNMI_TABLE_WITH_INCORRECT_SAVE_ON_SET": { + "desc": "TABLE_WITH_INCORRECT_SAVE_ON_SET failure", + "eStrKey": "InvalidValue" + }, "GNMI_TABLE_WITH_VALID_CONFIG": { "desc": "TABLE WITH VALID CONFIG." } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/telemetry.json b/src/sonic-yang-models/tests/yang_model_tests/tests/telemetry.json index f79e8ea73272..3329abd874e3 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/telemetry.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/telemetry.json @@ -11,6 +11,10 @@ "desc": "TABLE_WITH_INCORRECT_PORT failure.", "eStrKey": "InvalidValue" }, + "TELEMETRY_TABLE_WITH_INCORRECT_SAVE_ON_SET": { + "desc": "TABLE_WITH_INCORRECT_SAVE_ON_SET failure", + "eStrKey": "InvalidValue" + }, "TELEMETRY_TABLE_WITH_VALID_CONFIG": { "desc": "TABLE WITH VALID CONFIG." } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/buffer_pool.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/buffer_pool.json index a2a4d6fc1f0e..47ce26357d4b 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/buffer_pool.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/buffer_pool.json @@ -167,5 +167,90 @@ ] } } + }, + "BUFFER_POOL_CORRECT_PERCENTAGE_VALUE": { + "sonic-device_metadata:sonic-device_metadata": { + "sonic-device_metadata:DEVICE_METADATA": { + "localhost":{ + "buffer_model": "dynamic" + } + } + }, + "sonic-buffer-pool:sonic-buffer-pool": { + "sonic-buffer-pool:BUFFER_POOL": { + "BUFFER_POOL_LIST": [ + { + "name": "ingress_lossless_pool", + "mode": "dynamic", + "percentage": "99", + "type": "ingress" + } + ] + } + } + }, + "BUFFER_POOL_CORRECT_LARGE_PERCENTAGE_VALUE": { + "sonic-device_metadata:sonic-device_metadata": { + "sonic-device_metadata:DEVICE_METADATA": { + "localhost":{ + "buffer_model": "dynamic" + } + } + }, + "sonic-buffer-pool:sonic-buffer-pool": { + "sonic-buffer-pool:BUFFER_POOL": { + "BUFFER_POOL_LIST": [ + { + "name": "ingress_lossless_pool", + "mode": "dynamic", + "percentage": "200", + "type": "ingress" + } + ] + } + } + }, + "BUFFER_POOL_WRONG_PERCENTAGE_NEGATIVE_VALUE": { + "sonic-buffer-pool:sonic-buffer-pool": { + "sonic-buffer-pool:BUFFER_POOL": { + "BUFFER_POOL_LIST": [ + { + "name": "ingress_lossless_pool", + "mode": "static", + "percentage": "-10", + "type": "ingress" + } + ] + } + } + }, + "BUFFER_POOL_WRONG_PERCENTAGE_NOT_A_NUMBER_VALUE": { + "sonic-buffer-pool:sonic-buffer-pool": { + "sonic-buffer-pool:BUFFER_POOL": { + "BUFFER_POOL_LIST": [ + { + "name": "ingress_lossless_pool", + "mode": "static", + "percentage": "NaN", + "type": "ingress" + } + ] + } + } + }, + "BUFFER_POOL_WRONG_PERCENTAGE_VALUE_WITH_SIZE": { + "sonic-buffer-pool:sonic-buffer-pool": { + "sonic-buffer-pool:BUFFER_POOL": { + "BUFFER_POOL_LIST": [ + { + "name": "ingress_lossless_pool", + "mode": "static", + "percentage": "90", + "size": "12766208", + "type": "ingress" + } + ] + } + } } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json index bc977e7da076..4efaca82396f 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json @@ -92,6 +92,16 @@ } } }, + "DEVICE_METADATA_TYPE_SONIC_HOST_PATTERN": { + "sonic-device_metadata:sonic-device_metadata": { + "sonic-device_metadata:DEVICE_METADATA": { + "sonic-device_metadata:localhost": { + "bgp_asn": "65002", + "type": "SonicHost" + } + } + } + }, "DEVICE_METADATA_TYPE_NOT_PROVISIONED_PATTERN": { "sonic-device_metadata:sonic-device_metadata": { "sonic-device_metadata:DEVICE_METADATA": { diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/gnmi.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/gnmi.json index db121ae3944c..62b09a2d5b01 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/gnmi.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/gnmi.json @@ -47,6 +47,23 @@ } } }, + "GNMI_TABLE_WITH_INCORRECT_SAVE_ON_SET": { + "sonic-gnmi:sonic-gnmi": { + "sonic-gnmi:GNMI": { + "certs": { + "ca_crt": "/etc/sonic/credentials/dsmsroot.cer", + "server_crt": "/etc/sonic/credentials/server.cer", + "server_key": "/etc/sonic/credentials/server.key" + }, + "gnmi": { + "client_auth": "true", + "log_level": "2", + "port": "50051", + "save_on_set": "wrong" + } + } + } + }, "GNMI_TABLE_WITH_VALID_CONFIG": { "sonic-gnmi:sonic-gnmi": { "sonic-gnmi:GNMI": { @@ -58,7 +75,8 @@ "gnmi": { "client_auth": "true", "log_level": "2", - "port": "50052" + "port": "50052", + "save_on_set": "false" } } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/telemetry.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/telemetry.json index 1231a4cee662..18e708262e74 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/telemetry.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/telemetry.json @@ -47,6 +47,23 @@ } } }, + "TELEMETRY_TABLE_WITH_INCORRECT_SAVE_ON_SET": { + "sonic-telemetry:sonic-telemetry": { + "sonic-telemetry:TELEMETRY": { + "certs": { + "ca_crt": "/etc/sonic/telemetry/dsmsroot.cer", + "server_crt": "/etc/sonic/telemetry/streamingtelemetryserver.cer", + "server_key": "/etc/sonic/telemetry/streamingtelemetryserver.key" + }, + "gnmi": { + "client_auth": "true", + "log_level": "2", + "port": "50051", + "save_on_set": "wrong" + } + } + } + }, "TELEMETRY_TABLE_WITH_VALID_CONFIG": { "sonic-telemetry:sonic-telemetry": { "sonic-telemetry:TELEMETRY": { @@ -58,7 +75,8 @@ "gnmi": { "client_auth": "true", "log_level": "2", - "port": "50051" + "port": "50051", + "save_on_set": "false" } } } diff --git a/src/sonic-yang-models/yang-models/sonic-buffer-pool.yang b/src/sonic-yang-models/yang-models/sonic-buffer-pool.yang index dd8c74c13ab5..174e6b2a0b38 100644 --- a/src/sonic-yang-models/yang-models/sonic-buffer-pool.yang +++ b/src/sonic-yang-models/yang-models/sonic-buffer-pool.yang @@ -2,6 +2,10 @@ module sonic-buffer-pool { namespace "http://github.com/sonic-net/sonic-buffer-pool"; prefix bpl; + import sonic-device_metadata { + prefix device_metadata; + } + organization "SONiC"; @@ -57,6 +61,20 @@ module sonic-buffer-pool { type uint64; description "Buffer Pool Xoff Threshold (in Bytes)"; } + + leaf percentage { + type uint8; + description " + Buffer Pool percentage. + The buffer pool size will be available_buffer * percentage / 100 if percentage is provided. + It is valid in dynamic buffer model only."; + must "(not(current()/../size))" { + error-message "Percentage should not be configured along with size"; + } + must "/device_metadata:sonic-device_metadata/device_metadata:DEVICE_METADATA/device_metadata:localhost/device_metadata:buffer_model = 'dynamic'" { + error-message "Percentage must be configured in dynamic buffer model"; + } + } } } } diff --git a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang index 7bd936e831c3..efa1d4c96a0a 100644 --- a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang +++ b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang @@ -100,7 +100,7 @@ module sonic-device_metadata { leaf type { type string { length 1..255; - pattern "ToRRouter|LeafRouter|SpineChassisFrontendRouter|ChassisBackendRouter|ASIC|MgmtToRRouter|SpineRouter|BackEndToRRouter|BackEndLeafRouter|EPMS|MgmtTsToR|BmcMgmtToRRouter|not-provisioned"; + pattern "ToRRouter|LeafRouter|SpineChassisFrontendRouter|ChassisBackendRouter|ASIC|MgmtToRRouter|SpineRouter|BackEndToRRouter|BackEndLeafRouter|EPMS|MgmtTsToR|BmcMgmtToRRouter|SonicHost|not-provisioned"; } } diff --git a/src/sonic-yang-models/yang-models/sonic-feature.yang b/src/sonic-yang-models/yang-models/sonic-feature.yang index 3ca32ad6a955..6939f0044920 100644 --- a/src/sonic-yang-models/yang-models/sonic-feature.yang +++ b/src/sonic-yang-models/yang-models/sonic-feature.yang @@ -29,6 +29,11 @@ module sonic-feature{ type string; } + typedef feature-delay-status { + description "configuration to set the feature has delay scope as True/False"; + type string; + } + container sonic-feature { container FEATURE { @@ -60,7 +65,7 @@ module sonic-feature{ leaf delayed { description "This configuration identicates if the feature needs to be delayed until system initialization"; - type stypes:boolean_type; + type feature-delay-status; default "false"; } diff --git a/src/sonic-yang-models/yang-models/sonic-gnmi.yang b/src/sonic-yang-models/yang-models/sonic-gnmi.yang index 1d6b228266b8..eb573e3ffe77 100644 --- a/src/sonic-yang-models/yang-models/sonic-gnmi.yang +++ b/src/sonic-yang-models/yang-models/sonic-gnmi.yang @@ -71,6 +71,11 @@ module sonic-gnmi { description "Port gnmi runs on."; } + leaf save_on_set { + type boolean; + description "Flag for enabling save on set."; + } + } } diff --git a/src/sonic-yang-models/yang-models/sonic-telemetry.yang b/src/sonic-yang-models/yang-models/sonic-telemetry.yang index d3d7600a8e98..5cbdf2bd9330 100644 --- a/src/sonic-yang-models/yang-models/sonic-telemetry.yang +++ b/src/sonic-yang-models/yang-models/sonic-telemetry.yang @@ -71,6 +71,11 @@ module sonic-telemetry { description "Port gnmi runs on."; } + leaf save_on_set { + type boolean; + description "Flag for enabling save on set."; + } + } }