Skip to content

Commit 3e59c91

Browse files
kperumalbfnrick-arista
andauthoredJan 23, 2025··
Add buffer configs for TH5 C224 and C256 SKUs (#21155)
* Add buffer configs for TH5 C224 and C256 SKUs * BCM SAI temp changes * Update cable length as 0m for 100G breakout SKUs * Add BUFFER_QUEUE profile * Add dscp to tc, tc to queue, and scheduler mappings * Update the DSCP to TC mapping * Fixes for yaml, queue index validation --------- Co-authored-by: Rick Robbins <rick@arista.com>
1 parent e8012b7 commit 3e59c91

File tree

11 files changed

+446
-6
lines changed

11 files changed

+446
-6
lines changed
 

‎device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-C224O8/buffers_defaults_t0.j2

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{%- set default_cable = '0m' %}
2+
3+
{%- include 'buffer_ports.j2' %}
4+
5+
{%- macro generate_buffer_pool_and_profiles() %}
6+
"BUFFER_POOL": {
7+
"ingress_lossy_pool": {
8+
"size": "166607744",
9+
"type": "ingress",
10+
"mode": "dynamic"
11+
},
12+
"egress_lossy_pool": {
13+
"size": "166607744",
14+
"type": "egress",
15+
"mode": "dynamic"
16+
}
17+
},
18+
"BUFFER_PROFILE": {
19+
"ingress_lossy_profile": {
20+
"pool": "ingress_lossy_pool",
21+
"size": "0",
22+
"static_th": "167546528"
23+
},
24+
"egress_lossy_profile": {
25+
"pool": "egress_lossy_pool",
26+
"size": "1778",
27+
"dynamic_th": "1"
28+
}
29+
},
30+
{%- endmacro %}

‎device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-C224O8/buffers_defaults_t1.j2

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{%- set default_cable = '0m' %}
2+
3+
{%- include 'buffer_ports.j2' %}
4+
5+
{%- macro generate_buffer_pool_and_profiles() %}
6+
"BUFFER_POOL": {
7+
"ingress_lossy_pool": {
8+
"size": "166607744",
9+
"type": "ingress",
10+
"mode": "dynamic"
11+
},
12+
"egress_lossy_pool": {
13+
"size": "166607744",
14+
"type": "egress",
15+
"mode": "dynamic"
16+
}
17+
},
18+
"BUFFER_PROFILE": {
19+
"ingress_lossy_profile": {
20+
"pool": "ingress_lossy_pool",
21+
"size": "0",
22+
"static_th": "167546528"
23+
},
24+
"egress_lossy_profile": {
25+
"pool": "egress_lossy_pool",
26+
"size": "1778",
27+
"dynamic_th": "1"
28+
}
29+
},
30+
{%- endmacro %}
Original file line numberDiff line numberDiff line change
@@ -1 +1,143 @@
1+
{%- macro generate_dscp_to_tc_map_per_sku() -%}
2+
"DSCP_TO_TC_MAP": {
3+
"AZURE": {
4+
"0" : "0",
5+
"1" : "1",
6+
"2" : "2",
7+
"3" : "3",
8+
"4" : "4",
9+
"5" : "4",
10+
"6" : "4",
11+
"7" : "0",
12+
"8" : "0",
13+
"9" : "0",
14+
"10": "5",
15+
"11": "0",
16+
"12": "0",
17+
"13": "0",
18+
"14": "0",
19+
"15": "0",
20+
"16": "0",
21+
"17": "0",
22+
"18": "0",
23+
"19": "0",
24+
"20": "0",
25+
"21": "0",
26+
"22": "0",
27+
"23": "0",
28+
"24": "0",
29+
"25": "0",
30+
"26": "0",
31+
"27": "0",
32+
"28": "0",
33+
"29": "0",
34+
"30": "0",
35+
"31": "0",
36+
"32": "0",
37+
"33": "0",
38+
"34": "0",
39+
"35": "0",
40+
"36": "0",
41+
"37": "0",
42+
"38": "0",
43+
"39": "0",
44+
"40": "0",
45+
"41": "0",
46+
"42": "0",
47+
"43": "0",
48+
"44": "0",
49+
"45": "0",
50+
"46": "0",
51+
"47": "0",
52+
"48": "0",
53+
"49": "0",
54+
"50": "0",
55+
"51": "0",
56+
"52": "0",
57+
"53": "0",
58+
"54": "0",
59+
"55": "0",
60+
"56": "0",
61+
"57": "0",
62+
"58": "0",
63+
"59": "0",
64+
"60": "0",
65+
"61": "0",
66+
"62": "0",
67+
"63": "0"
68+
}
69+
},
70+
{%- endmacro -%}
71+
72+
{%- macro generate_tc_to_queue_map_per_sku() -%}
73+
"TC_TO_QUEUE_MAP": {
74+
"AZURE": {
75+
"0": "0",
76+
"1": "1",
77+
"2": "2",
78+
"3": "3",
79+
"4": "4",
80+
"5": "5",
81+
"6": "6",
82+
"7": "7",
83+
"8": "8",
84+
"9": "9"
85+
}
86+
},
87+
{%- endmacro -%}
88+
89+
{%- macro generate_scheduler_per_sku() -%}
90+
"SCHEDULER": {
91+
"scheduler.0": {
92+
"type" : "DWRR",
93+
"weight": "1"
94+
},
95+
"scheduler.1": {
96+
"type" : "DWRR",
97+
"weight": "10"
98+
},
99+
"scheduler.2": {
100+
"type" : "DWRR",
101+
"weight": "20"
102+
},
103+
"scheduler.3": {
104+
"type" : "DWRR",
105+
"weight": "30"
106+
}
107+
},
108+
{%- endmacro -%}
109+
110+
{%- macro generate_single_queue_per_sku(port) -%}
111+
"{{ port }}|0": {
112+
"scheduler": "scheduler.0"
113+
},
114+
"{{ port }}|1": {
115+
"scheduler": "scheduler.1"
116+
},
117+
"{{ port }}|2": {
118+
"scheduler": "scheduler.2"
119+
},
120+
"{{ port }}|3": {
121+
"scheduler": "scheduler.3"
122+
},
123+
"{{ port }}|4": {
124+
"scheduler": "scheduler.1"
125+
},
126+
"{{ port }}|5": {
127+
"scheduler": "scheduler.1"
128+
},
129+
"{{ port }}|6": {
130+
"scheduler": "scheduler.1"
131+
},
132+
"{{ port }}|7": {
133+
"scheduler": "scheduler.1"
134+
},
135+
"{{ port }}|8": {
136+
"scheduler": "scheduler.1"
137+
},
138+
"{{ port }}|9": {
139+
"scheduler": "scheduler.1"
140+
}
141+
{%- endmacro -%}
142+
1143
{%- include 'qos_config.j2' %}

‎device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-C224O8/th5-a7060x6-64pe.config.bcm

+9
Original file line numberDiff line numberDiff line change
@@ -1848,3 +1848,12 @@ device:
18481848
DEVICE_CONFIG:
18491849
AUTOLOAD_BOARD_SETTINGS: 0
18501850
...
1851+
---
1852+
device:
1853+
0:
1854+
TM_THD_CONFIG:
1855+
SKIP_BUFFER_RESERVATION: 0
1856+
THRESHOLD_MODE: LOSSY
1857+
TM_SCHEDULER_CONFIG:
1858+
NUM_MC_Q: NUM_MC_Q_2
1859+
...

‎device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-C256S2/buffers_defaults_t0.j2

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{%- set default_cable = '0m' %}
2+
3+
{%- include 'buffer_ports.j2' %}
4+
5+
{%- macro generate_buffer_pool_and_profiles() %}
6+
"BUFFER_POOL": {
7+
"ingress_lossy_pool": {
8+
"size": "166607744",
9+
"type": "ingress",
10+
"mode": "dynamic"
11+
},
12+
"egress_lossy_pool": {
13+
"size": "166607744",
14+
"type": "egress",
15+
"mode": "dynamic"
16+
}
17+
},
18+
"BUFFER_PROFILE": {
19+
"ingress_lossy_profile": {
20+
"pool": "ingress_lossy_pool",
21+
"size": "0",
22+
"static_th": "167546528"
23+
},
24+
"egress_lossy_profile": {
25+
"pool": "egress_lossy_pool",
26+
"size": "1778",
27+
"dynamic_th": "1"
28+
}
29+
},
30+
{%- endmacro %}
31+
{%- macro generate_queue_buffers(ports) %}
32+
"BUFFER_QUEUE": {
33+
{% for port in ports.split(',') %}
34+
"{{ port }}|0-9": {
35+
"profile" : "egress_lossy_profile"
36+
}
37+
{%- if not loop.last -%},{% endif %}
38+
{% endfor %}
39+
}
40+
{%- endmacro %}

‎device/arista/x86_64-arista_7060x6_64pe/Arista-7060X6-64PE-C256S2/buffers_defaults_t1.j2

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{%- set default_cable = '0m' %}
2+
3+
{%- include 'buffer_ports.j2' %}
4+
5+
{%- macro generate_buffer_pool_and_profiles() %}
6+
"BUFFER_POOL": {
7+
"ingress_lossy_pool": {
8+
"size": "166607744",
9+
"type": "ingress",
10+
"mode": "dynamic"
11+
},
12+
"egress_lossy_pool": {
13+
"size": "166607744",
14+
"type": "egress",
15+
"mode": "dynamic"
16+
}
17+
},
18+
"BUFFER_PROFILE": {
19+
"ingress_lossy_profile": {
20+
"pool": "ingress_lossy_pool",
21+
"size": "0",
22+
"static_th": "167546528"
23+
},
24+
"egress_lossy_profile": {
25+
"pool": "egress_lossy_pool",
26+
"size": "1778",
27+
"dynamic_th": "1"
28+
}
29+
},
30+
{%- endmacro %}
31+
{%- macro generate_queue_buffers(ports) %}
32+
"BUFFER_QUEUE": {
33+
{% for port in ports.split(',') %}
34+
"{{ port }}|0-9": {
35+
"profile" : "egress_lossy_profile"
36+
}
37+
{%- if not loop.last -%},{% endif %}
38+
{% endfor %}
39+
}
40+
{%- endmacro %}

0 commit comments

Comments
 (0)
Please sign in to comment.