[RDMA] create split profiles for Arista-7050CX3-32S (#12228)

Moving buffer configuration files to sub folders to enable multiple buffer profiles. Otherwise, non-functional change.

Signed-off-by: Ying Xie ying.xie@microsoft.com
This commit is contained in:
Ying Xie 2022-10-06 14:15:23 -07:00 committed by Ying Xie
parent 3d641129f5
commit 6578b9d790
18 changed files with 590 additions and 374 deletions

View File

@ -0,0 +1,52 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0,32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "32732160",
"type": "ingress",
"mode": "dynamic",
"xoff": "1622016"
},
"egress_lossy_pool": {
"size": "24709632",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "32599040",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"32732160"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"static_th":"32599040"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"1792",
"dynamic_th":"3"
}
},
{%- endmacro %}
{% import 'buffers_extra_queues.j2' as defs with context %}
{%- macro generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) %}
{{ defs.generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) }}
{%- endmacro %}

View File

@ -0,0 +1,46 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0,32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "32712448",
"type": "ingress",
"mode": "dynamic",
"xoff": "1622016"
},
"egress_lossy_pool": {
"size": "24709632",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "32599040",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"32712448"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"static_th":"32599040"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"1792",
"dynamic_th":"3"
}
},
{%- endmacro %}

View File

@ -0,0 +1,8 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
50000 5m 4608 4608 160000 0 4608
100000 5m 4608 4608 160000 0 4608
50000 40m 4608 4608 160000 0 4608
100000 40m 4608 4608 160000 0 4608
50000 300m 4608 4608 160000 0 4608
100000 300m 4608 4608 160000 0 4608

View File

@ -0,0 +1,206 @@
{% if 'subtype' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['subtype'] == 'DualToR' %}
{%- macro generate_dscp_to_tc_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
}
},
{%- endmacro %}
{%- macro generate_tc_to_pg_map() %}
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "2",
"3": "3",
"4": "4",
"5": "0",
"6": "6",
"7": "0",
"8": "0"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "0",
"2": "0",
"3": "2",
"4": "6",
"5": "0",
"6": "0",
"7": "0",
"8": "0"
}
},
{%- endmacro %}
{%- macro generate_tc_to_queue_map() %}
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "1",
"3": "3",
"4": "4",
"5": "5",
"6": "1",
"7": "7",
"8": "1"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "1",
"2": "1",
"3": "2",
"4": "6",
"5": "5",
"6": "1",
"7": "7",
"8": "1"
}
},
{%- endmacro %}
{%- macro generate_tc_to_dscp_map() %}
"TC_TO_DSCP_MAP": {
"AZURE_TUNNEL": {
"0": "8",
"1": "0",
"2": "0",
"3": "2",
"4": "6",
"5": "46",
"6": "0",
"7": "48",
"8": "33"
}
},
{%- endmacro %}
{% endif %}
{%- include 'qos_config.j2' %}

View File

@ -0,0 +1 @@
BALANCED

View File

@ -0,0 +1 @@
BALANCED

View File

@ -1,52 +0,0 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0,32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "32732160",
"type": "ingress",
"mode": "dynamic",
"xoff": "1622016"
},
"egress_lossy_pool": {
"size": "24709632",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "32599040",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"32732160"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"static_th":"32599040"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"1792",
"dynamic_th":"3"
}
},
{%- endmacro %}
{% import 'buffers_extra_queues.j2' as defs with context %}
{%- macro generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) %}
{{ defs.generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) }}
{%- endmacro %}

View File

@ -0,0 +1 @@
BALANCED/buffers_defaults_t0.j2

View File

@ -1,46 +0,0 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0,32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "32712448",
"type": "ingress",
"mode": "dynamic",
"xoff": "1622016"
},
"egress_lossy_pool": {
"size": "24709632",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "32599040",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"32712448"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"static_th":"32599040"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"1792",
"dynamic_th":"3"
}
},
{%- endmacro %}

View File

@ -0,0 +1 @@
BALANCED/buffers_defaults_t1.j2

View File

@ -1,8 +0,0 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
50000 5m 4608 4608 160000 0 4608
100000 5m 4608 4608 160000 0 4608
50000 40m 4608 4608 160000 0 4608
100000 40m 4608 4608 160000 0 4608
50000 300m 4608 4608 160000 0 4608
100000 300m 4608 4608 160000 0 4608

View File

@ -0,0 +1 @@
BALANCED/pg_profile_lookup.ini

View File

@ -1 +1 @@
../Arista-7050CX3-32S-D48C8/qos.json.j2
BALANCED/qos.json.j2

View File

@ -0,0 +1,53 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0,32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "32689152",
"type": "ingress",
"mode": "dynamic",
"xoff": "2058240"
},
"egress_lossy_pool": {
"size": "24192256",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "32340992",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"32689152"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"static_th":"32340992"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"1792",
"dynamic_th":"3"
}
},
{%- endmacro %}
{% import 'buffers_extra_queues.j2' as defs with context %}
{%- macro generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) %}
{{ defs.generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) }}
{%- endmacro %}

View File

@ -0,0 +1,8 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
50000 5m 4608 4608 160000 0 4608
100000 5m 4608 4608 160000 0 4608
50000 40m 4608 4608 160000 0 4608
100000 40m 4608 4608 160000 0 4608
50000 300m 4608 4608 160000 0 4608
100000 300m 4608 4608 160000 0 4608

View File

@ -0,0 +1,206 @@
{% if 'subtype' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['subtype'] == 'DualToR' %}
{%- macro generate_dscp_to_tc_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
}
},
{%- endmacro %}
{%- macro generate_tc_to_pg_map() %}
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "2",
"3": "3",
"4": "4",
"5": "0",
"6": "6",
"7": "0",
"8": "0"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "0",
"2": "0",
"3": "2",
"4": "6",
"5": "0",
"6": "0",
"7": "0",
"8": "0"
}
},
{%- endmacro %}
{%- macro generate_tc_to_queue_map() %}
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "1",
"3": "3",
"4": "4",
"5": "5",
"6": "1",
"7": "7",
"8": "1"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "1",
"2": "1",
"3": "2",
"4": "6",
"5": "5",
"6": "1",
"7": "7",
"8": "1"
}
},
{%- endmacro %}
{%- macro generate_tc_to_dscp_map() %}
"TC_TO_DSCP_MAP": {
"AZURE_TUNNEL": {
"0": "8",
"1": "0",
"2": "0",
"3": "2",
"4": "6",
"5": "46",
"6": "0",
"7": "48",
"8": "33"
}
},
{%- endmacro %}
{% endif %}
{%- include 'qos_config.j2' %}

View File

@ -0,0 +1 @@
BALANCED

View File

@ -1,53 +0,0 @@
{%- set default_cable = '300m' %}
{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
{%- for port_idx in range(0,32) %}
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "32689152",
"type": "ingress",
"mode": "dynamic",
"xoff": "2058240"
},
"egress_lossy_pool": {
"size": "24192256",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "32340992",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"32689152"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"static_th":"32340992"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"1792",
"dynamic_th":"3"
}
},
{%- endmacro %}
{% import 'buffers_extra_queues.j2' as defs with context %}
{%- macro generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) %}
{{ defs.generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) }}
{%- endmacro %}

View File

@ -0,0 +1 @@
BALANCED/buffers_defaults_t0.j2

View File

@ -1,8 +0,0 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
50000 5m 4608 4608 160000 0 4608
100000 5m 4608 4608 160000 0 4608
50000 40m 4608 4608 160000 0 4608
100000 40m 4608 4608 160000 0 4608
50000 300m 4608 4608 160000 0 4608
100000 300m 4608 4608 160000 0 4608

View File

@ -0,0 +1 @@
BALANCED/pg_profile_lookup.ini

View File

@ -1,206 +0,0 @@
{% if 'subtype' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['subtype'] == 'DualToR' %}
{%- macro generate_dscp_to_tc_map() %}
"DSCP_TO_TC_MAP": {
"AZURE": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
},
"AZURE_TUNNEL": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "1",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "8",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "7",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
}
},
{%- endmacro %}
{%- macro generate_tc_to_pg_map() %}
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "2",
"3": "3",
"4": "4",
"5": "0",
"6": "6",
"7": "0",
"8": "0"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "0",
"2": "0",
"3": "2",
"4": "6",
"5": "0",
"6": "0",
"7": "0",
"8": "0"
}
},
{%- endmacro %}
{%- macro generate_tc_to_queue_map() %}
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "1",
"3": "3",
"4": "4",
"5": "5",
"6": "1",
"7": "7",
"8": "1"
},
"AZURE_TUNNEL": {
"0": "0",
"1": "1",
"2": "1",
"3": "2",
"4": "6",
"5": "5",
"6": "1",
"7": "7",
"8": "1"
}
},
{%- endmacro %}
{%- macro generate_tc_to_dscp_map() %}
"TC_TO_DSCP_MAP": {
"AZURE_TUNNEL": {
"0": "8",
"1": "0",
"2": "0",
"3": "2",
"4": "6",
"5": "46",
"6": "0",
"7": "48",
"8": "33"
}
},
{%- endmacro %}
{% endif %}
{%- include 'qos_config.j2' %}

View File

@ -0,0 +1 @@
BALANCED/qos.json.j2