Skip to content

Commit

Permalink
[Open19] Support RDMA on O19 TOR HWSKUs
Browse files Browse the repository at this point in the history
Signed-off-by: Zhenggen Xu <[email protected]>

RB=2368205
G=lnos-reviewers
R=pchaudha,pmao,samaity,zxu
A=
  • Loading branch information
zhenggen-xu committed Jan 20, 2021
1 parent 5d2f7cb commit b324636
Show file tree
Hide file tree
Showing 20 changed files with 249 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{%- set PORT_ACTIVE = [] %}
{%- for port_idx in range(0, 96) %}
{%- if PORT_ACTIVE.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0, 96) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(96, 128, 4) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{%- set default_topo = 't0' %}
{%- from 'qos_ports.j2' import PORT_ACTIVE %}
{%- include 'buffers_config.j2' %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{%- set default_cable = '5m' %}
{%- import 'qos_ports.j2' as ports %}
{% set generate_port_lists = ports.generate_port_lists %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "10875072",
"type": "ingress",
"mode": "dynamic",
"xoff": "4194112"
},
"egress_lossy_pool": {
"size": "9243812",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "15982720",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"1518",
"static_th":"15982720"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
10000 5m 1248 2288 35776 -3 2288
25000 5m 1248 2288 53248 -3 2288
40000 5m 1248 2288 66560 -3 2288
50000 5m 1248 2288 79872 -3 2288
100000 5m 1248 2288 165568 -3 2288
10000 40m 1248 2288 37024 -3 2288
25000 40m 1248 2288 56160 -3 2288
40000 40m 1248 2288 71552 -3 2288
50000 40m 1248 2288 85696 -3 2288
100000 40m 1248 2288 177632 -3 2288
10000 300m 1248 2288 46176 -3 2288
25000 300m 1248 2288 79040 -3 2288
40000 300m 1248 2288 108160 -3 2288
50000 300m 1248 2288 141856 -3 2288
100000 300m 1248 2288 268736 -3 2288
121 changes: 121 additions & 0 deletions device/linkedin/x86_64-flex_bolthawk-r0/Open19-Bolt-25-50/qos.json.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{%- macro generate_tc_to_pg_map() %}
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
{%- endmacro %}

{%- macro generate_dscp_to_pg_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
"0" : "0",
"1" : "0",
"2" : "0",
"3" : "0",
"4" : "0",
"5" : "0",
"6" : "0",
"7" : "0",
"8" : "0",
"9" : "0",
"10": "0",
"11": "0",
"12": "0",
"13": "0",
"14": "0",
"15": "0",
"16": "0",
"17": "0",
"18": "0",
"19": "0",
"20": "0",
"21": "0",
"22": "0",
"23": "0",
"24": "0",
"25": "0",
"26": "3",
"27": "0",
"28": "0",
"29": "0",
"30": "0",
"31": "0",
"32": "0",
"33": "0",
"34": "0",
"35": "0",
"36": "0",
"37": "0",
"38": "0",
"39": "0",
"40": "0",
"41": "0",
"42": "0",
"43": "0",
"44": "0",
"45": "0",
"46": "0",
"47": "0",
"48": "6",
"49": "0",
"50": "0",
"51": "0",
"52": "0",
"53": "0",
"54": "0",
"55": "0",
"56": "0",
"57": "0",
"58": "0",
"59": "0",
"60": "0",
"61": "0",
"62": "0",
"63": "0"
}
},
{%- endmacro %}

{%- set PFC_QUEUES = [3,4] %}

{%- macro generate_scheduler_list() %}
"SCHEDULER": {
"scheduler.0": {
"type" : "DWRR",
"weight": "10"
},
"scheduler.1": {
"type" : "DWRR",
"weight": "25"
}
},
{%- endmacro %}
{%- macro generate_wred_profiles() %}
"WRED_PROFILE": {
"AZURE_LOSSLESS" : {
"wred_green_enable" : "true",
"wred_yellow_enable" : "true",
"wred_red_enable" : "true",
"ecn" : "ecn_all",
"green_max_threshold" : "2097152",
"green_min_threshold" : "153712",
"yellow_max_threshold" : "2097152",
"yellow_min_threshold" : "153712",
"red_max_threshold" : "2097152",
"red_min_threshold" : "153712",
"green_drop_probability" : "100",
"yellow_drop_probability": "100",
"red_drop_probability" : "100"
}
},
{%- endmacro %}
{%- from 'qos_ports.j2' import PORT_ACTIVE %}
{%- include 'qos_config.j2' %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{%- set PORT_ACTIVE = [] %}
{%- for port_idx in range(0, 96) %}
{%- if PORT_ACTIVE.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0, 96) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(96, 128, 2) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{%- set PORT_ACTIVE = [] %}
{%- for port_idx in range(0, 96, 2) %}
{%- if PORT_ACTIVE.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0, 96, 2) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(96, 128, 4) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{%- set PORT_ACTIVE = [] %}
{%- for port_idx in range(0, 96, 2) %}
{%- if PORT_ACTIVE.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0, 96, 2) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- for port_idx in range(96, 128, 2) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}

0 comments on commit b324636

Please sign in to comment.