Skip to content

Commit 741a1b3

Browse files
Harish VenkatramanHarish Venkatraman
Harish Venkatraman
authored and
Harish Venkatraman
committed
[device/dell] Add z9100 pfc T0 support
This commit adds new code to support z9100 PFC T0 support with broadcom recommended MMU settings for PFC feature. Unit tested the setting by loading sonic-broadcom.bin and checking the hardware for the values from the JSON file. The T0 configs supports fan-out of 100G ports on Z9100. Added new config.bcm for fanout of 100G ports and tested the fanout by sending traffic using bcmcmd, new config.bcm file will be copied to /usr/share/sonic/hwsku/th-z9100-8x100-48x50G.config.bcm. The sai.profile file is updated to point to hwsku directory. Signed-off-by: Harish Venkatraman <[email protected]>
1 parent e9672b2 commit 741a1b3

File tree

7 files changed

+682
-0
lines changed

7 files changed

+682
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{%- set default_topo = 't0' %}
2+
{%- include 'buffers_config.j2' %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{%- set default_cable = '5m' %}
2+
3+
{%- macro generate_port_lists(PORT_ALL) %}
4+
{# Generate list of ports #}
5+
{%- for port_idx in range(0,6) %}
6+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
7+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{%- endif %}
8+
{%- endfor %}
9+
{%- for port_idx in range(10,26) %}
10+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
11+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{%- endif %}
12+
{%- endfor %}
13+
{%- for port_idx in range(30,32) %}
14+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
15+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4 + 2)) %}{%- endif %}
16+
{%- endfor %}
17+
{%- for port_idx in range(6,10) %}
18+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
19+
{%- endfor %}
20+
{%- for port_idx in range(26,30) %}
21+
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
22+
{%- endfor %}
23+
{%- endmacro %}
24+
25+
{%- macro generate_buffer_pool_and_profiles() %}
26+
"BUFFER_POOL": {
27+
"ingress_lossless_pool": {
28+
"size": "11213696",
29+
"type": "ingress",
30+
"mode": "dynamic",
31+
"xoff": "8356608"
32+
},
33+
"egress_lossy_pool": {
34+
"size": "9532224",
35+
"type": "egress",
36+
"mode": "dynamic"
37+
},
38+
"egress_lossless_pool": {
39+
"size": "15982720",
40+
"type": "egress",
41+
"mode": "static"
42+
}
43+
},
44+
"BUFFER_PROFILE": {
45+
"ingress_lossy_profile": {
46+
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
47+
"size":"0",
48+
"dynamic_th":"3"
49+
},
50+
"egress_lossless_profile": {
51+
"pool":"[BUFFER_POOL|egress_lossless_pool]",
52+
"size":"1518",
53+
"static_th":"3995680"
54+
},
55+
"egress_lossy_profile": {
56+
"pool":"[BUFFER_POOL|egress_lossy_pool]",
57+
"size":"1518",
58+
"dynamic_th":"3"
59+
}
60+
},
61+
{%- endmacro %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# PG lossless profiles.
2+
# speed cable size xon xoff threshold xon_offset
3+
10000 5m 1248 2288 35776 -4 2288
4+
25000 5m 1248 2288 53248 -4 2288
5+
40000 5m 1248 2288 66560 -4 2288
6+
50000 5m 1248 2288 79872 -4 2288
7+
100000 5m 1248 2288 165568 -4 2288
8+
10000 40m 1248 2288 37024 -4 2288
9+
25000 40m 1248 2288 56160 -4 2288
10+
40000 40m 1248 2288 71552 -4 2288
11+
50000 40m 1248 2288 85696 -4 2288
12+
100000 40m 1248 2288 177632 -4 2288
13+
10000 300m 1248 2288 46176 -4 2288
14+
25000 300m 1248 2288 79040 -4 2288
15+
40000 300m 1248 2288 108160 -4 2288
16+
50000 300m 1248 2288 131456 -4 2288
17+
100000 300m 1248 2288 268736 -4 2288
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# name lanes alias index speed
2+
Ethernet0 49,50 fiftyGigE1/1/1 1 50000
3+
Ethernet2 51,52 fiftyGigE1/1/2 1 50000
4+
Ethernet4 53,54 fiftyGigE1/2/1 2 50000
5+
Ethernet6 55,56 fiftyGigE1/2/2 2 50000
6+
Ethernet8 57,58 fiftyGigE1/3/1 3 50000
7+
Ethernet10 59,60 fiftyGigE1/3/2 3 50000
8+
Ethernet12 61,62 fiftyGigE1/4/1 4 50000
9+
Ethernet14 63,64 fiftyGigE1/4/2 4 50000
10+
Ethernet16 65,66 fiftyGigE1/5/1 5 50000
11+
Ethernet18 67,68 fiftyGigE1/5/2 5 50000
12+
Ethernet20 69,70 fiftyGigE1/6/1 6 50000
13+
Ethernet22 71,72 fiftyGigE1/6/2 6 50000
14+
Ethernet24 73,74,75,76 hundredGigE1/7 7 100000
15+
Ethernet28 77,78,79,80 hundredGigE1/8 8 100000
16+
Ethernet32 37,38,39,40 hundredGigE1/9 9 100000
17+
Ethernet36 33,34,35,36 hundredGigE1/10 10 100000
18+
Ethernet40 45,46 fiftyGigE1/11/1 11 50000
19+
Ethernet42 47,48 fiftyGigE1/11/2 11 50000
20+
Ethernet44 41,42 fiftyGigE1/12/1 12 50000
21+
Ethernet46 43,44 fiftyGigE1/12/2 12 50000
22+
Ethernet48 81,82 fiftyGigE1/13/1 13 50000
23+
Ethernet50 83,84 fiftyGigE1/13/2 13 50000
24+
Ethernet52 85,86 fiftyGigE1/14/1 14 50000
25+
Ethernet54 87,88 fiftyGigE1/14/2 14 50000
26+
Ethernet56 89,90 fiftyGigE1/15/1 15 50000
27+
Ethernet58 91,92 fiftyGigE1/15/2 15 50000
28+
Ethernet60 93,94 fiftyGigE1/16/1 16 50000
29+
Ethernet62 95,96 fiftyGigE1/16/2 16 50000
30+
Ethernet64 97,98 fiftyGigE1/17/1 17 50000
31+
Ethernet66 99,100 fiftyGigE1/17/2 17 50000
32+
Ethernet68 101,102 fiftyGigE1/18/1 18 50000
33+
Ethernet70 103,104 fiftyGigE1/18/2 18 50000
34+
Ethernet72 105,106 fiftyGigE1/19/1 19 50000
35+
Ethernet74 107,108 fiftyGigE1/19/2 19 50000
36+
Ethernet76 109,110 fiftyGigE1/20/1 20 50000
37+
Ethernet78 111,112 fiftyGigE1/20/2 20 50000
38+
Ethernet80 21,22 fiftyGigE1/21/1 21 50000
39+
Ethernet82 23,24 fiftyGigE1/21/2 21 50000
40+
Ethernet84 17,18 fiftyGigE1/22/1 22 50000
41+
Ethernet86 19,20 fiftyGigE1/22/2 22 50000
42+
Ethernet88 29,30 fiftyGigE1/23/1 23 50000
43+
Ethernet90 31,32 fiftyGigE1/23/2 23 50000
44+
Ethernet92 25,26 fiftyGigE1/24/1 24 50000
45+
Ethernet94 27,28 fiftyGigE1/24/2 24 50000
46+
Ethernet96 117,118 fiftyGigE1/25/1 25 50000
47+
Ethernet98 119,120 fiftyGigE1/25/2 25 50000
48+
Ethernet100 113,114 fiftyGigE1/26/1 26 50000
49+
Ethernet102 115,116 fiftyGigE1/26/2 26 50000
50+
Ethernet104 125,126,127,128 hundredGigE1/27 27 100000
51+
Ethernet108 121,122,123,124 hundredGigE1/28 28 100000
52+
Ethernet112 5,6,7,8 hundredGigE1/29 29 100000
53+
Ethernet116 1,2,3,4 hundredGigE1/30 30 100000
54+
Ethernet120 13,14 fiftyGigE1/31/1 31 50000
55+
Ethernet122 15,16 fiftyGigE1/31/2 31 50000
56+
Ethernet124 9,10 fiftyGigE1/32/1 32 50000
57+
Ethernet126 11,12 fiftyGigE1/32/2 32 50000
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
{
2+
"TC_TO_PRIORITY_GROUP_MAP": {
3+
"AZURE": {
4+
"0": "0",
5+
"1": "1",
6+
"2": "2",
7+
"3": "3",
8+
"4": "4",
9+
"5": "5",
10+
"6": "6",
11+
"7": "7"
12+
}
13+
},
14+
"MAP_PFC_PRIORITY_TO_QUEUE": {
15+
"AZURE": {
16+
"0": "0",
17+
"1": "1",
18+
"2": "2",
19+
"3": "3",
20+
"4": "4",
21+
"5": "5",
22+
"6": "6",
23+
"7": "7"
24+
}
25+
},
26+
"TC_TO_QUEUE_MAP": {
27+
"AZURE": {
28+
"0": "0",
29+
"1": "1",
30+
"2": "2",
31+
"3": "3",
32+
"4": "4",
33+
"5": "5",
34+
"6": "6",
35+
"7": "7"
36+
}
37+
},
38+
"DSCP_TO_TC_MAP": {
39+
"AZURE": {
40+
"0":"0",
41+
"1":"0",
42+
"2":"0",
43+
"3":"3",
44+
"4":"4",
45+
"5":"0",
46+
"6":"0",
47+
"7":"0",
48+
"8":"1",
49+
"9":"0",
50+
"10":"0",
51+
"11":"0",
52+
"12":"0",
53+
"13":"0",
54+
"14":"0",
55+
"15":"0",
56+
"16":"0",
57+
"17":"0",
58+
"18":"0",
59+
"19":"0",
60+
"20":"0",
61+
"21":"0",
62+
"22":"0",
63+
"23":"0",
64+
"24":"0",
65+
"25":"0",
66+
"26":"0",
67+
"27":"0",
68+
"28":"0",
69+
"29":"0",
70+
"30":"0",
71+
"31":"0",
72+
"32":"0",
73+
"33":"0",
74+
"34":"0",
75+
"35":"0",
76+
"36":"0",
77+
"37":"0",
78+
"38":"0",
79+
"39":"0",
80+
"40":"0",
81+
"41":"0",
82+
"42":"0",
83+
"43":"0",
84+
"44":"0",
85+
"45":"0",
86+
"46":"0",
87+
"47":"0",
88+
"48":"0",
89+
"49":"0",
90+
"50":"0",
91+
"51":"0",
92+
"52":"0",
93+
"53":"0",
94+
"54":"0",
95+
"55":"0",
96+
"56":"0",
97+
"57":"0",
98+
"58":"0",
99+
"59":"0",
100+
"60":"0",
101+
"61":"0",
102+
"62":"0",
103+
"63":"0"
104+
}
105+
},
106+
"SCHEDULER": {
107+
"scheduler.0" : {
108+
"type":"DWRR",
109+
"weight": "25"
110+
},
111+
"scheduler.1" : {
112+
"type":"DWRR",
113+
"weight": "30"
114+
},
115+
"scheduler.2" : {
116+
"type":"DWRR",
117+
"weight": "20"
118+
}
119+
},
120+
"PORT_QOS_MAP": {
121+
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126": {
122+
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]",
123+
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]",
124+
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
125+
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
126+
"pfc_enable": "3,4"
127+
}
128+
},
129+
"WRED_PROFILE": {
130+
"AZURE_LOSSY" : {
131+
"wred_green_enable":"true",
132+
"wred_yellow_enable":"true",
133+
"ecn":"ecn_all",
134+
"red_max_threshold":"512000",
135+
"red_min_threshold":"512000",
136+
"yellow_max_threshold":"512000",
137+
"yellow_min_threshold":"512000",
138+
"green_max_threshold": "184320",
139+
"green_min_threshold": "184320"
140+
},
141+
"AZURE_LOSSLESS" : {
142+
"wred_green_enable":"true",
143+
"wred_yellow_enable":"true",
144+
"ecn":"ecn_all",
145+
"red_max_threshold":"512000",
146+
"red_min_threshold":"512000",
147+
"yellow_max_threshold":"512000",
148+
"yellow_min_threshold":"512000",
149+
"green_max_threshold": "184320",
150+
"green_min_threshold": "184320"
151+
}
152+
},
153+
"QUEUE": {
154+
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126|0-1": {
155+
"wred_profile" : "[WRED_PROFILE|AZURE_LOSSY]"
156+
},
157+
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126|3-4": {
158+
"scheduler" : "[SCHEDULER|scheduler.0]"
159+
},
160+
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126|0": {
161+
"scheduler" : "[SCHEDULER|scheduler.1]"
162+
},
163+
"Ethernet0,Ethernet2,Ethernet4,Ethernet6,Ethernet8,Ethernet10,Ethernet12,Ethernet14,Ethernet16,Ethernet18,Ethernet20,Ethernet22,Ethernet24,Ethernet28,Ethernet32,Ethernet36,Ethernet40,Ethernet42,Ethernet44,Ethernet46,Ethernet48,Ethernet50,Ethernet52,Ethernet54,Ethernet56,Ethernet58,Ethernet60,Ethernet62,Ethernet64,Ethernet66,Ethernet68,Ethernet70,Ethernet72,Ethernet74,Ethernet76,Ethernet78,Ethernet80,Ethernet82,Ethernet84,Ethernet86,Ethernet88,Ethernet90,Ethernet92,Ethernet94,Ethernet96,Ethernet98,Ethernet100,Ethernet102,Ethernet104,Ethernet108,Ethernet112,Ethernet116,Ethernet120,Ethernet122,Ethernet124,Ethernet126|1": {
164+
"scheduler" : "[SCHEDULER|scheduler.2]"
165+
}
166+
}
167+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/th-z9100-8x100G-48x50G.config.bcm

0 commit comments

Comments
 (0)