From 9acc9d51bfda51a497feb54d32b62850bbac4c7e Mon Sep 17 00:00:00 2001 From: "david.zagury" Date: Sun, 14 Jul 2024 18:48:30 +0300 Subject: [PATCH] Add new SKU Mellanox-SN5600-C256 --- .../Mellanox-SN5600-C256/buffers.json.j2 | 18 + .../buffers_defaults_objects.j2 | 309 ++++++++++ .../buffers_defaults_t0.j2 | 47 ++ .../buffers_defaults_t1.j2 | 47 ++ .../buffers_dynamic.json.j2 | 16 + .../create_only_config_db_buffers.json | 7 + .../pg_profile_lookup.ini | 42 ++ .../pmon_daemon_control.json | 5 + .../Mellanox-SN5600-C256/port_config.ini | 275 +++++++++ .../Mellanox-SN5600-C256/qos.json.j2 | 17 + .../Mellanox-SN5600-C256/sai.profile | 4 + .../sai_5600_256x100g.xml | 560 ++++++++++++++++++ 12 files changed, 1347 insertions(+) create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers.json.j2 create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_objects.j2 create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_t0.j2 create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_t1.j2 create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_dynamic.json.j2 create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/create_only_config_db_buffers.json create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/pg_profile_lookup.ini create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/pmon_daemon_control.json create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/port_config.ini create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/qos.json.j2 create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/sai.profile create mode 100644 device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/sai_5600_256x100g.xml diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers.json.j2 b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers.json.j2 new file mode 100644 index 000000000000..434b2751f42c --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers.json.j2 @@ -0,0 +1,18 @@ +{# + Copyright (c) 2020-2021 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_topo = 't0' %} +{%- include 'buffers_config.j2' %} diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_objects.j2 b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_objects.j2 new file mode 100644 index 000000000000..6bf657d1fb7b --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_objects.j2 @@ -0,0 +1,309 @@ +{# + Copyright (c) 2022 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. +#} + +{%- 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" : "ingress_lossless_profile" + }{% 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" : "ingress_lossless_profile" +{% else %} + "profile_list" : "ingress_lossless_zero_profile" +{% endif %} + }{% if not loop.last %},{% endif %} + +{% endfor %} +{% endif %} + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { +{% for port in port_names_active.split(',') %} + "{{ port }}": { + "profile_list" : "egress_lossless_profile,egress_lossy_profile" + }{% 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" : "egress_lossless_profile,egress_lossy_profile" +{% else %} + "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile" +{% 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" : "egress_lossless_profile" + }, +{% 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" : "egress_lossless_profile" + }, +{% 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" : "egress_lossless_zero_profile" + }, +{% 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" : "NULL" + }, +{% 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" : "NULL" + }, + "{{ port }}|6": { + "profile" : "NULL" + }, +{% 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" : "NULL" + }, +{% 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-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_t0.j2 b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_t0.j2 new file mode 100644 index 000000000000..87154279edba --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_t0.j2 @@ -0,0 +1,47 @@ +{# + 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 = '40m' %} +{% set ingress_lossless_pool_size = '119691264' %} +{% set ingress_lossless_pool_xoff = '14286848' %} +{% set egress_lossless_pool_size = '162027520' %} +{% set egress_lossy_pool_size = '119691264' %} + +{% 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_extra_lossless_queues_with_inactive_ports(port_names_active, port_names_extra_queues, port_names_inactive) %} +{{ defs.generate_queue_buffers_with_extra_lossless_queues(port_names_active, port_names_extra_queues, 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_extra_lossless_pgs_with_inactive_ports(port_names_active, port_names_extra_pgs, port_names_inactive) %} +{{ defs.generate_pg_profiles_with_extra_lossless_pgs(port_names_active, port_names_extra_pgs, 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-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_t1.j2 b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_t1.j2 new file mode 100644 index 000000000000..da00aa62b85a --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_defaults_t1.j2 @@ -0,0 +1,47 @@ +{# + 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 = '138565632' %} +{% set ingress_lossless_pool_xoff = '9306112' %} +{% set egress_lossless_pool_size = '162027520' %} +{% set egress_lossy_pool_size = '138565632' %} + +{% 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_extra_lossless_queues_with_inactive_ports(port_names_active, port_names_extra_queues, port_names_inactive) %} +{{ defs.generate_queue_buffers_with_extra_lossless_queues(port_names_active, port_names_extra_queues, 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_extra_lossless_pgs_with_inactive_ports(port_names_active, port_names_extra_pgs, port_names_inactive) %} +{{ defs.generate_pg_profiles_with_extra_lossless_pgs(port_names_active, port_names_extra_pgs, 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-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_dynamic.json.j2 b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_dynamic.json.j2 new file mode 100644 index 000000000000..b2cc958b7c45 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/buffers_dynamic.json.j2 @@ -0,0 +1,16 @@ +{# + 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_topo = 't0' %} +{%- set dynamic_mode = 'true' %} +{%- include 'buffers_config.j2' %} diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/create_only_config_db_buffers.json b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/create_only_config_db_buffers.json new file mode 100644 index 000000000000..6feb156714fe --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/pg_profile_lookup.ini b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/pg_profile_lookup.ini new file mode 100644 index 000000000000..cbd3fd049c98 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/pg_profile_lookup.ini @@ -0,0 +1,42 @@ +## +## 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. +## +# PG lossless profiles. +# speed cable size xon xoff threshold + 10000 5m 35840 19456 16384 0 + 25000 5m 36864 19456 17408 0 + 40000 5m 39936 19456 20480 0 + 50000 5m 41984 19456 22528 0 + 100000 5m 59392 19456 39936 0 + 200000 5m 65536 19456 46080 0 + 400000 5m 99328 19456 79872 0 + 800000 5m 128000 38912 89088 0 + 10000 40m 36864 19456 17408 0 + 25000 40m 37888 19456 18432 0 + 40000 40m 41984 19456 22528 0 + 50000 40m 44032 19456 24576 0 + 100000 40m 63488 19456 44032 0 + 200000 40m 74752 19456 55296 0 + 400000 40m 117760 19456 98304 0 + 800000 40m 163840 38912 124928 0 + 10000 300m 39936 19456 20480 0 + 25000 300m 47104 19456 27648 0 + 40000 300m 55296 19456 35840 0 + 50000 300m 61440 19456 41984 0 + 100000 300m 97280 19456 77824 0 + 200000 300m 142336 19456 122880 0 + 400000 300m 252928 19456 233472 0 + 800000 300m 434176 38912 395264 0 diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/pmon_daemon_control.json b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/pmon_daemon_control.json new file mode 100644 index 000000000000..281b96b71cc6 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/pmon_daemon_control.json @@ -0,0 +1,5 @@ +{ + "skip_ledd": true, + "skip_fancontrol": true, + "skip_xcvrd_cmis_mgr": false +} diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/port_config.ini b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/port_config.ini new file mode 100644 index 000000000000..c29febd72cda --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/port_config.ini @@ -0,0 +1,275 @@ +## +## 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. +## + +# name lanes alias index speed fec +Ethernet0 0 etp1a 1 100000 rs +Ethernet1 1 etp1b 1 100000 rs +Ethernet2 2 etp1c 1 100000 rs +Ethernet3 3 etp1d 1 100000 rs +Ethernet4 4 etp1e 1 100000 rs +Ethernet5 5 etp1f 1 100000 rs +Ethernet6 6 etp1g 1 100000 rs +Ethernet7 7 etp1h 1 100000 rs +Ethernet16 16 etp3a 3 100000 rs +Ethernet17 17 etp3b 3 100000 rs +Ethernet18 18 etp3c 3 100000 rs +Ethernet19 19 etp3d 3 100000 rs +Ethernet20 20 etp3e 3 100000 rs +Ethernet21 21 etp3f 3 100000 rs +Ethernet22 22 etp3g 3 100000 rs +Ethernet23 23 etp3h 3 100000 rs +Ethernet32 32 etp5a 5 100000 rs +Ethernet33 33 etp5b 5 100000 rs +Ethernet34 34 etp5c 5 100000 rs +Ethernet35 35 etp5d 5 100000 rs +Ethernet36 36 etp5e 5 100000 rs +Ethernet37 37 etp5f 5 100000 rs +Ethernet38 38 etp5g 5 100000 rs +Ethernet39 39 etp5h 5 100000 rs +Ethernet48 48 etp7a 7 100000 rs +Ethernet49 49 etp7b 7 100000 rs +Ethernet50 50 etp7c 7 100000 rs +Ethernet51 51 etp7d 7 100000 rs +Ethernet52 52 etp7e 7 100000 rs +Ethernet53 53 etp7f 7 100000 rs +Ethernet54 54 etp7g 7 100000 rs +Ethernet55 55 etp7h 7 100000 rs +Ethernet64 64 etp9a 9 100000 rs +Ethernet65 65 etp9b 9 100000 rs +Ethernet66 66 etp9c 9 100000 rs +Ethernet67 67 etp9d 9 100000 rs +Ethernet68 68 etp9e 9 100000 rs +Ethernet69 69 etp9f 9 100000 rs +Ethernet70 70 etp9g 9 100000 rs +Ethernet71 71 etp9h 9 100000 rs +Ethernet80 80 etp11a 11 100000 rs +Ethernet81 81 etp11b 11 100000 rs +Ethernet82 82 etp11c 11 100000 rs +Ethernet83 83 etp11d 11 100000 rs +Ethernet84 84 etp11e 11 100000 rs +Ethernet85 85 etp11f 11 100000 rs +Ethernet86 86 etp11g 11 100000 rs +Ethernet87 87 etp11h 11 100000 rs +Ethernet96 96 etp13a 13 100000 rs +Ethernet97 97 etp13b 13 100000 rs +Ethernet98 98 etp13c 13 100000 rs +Ethernet99 99 etp13d 13 100000 rs +Ethernet100 100 etp13e 13 100000 rs +Ethernet101 101 etp13f 13 100000 rs +Ethernet102 102 etp13g 13 100000 rs +Ethernet103 103 etp13h 13 100000 rs +Ethernet112 112 etp15a 15 100000 rs +Ethernet113 113 etp15b 15 100000 rs +Ethernet114 114 etp15c 15 100000 rs +Ethernet115 115 etp15d 15 100000 rs +Ethernet116 116 etp15e 15 100000 rs +Ethernet117 117 etp15f 15 100000 rs +Ethernet118 118 etp15g 15 100000 rs +Ethernet119 119 etp15h 15 100000 rs +Ethernet128 128 etp17a 17 100000 rs +Ethernet129 129 etp17b 17 100000 rs +Ethernet130 130 etp17c 17 100000 rs +Ethernet131 131 etp17d 17 100000 rs +Ethernet132 132 etp17e 17 100000 rs +Ethernet133 133 etp17f 17 100000 rs +Ethernet134 134 etp17g 17 100000 rs +Ethernet135 135 etp17h 17 100000 rs +Ethernet144 144 etp19a 19 100000 rs +Ethernet145 145 etp19b 19 100000 rs +Ethernet146 146 etp19c 19 100000 rs +Ethernet147 147 etp19d 19 100000 rs +Ethernet148 148 etp19e 19 100000 rs +Ethernet149 149 etp19f 19 100000 rs +Ethernet150 150 etp19g 19 100000 rs +Ethernet151 151 etp19h 19 100000 rs +Ethernet160 160 etp21a 21 100000 rs +Ethernet161 161 etp21b 21 100000 rs +Ethernet162 162 etp21c 21 100000 rs +Ethernet163 163 etp21d 21 100000 rs +Ethernet164 164 etp21e 21 100000 rs +Ethernet165 165 etp21f 21 100000 rs +Ethernet166 166 etp21g 21 100000 rs +Ethernet167 167 etp21h 21 100000 rs +Ethernet176 176 etp23a 23 100000 rs +Ethernet177 177 etp23b 23 100000 rs +Ethernet178 178 etp23c 23 100000 rs +Ethernet179 179 etp23d 23 100000 rs +Ethernet180 180 etp23e 23 100000 rs +Ethernet181 181 etp23f 23 100000 rs +Ethernet182 182 etp23g 23 100000 rs +Ethernet183 183 etp23h 23 100000 rs +Ethernet192 192 etp25a 25 100000 rs +Ethernet193 193 etp25b 25 100000 rs +Ethernet194 194 etp25c 25 100000 rs +Ethernet195 195 etp25d 25 100000 rs +Ethernet196 196 etp25e 25 100000 rs +Ethernet197 197 etp25f 25 100000 rs +Ethernet198 198 etp25g 25 100000 rs +Ethernet199 199 etp25h 25 100000 rs +Ethernet208 208 etp27a 27 100000 rs +Ethernet209 209 etp27b 27 100000 rs +Ethernet210 210 etp27c 27 100000 rs +Ethernet211 211 etp27d 27 100000 rs +Ethernet212 212 etp27e 27 100000 rs +Ethernet213 213 etp27f 27 100000 rs +Ethernet214 214 etp27g 27 100000 rs +Ethernet215 215 etp27h 27 100000 rs +Ethernet224 224 etp29a 29 100000 rs +Ethernet225 225 etp29b 29 100000 rs +Ethernet226 226 etp29c 29 100000 rs +Ethernet227 227 etp29d 29 100000 rs +Ethernet228 228 etp29e 29 100000 rs +Ethernet229 229 etp29f 29 100000 rs +Ethernet230 230 etp29g 29 100000 rs +Ethernet231 231 etp29h 29 100000 rs +Ethernet240 240 etp31a 31 100000 rs +Ethernet241 241 etp31b 31 100000 rs +Ethernet242 242 etp31c 31 100000 rs +Ethernet243 243 etp31d 31 100000 rs +Ethernet244 244 etp31e 31 100000 rs +Ethernet245 245 etp31f 31 100000 rs +Ethernet246 246 etp31g 31 100000 rs +Ethernet247 247 etp31h 31 100000 rs +Ethernet256 256 etp33a 33 100000 rs +Ethernet257 257 etp33b 33 100000 rs +Ethernet258 258 etp33c 33 100000 rs +Ethernet259 259 etp33d 33 100000 rs +Ethernet260 260 etp33e 33 100000 rs +Ethernet261 261 etp33f 33 100000 rs +Ethernet262 262 etp33g 33 100000 rs +Ethernet263 263 etp33h 33 100000 rs +Ethernet272 272 etp35a 35 100000 rs +Ethernet273 273 etp35b 35 100000 rs +Ethernet274 274 etp35c 35 100000 rs +Ethernet275 275 etp35d 35 100000 rs +Ethernet276 276 etp35e 35 100000 rs +Ethernet277 277 etp35f 35 100000 rs +Ethernet278 278 etp35g 35 100000 rs +Ethernet279 279 etp35h 35 100000 rs +Ethernet288 288 etp37a 37 100000 rs +Ethernet289 289 etp37b 37 100000 rs +Ethernet290 290 etp37c 37 100000 rs +Ethernet291 291 etp37d 37 100000 rs +Ethernet292 292 etp37e 37 100000 rs +Ethernet293 293 etp37f 37 100000 rs +Ethernet294 294 etp37g 37 100000 rs +Ethernet295 295 etp37h 37 100000 rs +Ethernet304 304 etp39a 39 100000 rs +Ethernet305 305 etp39b 39 100000 rs +Ethernet306 306 etp39c 39 100000 rs +Ethernet307 307 etp39d 39 100000 rs +Ethernet308 308 etp39e 39 100000 rs +Ethernet309 309 etp39f 39 100000 rs +Ethernet310 310 etp39g 39 100000 rs +Ethernet311 311 etp39h 39 100000 rs +Ethernet320 320 etp41a 41 100000 rs +Ethernet321 321 etp41b 41 100000 rs +Ethernet322 322 etp41c 41 100000 rs +Ethernet323 323 etp41d 41 100000 rs +Ethernet324 324 etp41e 41 100000 rs +Ethernet325 325 etp41f 41 100000 rs +Ethernet326 326 etp41g 41 100000 rs +Ethernet327 327 etp41h 41 100000 rs +Ethernet336 336 etp43a 43 100000 rs +Ethernet337 337 etp43b 43 100000 rs +Ethernet338 338 etp43c 43 100000 rs +Ethernet339 339 etp43d 43 100000 rs +Ethernet340 340 etp43e 43 100000 rs +Ethernet341 341 etp43f 43 100000 rs +Ethernet342 342 etp43g 43 100000 rs +Ethernet343 343 etp43h 43 100000 rs +Ethernet352 352 etp45a 45 100000 rs +Ethernet353 353 etp45b 45 100000 rs +Ethernet354 354 etp45c 45 100000 rs +Ethernet355 355 etp45d 45 100000 rs +Ethernet356 356 etp45e 45 100000 rs +Ethernet357 357 etp45f 45 100000 rs +Ethernet358 358 etp45g 45 100000 rs +Ethernet359 359 etp45h 45 100000 rs +Ethernet368 368 etp47a 47 100000 rs +Ethernet369 369 etp47b 47 100000 rs +Ethernet370 370 etp47c 47 100000 rs +Ethernet371 371 etp47d 47 100000 rs +Ethernet372 372 etp47e 47 100000 rs +Ethernet373 373 etp47f 47 100000 rs +Ethernet374 374 etp47g 47 100000 rs +Ethernet375 375 etp47h 47 100000 rs +Ethernet384 384 etp49a 49 100000 rs +Ethernet385 385 etp49b 49 100000 rs +Ethernet386 386 etp49c 49 100000 rs +Ethernet387 387 etp49d 49 100000 rs +Ethernet388 388 etp49e 49 100000 rs +Ethernet389 389 etp49f 49 100000 rs +Ethernet390 390 etp49g 49 100000 rs +Ethernet391 391 etp49h 49 100000 rs +Ethernet400 400 etp51a 51 100000 rs +Ethernet401 401 etp51b 51 100000 rs +Ethernet402 402 etp51c 51 100000 rs +Ethernet403 403 etp51d 51 100000 rs +Ethernet404 404 etp51e 51 100000 rs +Ethernet405 405 etp51f 51 100000 rs +Ethernet406 406 etp51g 51 100000 rs +Ethernet407 407 etp51h 51 100000 rs +Ethernet416 416 etp53a 53 100000 rs +Ethernet417 417 etp53b 53 100000 rs +Ethernet418 418 etp53c 53 100000 rs +Ethernet419 419 etp53d 53 100000 rs +Ethernet420 420 etp53e 53 100000 rs +Ethernet421 421 etp53f 53 100000 rs +Ethernet422 422 etp53g 53 100000 rs +Ethernet423 423 etp53h 53 100000 rs +Ethernet432 432 etp55a 55 100000 rs +Ethernet433 433 etp55b 55 100000 rs +Ethernet434 434 etp55c 55 100000 rs +Ethernet435 435 etp55d 55 100000 rs +Ethernet436 436 etp55e 55 100000 rs +Ethernet437 437 etp55f 55 100000 rs +Ethernet438 438 etp55g 55 100000 rs +Ethernet439 439 etp55h 55 100000 rs +Ethernet448 448 etp57a 57 100000 rs +Ethernet449 449 etp57b 57 100000 rs +Ethernet450 450 etp57c 57 100000 rs +Ethernet451 451 etp57d 57 100000 rs +Ethernet452 452 etp57e 57 100000 rs +Ethernet453 453 etp57f 57 100000 rs +Ethernet454 454 etp57g 57 100000 rs +Ethernet455 455 etp57h 57 100000 rs +Ethernet464 464 etp59a 59 100000 rs +Ethernet465 465 etp59b 59 100000 rs +Ethernet466 466 etp59c 59 100000 rs +Ethernet467 467 etp59d 59 100000 rs +Ethernet468 468 etp59e 59 100000 rs +Ethernet469 469 etp59f 59 100000 rs +Ethernet470 470 etp59g 59 100000 rs +Ethernet471 471 etp59h 59 100000 rs +Ethernet480 480 etp61a 61 100000 rs +Ethernet481 481 etp61b 61 100000 rs +Ethernet482 482 etp61c 61 100000 rs +Ethernet483 483 etp61d 61 100000 rs +Ethernet484 484 etp61e 61 100000 rs +Ethernet485 485 etp61f 61 100000 rs +Ethernet486 486 etp61g 61 100000 rs +Ethernet487 487 etp61h 61 100000 rs +Ethernet496 496 etp63a 63 100000 rs +Ethernet497 497 etp63b 63 100000 rs +Ethernet498 498 etp63c 63 100000 rs +Ethernet499 499 etp63d 63 100000 rs +Ethernet500 500 etp63e 63 100000 rs +Ethernet501 501 etp63f 63 100000 rs +Ethernet502 502 etp63g 63 100000 rs +Ethernet503 503 etp63h 63 100000 rs +Ethernet512 512 etp65 65 25000 rs diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/qos.json.j2 b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/qos.json.j2 new file mode 100644 index 000000000000..68a41d8d5975 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/qos.json.j2 @@ -0,0 +1,17 @@ +{# + Copyright (c) 2020-2021 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. +#} +{%- include 'qos_config.j2' %} diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/sai.profile b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/sai.profile new file mode 100644 index 000000000000..271c8cf70fd8 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/sai.profile @@ -0,0 +1,4 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_5600_256x100g.xml +SAI_INDEPENDENT_MODULE_MODE=1 +SAI_DEFAULT_SWITCHING_MODE_STORE_FORWARD=1 +SAI_NOT_DROP_SIP_DIP_LINK_LOCAL=1 diff --git a/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/sai_5600_256x100g.xml b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/sai_5600_256x100g.xml new file mode 100644 index 000000000000..3d439d9bce67 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn5600-r0/Mellanox-SN5600-C256/sai_5600_256x100g.xml @@ -0,0 +1,560 @@ + + + + + + + 00:02:03:04:05:00 + + + 0 + + + 65 + + + 1 + + + + + 1 + 8 + 34 + + + 3 + + + 262144 + 8 + + + 5 + 8 + 35 + 3 + 262144 + 8 + + + 9 + 8 + 33 + 3 + 262144 + 8 + + + 13 + 8 + 32 + 3 + 262144 + 8 + + + 17 + 8 + 38 + 3 + 262144 + 8 + + + 21 + 8 + 39 + 3 + 262144 + 8 + + + 25 + 8 + 37 + 3 + 262144 + 8 + + + 29 + 8 + 36 + 3 + 262144 + 8 + + + 33 + 8 + 42 + 3 + 262144 + 8 + + + 37 + 8 + 43 + 3 + 262144 + 8 + + + 41 + 8 + 41 + 3 + 262144 + 8 + + + 45 + 8 + 40 + 3 + 262144 + 8 + + + 49 + 8 + 46 + 3 + 262144 + 8 + + + 53 + 8 + 47 + 3 + 262144 + 8 + + + 57 + 8 + 45 + 3 + 262144 + 8 + + + 61 + 8 + 44 + 3 + 262144 + 8 + + + 65 + 8 + 51 + 3 + 262144 + 8 + + + 69 + 8 + 50 + 3 + 262144 + 8 + + + 73 + 8 + 48 + 3 + 262144 + 8 + + + 77 + 8 + 49 + 3 + 262144 + 8 + + + 81 + 8 + 55 + 3 + 262144 + 8 + + + 85 + 8 + 54 + 3 + 262144 + 8 + + + 89 + 8 + 52 + 3 + 262144 + 8 + + + 93 + 8 + 53 + 3 + 262144 + 8 + + + 97 + 8 + 59 + 3 + 262144 + 8 + + + 101 + 8 + 58 + 3 + 262144 + 8 + + + 105 + 8 + 56 + 3 + 262144 + 8 + + + 109 + 8 + 57 + 3 + 262144 + 8 + + + 113 + 8 + 63 + 3 + 262144 + 8 + + + 117 + 8 + 62 + 3 + 262144 + 8 + + + 121 + 8 + 60 + 3 + 262144 + 8 + + + 125 + 8 + 61 + 3 + 262144 + 8 + + + 129 + 8 + 29 + 3 + 262144 + 8 + + + 133 + 8 + 28 + 3 + 262144 + 8 + + + 137 + 8 + 30 + 3 + 262144 + 8 + + + 141 + 8 + 31 + 3 + 262144 + 8 + + + 145 + 8 + 25 + 3 + 262144 + 8 + + + 149 + 8 + 24 + 3 + 262144 + 8 + + + 153 + 8 + 26 + 3 + 262144 + 8 + + + 157 + 8 + 27 + 3 + 262144 + 8 + + + 161 + 8 + 21 + 3 + 262144 + 8 + + + 165 + 8 + 20 + 3 + 262144 + 8 + + + 169 + 8 + 22 + 3 + 262144 + 8 + + + 173 + 8 + 23 + 3 + 262144 + 8 + + + 177 + 8 + 17 + 3 + 262144 + 8 + + + 181 + 8 + 16 + 3 + 262144 + 8 + + + 185 + 8 + 18 + 3 + 262144 + 8 + + + 189 + 8 + 19 + 3 + 262144 + 8 + + + 193 + 8 + 12 + 3 + 262144 + 8 + + + 197 + 8 + 13 + 3 + 262144 + 8 + + + 201 + 8 + 15 + 3 + 262144 + 8 + + + 205 + 8 + 14 + 3 + 262144 + 8 + + + 209 + 8 + 8 + 3 + 262144 + 8 + + + 213 + 8 + 9 + 3 + 262144 + 8 + + + 217 + 8 + 11 + 3 + 262144 + 8 + + + 221 + 8 + 10 + 3 + 262144 + 8 + + + 225 + 8 + 4 + 3 + 262144 + 8 + + + 229 + 8 + 5 + 3 + 262144 + 8 + + + 233 + 8 + 7 + 3 + 262144 + 8 + + + 237 + 8 + 6 + 3 + 262144 + 8 + + + 241 + 8 + 0 + 3 + 262144 + 8 + + + 245 + 8 + 1 + 3 + 262144 + 8 + + + 249 + 8 + 3 + 3 + 262144 + 8 + + + 253 + 8 + 2 + 3 + 262144 + 8 + + + 257 + 1 + 64 + 0 + 64 + + + +