Skip to content

Commit

Permalink
[Mellanox]: Add Mellanox-SN4600C-D24C52 SKU. (#20142)
Browse files Browse the repository at this point in the history
A new SKU for `MSN4600C` platform: `Mellanox-SN4600C-D24C52`

Requirements for `Mellanox-SN4600C-D24C52`:
* 8 x 100Gbps uplink to T2 switch (C25, C26, C29-C30, C33-C34, C37-C38)
* 12 x 100Gbps downlinks to T0 switch (C1-C2, C3-C4, C7-C8, C53-C54, C57-C58, C63-C64)
* 1 x 50Gbps downlinks to T0 switch (D62)
* Type of transceiver: "100Gb AOC between T0-T1, 100G DAC between T0-Server"
* Cable length: “T0-T1 40m default, 300m max; T0-Server 2m”
* Breakout mode: "per port layout"
* FEC mode: "none"
* VxLAN source port: "no"
* Static Policy Based Hashing: "no"
* Traditional buffer model: "yes"
* Shared headroom: “yes”
* Over-subscription ratio: “2”
* Warm boot: “yes”

Additional details:
* `Mellanox-SN4600C-D24C52` is a replacement for [Mellanox-SN3800-D24C52](https://github.com/sonic-net/sonic-buildimage/tree/master/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52)

#### Why I did it
* Added `Mellanox-SN4600C-D24C52` to replace `Mellanox-SN3800-D24C52`

### How I did it
* Added relevant configuration files

#### How to verify it
1. Generate port configuration:
```bash
sonic-cfggen -H -k Mellanox-SN4600C-D24C52 --preset t1 > /etc/sonic/config_db.json
```
2. Generate QoS configuration:
```bash
config qos clear
config qos reload --no-dynamic-buffer
config save -y
```
  • Loading branch information
nazariig committed Sep 21, 2024
1 parent 3d452b4 commit a63a837
Show file tree
Hide file tree
Showing 11 changed files with 1,030 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{#
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_cable = '2m' %}
{% set ingress_lossless_pool_size = '57176064' %}
{% set ingress_lossless_pool_xoff = '1099776' %}
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '57176064' %}

{% 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 %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{#
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_cable = '40m' %}
{% set ingress_lossless_pool_size = '57099264' %}
{% set ingress_lossless_pool_xoff = '1176576' %}
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '57099264' %}

{% 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 %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,308 @@
{
"interfaces": {
"Ethernet0":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet4":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet8":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet12":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet16":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet20":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet24":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet28":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet32":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet34":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet36":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet38":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet40":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet42":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet44":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet46":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet48":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet52":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet56":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet60":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet64":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet68":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet72":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet76":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet80":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet84":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet88":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet92":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet96":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet100":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet104":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet106":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet108":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet110":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet112":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet116":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet120":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet124":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet128":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet132":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet136":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet140":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet144":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet148":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet152":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet156":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet160":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet164":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet168":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet172":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet176":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet178":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet180":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet182":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet184":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet186":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet188":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet190":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet192":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet196":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet200":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet204":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet208":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet212":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet216":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet220":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet224":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet228":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet232":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet236":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet240":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet242":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet244":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "1"
},
"Ethernet246":{
"default_brkout_mode": "2x50G[25G,10G,1G]",
"subport": "2"
},
"Ethernet248":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
},
"Ethernet252":{
"default_brkout_mode": "1x100G[50G,40G,25G,10G,1G]",
"subport": "0"
}
}
}
Loading

0 comments on commit a63a837

Please sign in to comment.