Skip to content

Commit fd463b9

Browse files
wilson-smcilukasstockner
authored andcommitted
[Supermicro] Add a new supported device and platform, SSE-T7132S (sonic-net#15368)
* Switch Vendor: Supermicro * Switch SKU: Supermicro_sse_t7132s * ASIC Vendor: innovium * Swich ASIC: TL7 * Port Configuration: 32x400G Signed-off-by: wilsonw <wilsonw@supermicro.com.tw>
1 parent 477e2fa commit fd463b9

69 files changed

Lines changed: 8637 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

device/supermicro/x86_64-supermicro_sse_t7132s-r0/CSV/TL7_DAC_1M.csv

Lines changed: 263 additions & 0 deletions
Large diffs are not rendered by default.

device/supermicro/x86_64-supermicro_sse_t7132s-r0/CSV/TL7_DAC_3M.csv

Lines changed: 263 additions & 0 deletions
Large diffs are not rendered by default.

device/supermicro/x86_64-supermicro_sse_t7132s-r0/CSV/TL7_Optics.csv

Lines changed: 263 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
VERSION,CABLE TYPE,VENDOR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
2+
1.2,RJ45,GENERIC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3+
,,,SPEED,ENCODING,,,,,,,,,,SPEED,ENCODING,,,,,,,,,,,,,,SPEED,ENCODING,,,,,,
4+
,,,50G/400G,PAM4,,,,,,,,,,25G/100G,NRZ,,,,,,,,,,,,,,10G/40G,NRZ,,,,,,
5+
index,Front Port,lane,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,Optical Module CTLE,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,Optical Module CTLE,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_THRESHOLD,SD_RESET_25G,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING
6+
256,32,0,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
7+
257,32,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
{# Default values which will be used if no actual configura available #}
2+
{% set default_cable = '40m' %}
3+
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
4+
5+
{# Port configuration to cable length look-up table #}
6+
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
7+
{# Roles described in the minigraph #}
8+
{% set ports2cable = {
9+
'torrouter_server' : '5m',
10+
'leafrouter_torrouter' : '40m',
11+
'spinerouter_leafrouter' : '300m'
12+
}
13+
%}
14+
15+
{%- macro cable_length(port_name) %}
16+
{%- set cable_len = [] %}
17+
{%- for local_port in DEVICE_NEIGHBOR %}
18+
{%- if local_port == port_name %}
19+
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
20+
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
21+
{%- set neighbor_role = neighbor.type %}
22+
{%- set roles1 = switch_role + '_' + neighbor_role %}
23+
{%- set roles2 = neighbor_role + '_' + switch_role %}
24+
{%- set roles1 = roles1 | lower %}
25+
{%- set roles2 = roles2 | lower %}
26+
{%- if roles1 in ports2cable %}
27+
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
28+
{%- elif roles2 in ports2cable %}
29+
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
30+
{%- endif %}
31+
{%- endif %}
32+
{%- endif %}
33+
{%- endfor %}
34+
{%- if cable_len -%}
35+
{{ cable_len.0 }}
36+
{%- else %}
37+
{%- if switch_role.lower() == 'torrouter' %}
38+
{%- for local_port in VLAN_MEMBER %}
39+
{%- if local_port[1] == port_name %}
40+
{%- set roles3 = switch_role + '_' + 'server' %}
41+
{%- set roles3 = roles3 | lower %}
42+
{%- if roles3 in ports2cable %}
43+
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
44+
{%- endif %}
45+
{%- endif %}
46+
{%- endfor %}
47+
{%- if cable_len -%}
48+
{{ cable_len.0 }}
49+
{%- else -%}
50+
{{ default_cable }}
51+
{%- endif %}
52+
{%- else -%}
53+
{{ default_cable }}
54+
{%- endif %}
55+
{%- endif %}
56+
{%- endmacro %}
57+
58+
{%- if DEVICE_METADATA is defined %}
59+
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
60+
{%- endif -%}
61+
62+
{% set port_names_list = [] %}
63+
{% for port in PORT %}
64+
{% if port not in mgmt_port_name %}
65+
{%- if port_names_list.append(port) %}{% endif %}
66+
{% endif %}
67+
{% endfor %}
68+
{% set port_names = port_names_list | join(',') -%}
69+
70+
{
71+
"CABLE_LENGTH": {
72+
"AZURE": {
73+
{% for port in PORT %}
74+
{% if port not in mgmt_port_name %}
75+
{% set cable = cable_length(port) -%}
76+
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
77+
{% endif %}
78+
{% endfor %}
79+
}
80+
},
81+
"BUFFER_POOL": {
82+
"ingress_lossless_pool": {
83+
"size": "51691264",
84+
"type": "ingress",
85+
"mode": "dynamic",
86+
"xoff": "17708800"
87+
},
88+
"lossy_pool": {
89+
"size": "18874368",
90+
"type": "egress",
91+
"mode": "dynamic",
92+
"xoff": "0"
93+
},
94+
"egress_lossless_pool": {
95+
"size": "70565632",
96+
"type": "egress",
97+
"mode": "static"
98+
}
99+
},
100+
"BUFFER_PROFILE": {
101+
"ingress_lossless_profile": {
102+
"pool":"ingress_lossless_pool",
103+
"xoff":"38816",
104+
"size":"1518",
105+
"dynamic_th":"1",
106+
"xon_offset":"9408"
107+
},
108+
"egress_lossless_profile": {
109+
"pool":"ingress_lossless_pool",
110+
"size":"0",
111+
"static_th":"10243072"
112+
},
113+
"ingress_lossy_profile": {
114+
"pool":"lossy_pool",
115+
"size":"0",
116+
"static_th":"10243072"
117+
},
118+
"egress_lossy_profile": {
119+
"pool":"lossy_pool",
120+
"size":"1518",
121+
"dynamic_th":"2"
122+
}
123+
},
124+
"BUFFER_PG": {
125+
{% for port in port_names_list %}
126+
"{{ port }}|3-4": {
127+
{% set cable = cable_length(port) -%}
128+
"profile" : "pg_lossless_400000_{{ cable }}_profile"
129+
},
130+
{% endfor %}
131+
{% for port in port_names_list %}
132+
"{{ port }}|0": {
133+
"profile" : "ingress_lossy_profile"
134+
},
135+
{% endfor %}
136+
{% for port in port_names_list %}
137+
"{{ port }}|1-2": {
138+
"profile" : "ingress_lossy_profile"
139+
},
140+
{% endfor %}
141+
{% for port in port_names_list %}
142+
"{{ port }}|5-7": {
143+
"profile" : "ingress_lossy_profile"
144+
}{% if not loop.last %},{% endif %}
145+
146+
{% endfor %}
147+
},
148+
149+
"BUFFER_QUEUE": {
150+
{% for port in port_names_list %}
151+
"{{ port }}|3-4": {
152+
"profile" : "egress_lossless_profile"
153+
},
154+
{% endfor %}
155+
{% for port in port_names_list %}
156+
"{{ port }}|0-2": {
157+
"profile" : "egress_lossy_profile"
158+
},
159+
{% endfor %}
160+
{% for port in port_names_list %}
161+
"{{ port }}|5-7": {
162+
"profile" : "egress_lossy_profile"
163+
}{% if not loop.last %},{% endif %}
164+
165+
{% endfor %}
166+
}
167+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
2+
{% set port_names_list = [] %}
3+
{% for port in PORT %}
4+
{% if port not in mgmt_port_name %}
5+
{%- if port_names_list.append(port) %}{% endif %}
6+
{% endif %}
7+
{% endfor %}
8+
{% set port_names = port_names_list | join(',') -%}
9+
10+
{
11+
"BUFFER_POOL": {
12+
"lossy_pool": {
13+
"size": "61458432",
14+
"type": "egress",
15+
"mode": "dynamic",
16+
"xoff": "0"
17+
}
18+
},
19+
"BUFFER_PROFILE": {
20+
"ingress_lossy_profile": {
21+
"pool":"lossy_pool",
22+
"size":"0",
23+
"static_th":"10243072"
24+
},
25+
"egress_lossy_profile": {
26+
"pool":"lossy_pool",
27+
"size":"1518",
28+
"dynamic_th":"2"
29+
}
30+
},
31+
"BUFFER_PG": {
32+
{% for port in port_names_list %}
33+
"{{ port }}|0-7": {
34+
"profile" : "ingress_lossy_profile"
35+
}{% if not loop.last %},{% endif %}
36+
{% endfor %}
37+
},
38+
"BUFFER_QUEUE": {
39+
{% for port in port_names_list %}
40+
"{{ port }}|0-7": {
41+
"profile" : "egress_lossy_profile"
42+
}{% if not loop.last %},{% endif %}
43+
{% endfor %}
44+
}
45+
}
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
{# Default values which will be used if no actual configura available #}
2+
{% set default_cable = '40m' %}
3+
{% set mgmt_port_name = ['Ethernet256','Ethernet257'] %}
4+
5+
{# Port configuration to cable length look-up table #}
6+
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
7+
{# Roles described in the minigraph #}
8+
{% set ports2cable = {
9+
'torrouter_server' : '5m',
10+
'leafrouter_torrouter' : '40m',
11+
'spinerouter_leafrouter' : '300m'
12+
}
13+
%}
14+
15+
{%- macro cable_length(port_name) %}
16+
{%- set cable_len = [] %}
17+
{%- for local_port in DEVICE_NEIGHBOR %}
18+
{%- if local_port == port_name %}
19+
{%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
20+
{%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
21+
{%- set neighbor_role = neighbor.type %}
22+
{%- set roles1 = switch_role + '_' + neighbor_role %}
23+
{%- set roles2 = neighbor_role + '_' + switch_role %}
24+
{%- set roles1 = roles1 | lower %}
25+
{%- set roles2 = roles2 | lower %}
26+
{%- if roles1 in ports2cable %}
27+
{%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
28+
{%- elif roles2 in ports2cable %}
29+
{%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
30+
{%- endif %}
31+
{%- endif %}
32+
{%- endif %}
33+
{%- endfor %}
34+
{%- if cable_len -%}
35+
{{ cable_len.0 }}
36+
{%- else %}
37+
{%- if switch_role.lower() == 'torrouter' %}
38+
{%- for local_port in VLAN_MEMBER %}
39+
{%- if local_port[1] == port_name %}
40+
{%- set roles3 = switch_role + '_' + 'server' %}
41+
{%- set roles3 = roles3 | lower %}
42+
{%- if roles3 in ports2cable %}
43+
{%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
44+
{%- endif %}
45+
{%- endif %}
46+
{%- endfor %}
47+
{%- if cable_len -%}
48+
{{ cable_len.0 }}
49+
{%- else -%}
50+
{{ default_cable }}
51+
{%- endif %}
52+
{%- else -%}
53+
{{ default_cable }}
54+
{%- endif %}
55+
{%- endif %}
56+
{%- endmacro %}
57+
58+
{%- if DEVICE_METADATA is defined %}
59+
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
60+
{%- endif -%}
61+
62+
{% set port_names_list = [] %}
63+
{% for port in PORT %}
64+
{% if port not in mgmt_port_name %}
65+
{%- if port_names_list.append(port) %}{% endif %}
66+
{% endif %}
67+
{% endfor %}
68+
{% set port_names = port_names_list | join(',') -%}
69+
70+
{
71+
"CABLE_LENGTH": {
72+
"AZURE": {
73+
{% for port in PORT %}
74+
{% if port not in mgmt_port_name %}
75+
{% set cable = cable_length(port) -%}
76+
"{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
77+
{% endif %}
78+
{% endfor %}
79+
}
80+
},
81+
"BUFFER_POOL": {
82+
"ingress_lossless_pool": {
83+
"size": "51691264",
84+
"type": "ingress",
85+
"mode": "dynamic",
86+
"xoff": "17708800"
87+
},
88+
"lossy_pool": {
89+
"size": "18874368",
90+
"type": "egress",
91+
"mode": "dynamic",
92+
"xoff": "0"
93+
},
94+
"egress_lossless_pool": {
95+
"size": "70565632",
96+
"type": "egress",
97+
"mode": "static"
98+
}
99+
},
100+
"BUFFER_PROFILE": {
101+
"ingress_lossless_profile": {
102+
"pool":"ingress_lossless_pool",
103+
"xoff":"38816",
104+
"size":"1518",
105+
"dynamic_th":"1",
106+
"xon_offset":"9408"
107+
},
108+
"egress_lossless_profile": {
109+
"pool":"ingress_lossless_pool",
110+
"size":"0",
111+
"static_th":"10243072"
112+
},
113+
"ingress_lossy_profile": {
114+
"pool":"lossy_pool",
115+
"size":"0",
116+
"static_th":"10243072"
117+
},
118+
"egress_lossy_profile": {
119+
"pool":"lossy_pool",
120+
"size":"1518",
121+
"dynamic_th":"2"
122+
}
123+
},
124+
"BUFFER_PG": {
125+
{% for port in port_names_list %}
126+
"{{ port }}|3-4": {
127+
{% set cable = cable_length(port) -%}
128+
"profile" : "pg_lossless_400000_{{ cable }}_profile"
129+
},
130+
{% endfor %}
131+
{% for port in port_names_list %}
132+
"{{ port }}|0": {
133+
"profile" : "ingress_lossy_profile"
134+
},
135+
{% endfor %}
136+
{% for port in port_names_list %}
137+
"{{ port }}|1-2": {
138+
"profile" : "ingress_lossy_profile"
139+
},
140+
{% endfor %}
141+
{% for port in port_names_list %}
142+
"{{ port }}|5-7": {
143+
"profile" : "ingress_lossy_profile"
144+
}{% if not loop.last %},{% endif %}
145+
146+
{% endfor %}
147+
},
148+
149+
"BUFFER_QUEUE": {
150+
{% for port in port_names_list %}
151+
"{{ port }}|3-4": {
152+
"profile" : "egress_lossless_profile"
153+
},
154+
{% endfor %}
155+
{% for port in port_names_list %}
156+
"{{ port }}|0-2": {
157+
"profile" : "egress_lossy_profile"
158+
},
159+
{% endfor %}
160+
{% for port in port_names_list %}
161+
"{{ port }}|5-7": {
162+
"profile" : "egress_lossy_profile"
163+
}{% if not loop.last %},{% endif %}
164+
165+
{% endfor %}
166+
}
167+
}

0 commit comments

Comments
 (0)