Skip to content

Commit cb2ffa3

Browse files
authored
[Mellanox] [202012] Added D48C40 SKU for 4600C platform (#8133)
* Added new SKU for SN4600C Platform: Mellanox-SN4600C-D48C40 Co-authored-by: Vivek Reddy Karri <[email protected]>
1 parent bed4c26 commit cb2ffa3

File tree

9 files changed

+799
-0
lines changed

9 files changed

+799
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../ACS-MSN4600C/buffers.json.j2
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
{% set default_cable = '5m' %}
2+
{% set ingress_lossless_pool_size = '50995200' %}
3+
{% set ingress_lossless_xoff_size = '1810432' %}
4+
{% set egress_lossless_pool_size = '60817392' %}
5+
{% set egress_lossy_pool_size = '50995200' %}
6+
7+
{%- macro generate_port_lists(PORT_ALL) %}
8+
{# Generate list of ports #}
9+
{%- for port_idx in range(0, 32) %}
10+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
11+
{%- endfor %}
12+
{%- endmacro %}
13+
14+
{%- macro generate_buffer_pool_and_profiles() %}
15+
"BUFFER_POOL": {
16+
"ingress_lossless_pool": {
17+
{%- if dynamic_mode is not defined %}
18+
"size": "{{ ingress_lossless_pool_size }}",
19+
"xoff": "{{ ingress_lossless_xoff_size }}",
20+
{%- endif %}
21+
"type": "ingress",
22+
"mode": "dynamic"
23+
},
24+
"egress_lossless_pool": {
25+
"size": "{{ egress_lossless_pool_size }}",
26+
"type": "egress",
27+
"mode": "dynamic"
28+
},
29+
"egress_lossy_pool": {
30+
{%- if dynamic_mode is not defined %}
31+
"size": "{{ egress_lossy_pool_size }}",
32+
{%- endif %}
33+
"type": "egress",
34+
"mode": "dynamic"
35+
}
36+
},
37+
"BUFFER_PROFILE": {
38+
"ingress_lossless_profile": {
39+
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
40+
"size":"0",
41+
"dynamic_th":"7"
42+
},
43+
"ingress_lossy_profile": {
44+
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
45+
"size":"0",
46+
"dynamic_th":"3"
47+
},
48+
"egress_lossless_profile": {
49+
"pool":"[BUFFER_POOL|egress_lossless_pool]",
50+
"size":"0",
51+
"dynamic_th":"7"
52+
},
53+
"egress_lossy_profile": {
54+
"pool":"[BUFFER_POOL|egress_lossy_pool]",
55+
"size":"9216",
56+
"dynamic_th":"7"
57+
},
58+
"q_lossy_profile": {
59+
"pool":"[BUFFER_POOL|egress_lossy_pool]",
60+
"size":"0",
61+
"dynamic_th":"3"
62+
}
63+
},
64+
{%- endmacro %}
65+
66+
{%- macro generate_profile_lists(port_names) %}
67+
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
68+
{% for port in port_names.split(',') %}
69+
"{{ port }}": {
70+
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]"
71+
}{% if not loop.last %},{% endif %}
72+
73+
{% endfor %}
74+
},
75+
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
76+
{% for port in port_names.split(',') %}
77+
"{{ port }}": {
78+
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
79+
}{% if not loop.last %},{% endif %}
80+
81+
{% endfor %}
82+
}
83+
{%- endmacro %}
84+
85+
{%- macro generate_queue_buffers(port_names) %}
86+
"BUFFER_QUEUE": {
87+
{% for port in port_names.split(',') %}
88+
"{{ port }}|3-4": {
89+
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
90+
},
91+
{% endfor %}
92+
{% for port in port_names.split(',') %}
93+
"{{ port }}|0-2": {
94+
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
95+
},
96+
{% endfor %}
97+
{% for port in port_names.split(',') %}
98+
"{{ port }}|5-6": {
99+
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
100+
}{% if not loop.last %},{% endif %}
101+
102+
{% endfor %}
103+
}
104+
{%- endmacro %}
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
{% set default_cable = '5m' %}
2+
{% set ingress_lossless_pool_size = '50143232' %}
3+
{% set ingress_lossless_xoff_size = '2662400' %}
4+
{% set egress_lossless_pool_size = '60817392' %}
5+
{% set egress_lossy_pool_size = '50143232' %}
6+
7+
{%- macro generate_port_lists(PORT_ALL) %}
8+
{# Generate list of ports #}
9+
{%- for port_idx in range(0, 32) %}
10+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
11+
{%- endfor %}
12+
{%- endmacro %}
13+
14+
{%- macro generate_buffer_pool_and_profiles() %}
15+
"BUFFER_POOL": {
16+
"ingress_lossless_pool": {
17+
{%- if dynamic_mode is not defined %}
18+
"size": "{{ ingress_lossless_pool_size }}",
19+
"xoff": "{{ ingress_lossless_xoff_size }}",
20+
{%- endif %}
21+
"type": "ingress",
22+
"mode": "dynamic"
23+
},
24+
"egress_lossless_pool": {
25+
"size": "{{ egress_lossless_pool_size }}",
26+
"type": "egress",
27+
"mode": "dynamic"
28+
},
29+
"egress_lossy_pool": {
30+
{%- if dynamic_mode is not defined %}
31+
"size": "{{ egress_lossy_pool_size }}",
32+
{%- endif %}
33+
"type": "egress",
34+
"mode": "dynamic"
35+
}
36+
},
37+
"BUFFER_PROFILE": {
38+
"ingress_lossless_profile": {
39+
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
40+
"size":"0",
41+
"dynamic_th":"7"
42+
},
43+
"ingress_lossy_profile": {
44+
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
45+
"size":"0",
46+
"dynamic_th":"3"
47+
},
48+
"egress_lossless_profile": {
49+
"pool":"[BUFFER_POOL|egress_lossless_pool]",
50+
"size":"0",
51+
"dynamic_th":"7"
52+
},
53+
"egress_lossy_profile": {
54+
"pool":"[BUFFER_POOL|egress_lossy_pool]",
55+
"size":"9216",
56+
"dynamic_th":"7"
57+
},
58+
"q_lossy_profile": {
59+
"pool":"[BUFFER_POOL|egress_lossy_pool]",
60+
"size":"0",
61+
"dynamic_th":"3"
62+
}
63+
},
64+
{%- endmacro %}
65+
66+
{%- macro generate_profile_lists(port_names) %}
67+
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
68+
{% for port in port_names.split(',') %}
69+
"{{ port }}": {
70+
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]"
71+
}{% if not loop.last %},{% endif %}
72+
73+
{% endfor %}
74+
},
75+
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
76+
{% for port in port_names.split(',') %}
77+
"{{ port }}": {
78+
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
79+
}{% if not loop.last %},{% endif %}
80+
81+
{% endfor %}
82+
}
83+
{%- endmacro %}
84+
85+
{%- macro generate_queue_buffers(port_names) %}
86+
"BUFFER_QUEUE": {
87+
{% for port in port_names.split(',') %}
88+
"{{ port }}|3-4": {
89+
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
90+
},
91+
{% endfor %}
92+
{% for port in port_names.split(',') %}
93+
"{{ port }}|0-2": {
94+
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
95+
},
96+
{% endfor %}
97+
{% for port in port_names.split(',') %}
98+
"{{ port }}|5-6": {
99+
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
100+
}{% if not loop.last %},{% endif %}
101+
102+
{% endfor %}
103+
}
104+
{%- endmacro %}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_dynamic.json.j2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../Mellanox-SN4600C-D112C8/pg_profile_lookup.ini
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# name lanes alias index speed
2+
Ethernet0 0,1 etp1a 1 50000
3+
Ethernet2 2,3 etp1b 1 50000
4+
Ethernet4 8,9 etp2a 2 50000
5+
Ethernet6 10,11 etp2b 2 50000
6+
Ethernet8 16,17 etp3a 3 50000
7+
Ethernet10 18,19 etp3b 3 50000
8+
Ethernet12 24,25 etp4a 4 50000
9+
Ethernet14 26,27 etp4b 4 50000
10+
Ethernet16 32,33 etp5a 5 50000
11+
Ethernet18 34,35 etp5b 5 50000
12+
Ethernet20 40,41 etp6a 6 50000
13+
Ethernet22 42,43 etp6b 6 50000
14+
Ethernet24 48,49 etp7a 7 50000
15+
Ethernet26 50,51 etp7b 7 50000
16+
Ethernet28 56,57 etp8a 8 50000
17+
Ethernet30 58,59 etp8b 8 50000
18+
Ethernet32 64,65 etp9a 9 50000
19+
Ethernet34 66,67 etp9b 9 50000
20+
Ethernet36 72,73 etp10a 10 50000
21+
Ethernet38 74,75 etp10b 10 50000
22+
Ethernet40 80,81,82,83 etp11 11 100000
23+
Ethernet44 88,89,90,91 etp12 12 100000
24+
Ethernet48 96,97 etp13a 13 50000
25+
Ethernet50 98,99 etp13b 13 50000
26+
Ethernet52 104,105 etp14a 14 50000
27+
Ethernet54 106,107 etp14b 14 50000
28+
Ethernet56 112,113,114,115 etp15 15 100000
29+
Ethernet60 120,121,122,123 etp16 16 100000
30+
Ethernet64 128,129,130,131 etp17 17 100000
31+
Ethernet68 136,137,138,139 etp18 18 100000
32+
Ethernet72 144,145,146,147 etp19 19 100000
33+
Ethernet76 152,153,154,155 etp20 20 100000
34+
Ethernet80 160,161,162,163 etp21 21 100000
35+
Ethernet84 168,169,170,171 etp22 22 100000
36+
Ethernet88 176,177,178,179 etp23 23 100000
37+
Ethernet92 184,185,186,187 etp24 24 100000
38+
Ethernet96 192,193,194,195 etp25 25 100000
39+
Ethernet100 200,201,202,203 etp26 26 100000
40+
Ethernet104 208,209,210,211 etp27 27 100000
41+
Ethernet108 216,217,218,219 etp28 28 100000
42+
Ethernet112 224,225,226,227 etp29 29 100000
43+
Ethernet116 232,233,234,235 etp30 30 100000
44+
Ethernet120 240,241,242,243 etp31 31 100000
45+
Ethernet124 248,249,250,251 etp32 32 100000
46+
Ethernet128 256,257,258,259 etp33 33 100000
47+
Ethernet132 264,265,266,267 etp34 34 100000
48+
Ethernet136 272,273,274,275 etp35 35 100000
49+
Ethernet140 280,281,282,283 etp36 36 100000
50+
Ethernet144 288,289,290,291 etp37 37 100000
51+
Ethernet148 296,297,298,299 etp38 38 100000
52+
Ethernet152 304,305,306,307 etp39 39 100000
53+
Ethernet156 312,313,314,315 etp40 40 100000
54+
Ethernet160 320,321,322,323 etp41 41 100000
55+
Ethernet164 328,329,330,331 etp42 42 100000
56+
Ethernet168 336,337,338,339 etp43 43 100000
57+
Ethernet172 344,345,346,347 etp44 44 100000
58+
Ethernet176 352,353,354,355 etp45 45 100000
59+
Ethernet180 360,361,362,363 etp46 46 100000
60+
Ethernet184 368,369,370,371 etp47 47 100000
61+
Ethernet188 376,377,378,379 etp48 48 100000
62+
Ethernet192 384,385 etp49a 49 50000
63+
Ethernet194 386,387 etp49b 49 50000
64+
Ethernet196 392,393 etp50a 50 50000
65+
Ethernet198 394,395 etp50b 50 50000
66+
Ethernet200 400,401,402,403 etp51 51 100000
67+
Ethernet204 408,409,410,411 etp52 52 100000
68+
Ethernet208 416,417 etp53a 53 50000
69+
Ethernet210 418,419 etp53b 53 50000
70+
Ethernet212 424,425 etp54a 54 50000
71+
Ethernet214 426,427 etp54b 54 50000
72+
Ethernet216 432,433,434,435 etp55 55 100000
73+
Ethernet220 440,441,442,443 etp56 56 100000
74+
Ethernet224 448,449 etp57a 57 50000
75+
Ethernet226 450,451 etp57b 57 50000
76+
Ethernet228 456,457 etp58a 58 50000
77+
Ethernet230 458,459 etp58b 58 50000
78+
Ethernet232 464,465 etp59a 59 50000
79+
Ethernet234 466,467 etp59b 59 50000
80+
Ethernet236 472,473 etp60a 60 50000
81+
Ethernet238 474,475 etp60b 60 50000
82+
Ethernet240 480,481 etp61a 61 50000
83+
Ethernet242 482,483 etp61b 61 50000
84+
Ethernet244 488,489 etp62a 62 50000
85+
Ethernet246 490,491 etp62b 62 50000
86+
Ethernet248 496,497 etp63a 63 50000
87+
Ethernet250 498,499 etp63b 63 50000
88+
Ethernet252 504,505 etp64a 64 50000
89+
Ethernet254 506,507 etp64b 64 50000
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../ACS-MSN4600C/qos.json.j2
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_4600c_48x50g_40x100g.xml
2+
SAI_DUMP_STORE_PATH=/var/log/mellanox/sdk-dumps
3+
SAI_DUMP_STORE_AMOUNT=10
4+
SAI_VXLAN_SRCPORT_RANGE_ENABLE=1

0 commit comments

Comments
 (0)