MMU configuration for Z9332 systems in T0 and T1 topolgy (#7973)
Why I did it MMU configuration for DellEMC Z9332 systems in T0/T1 topology How I did it Updated config.bcm, QoS/Buffer pool and lossy/lossless profile settings How to verify it Verified that Dell systems are booting up fine and basic test cases passing.
This commit is contained in:
parent
e5a6a45fa5
commit
2483860fd0
@ -1,2 +1,2 @@
|
||||
{%- set default_topo = 't1' %}
|
||||
{%- include 'buffers_config.j2' %}
|
||||
{%- set default_topo = 't0' %}
|
||||
{%- include 'buffers_config.j2' %}
|
||||
|
@ -1,20 +1,57 @@
|
||||
|
||||
{%- set default_cable = '40m' %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_pg_profils(port_names_active) %}
|
||||
"BUFFER_PG": {
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro generate_queue_buffers(port_names_active) %}
|
||||
"BUFFER_QUEUE": {
|
||||
}
|
||||
{% endmacro %}
|
||||
|
||||
{%- set default_cable = '300m' %}
|
||||
|
||||
{%- macro generate_port_lists(PORT_ALL) %}
|
||||
{# Generate list of ports #}
|
||||
{%- for port_idx in range(0,12) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 8)) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 2) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 4) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 6) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- for port_idx in range(12,16) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 8)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- for port_idx in range(16,20) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 8)) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 2) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 4) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 6) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- for port_idx in range(20,32) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 8)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "66800476",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "8644128"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66800476",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"66800476"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"67117468"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1778",
|
||||
"dynamic_th":"1"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
@ -1,20 +1,57 @@
|
||||
|
||||
{%- set default_cable = '40m' %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_pg_profils(port_names_active) %}
|
||||
"BUFFER_PG": {
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro generate_queue_buffers(port_names_active) %}
|
||||
"BUFFER_QUEUE": {
|
||||
}
|
||||
{% endmacro %}
|
||||
|
||||
{%- set default_cable = '300m' %}
|
||||
|
||||
{%- macro generate_port_lists(PORT_ALL) %}
|
||||
{# Generate list of ports #}
|
||||
{%- for port_idx in range(0,12) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 8)) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 2) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 4) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 6) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- for port_idx in range(12,16) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 8)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- for port_idx in range(16,20) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 8)) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 2) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 4) %}{%- endif %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 2) + 6) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- for port_idx in range(20,32) %}
|
||||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 8)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "66800476",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "8644128"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66800476",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"66800476"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"67117468"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1778",
|
||||
"dynamic_th":"1"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
@ -1,23 +1,12 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
10000 5m 1270 0 190500 -2 2540
|
||||
25000 5m 1270 0 190500 -2 2540
|
||||
40000 5m 1270 0 190500 -2 2540
|
||||
50000 5m 1270 0 190500 -2 2540
|
||||
100000 5m 1270 0 190500 -2 2540
|
||||
200000 5m 1270 0 190500 -2 2540
|
||||
400000 5m 1270 0 190500 -2 2540
|
||||
10000 40m 1270 0 190500 -2 2540
|
||||
25000 40m 1270 0 190500 -2 2540
|
||||
40000 40m 1270 0 190500 -2 2540
|
||||
50000 40m 1270 0 190500 -2 2540
|
||||
100000 40m 1270 0 190500 -2 2540
|
||||
200000 40m 1270 0 190500 -2 2540
|
||||
400000 40m 1270 0 190500 -2 2540
|
||||
10000 300m 1270 0 190500 -2 2540
|
||||
25000 300m 1270 0 190500 -2 2540
|
||||
40000 300m 1270 0 190500 -2 2540
|
||||
50000 300m 1270 0 190500 -2 2540
|
||||
100000 300m 1270 0 190500 -2 2540
|
||||
200000 300m 1270 0 190500 -2 2540
|
||||
400000 300m 1270 0 190500 -2 2540
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
100000 5m 2540 2540 68580 -2 2540
|
||||
100000 40m 2540 2540 74422 -2 2540
|
||||
100000 300m 2540 2540 117348 -2 2540
|
||||
100000 1000m 2540 2540 233172 -2 2540
|
||||
100000 2000m 2540 2540 398526 -2 2540
|
||||
400000 5m 2540 2540 35776 -2 2540
|
||||
400000 40m 2540 2540 53248 -2 2540
|
||||
400000 300m 2540 2540 66560 -2 2540
|
||||
400000 1000m 2540 2540 79872 -2 2540
|
||||
400000 2000m 2540 2540 54528 -2 2540
|
||||
|
@ -1,226 +1 @@
|
||||
{%- set PORT_ALL = [] %}
|
||||
{%- for port in PORT %}
|
||||
{%- if PORT_ALL.append(port) %}{% endif %}
|
||||
{%- endfor %}
|
||||
{%- if PORT_ALL | sort_by_port_index %}{% endif %}
|
||||
|
||||
{%- set port_names_list_all = [] %}
|
||||
{%- for port in PORT_ALL %}
|
||||
{%- if port_names_list_all.append(port) %}{% endif %}
|
||||
{%- endfor %}
|
||||
{%- set port_names_all = port_names_list_all | join(',') -%}
|
||||
|
||||
|
||||
{%- set PORT_ACTIVE = [] %}
|
||||
{%- if DEVICE_NEIGHBOR is not defined %}
|
||||
{%- set PORT_ACTIVE = PORT_ALL %}
|
||||
{%- else %}
|
||||
{%- for port in DEVICE_NEIGHBOR.keys() %}
|
||||
{%- if PORT_ACTIVE.append(port) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %}
|
||||
|
||||
{%- set port_names_list_active = [] %}
|
||||
{%- for port in PORT_ACTIVE %}
|
||||
{%- if port_names_list_active.append(port) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- set port_names_active = port_names_list_active | join(',') -%}
|
||||
|
||||
|
||||
{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%}
|
||||
|
||||
|
||||
{
|
||||
{% if generate_tc_to_pg_map is defined %}
|
||||
{{- generate_tc_to_pg_map() }}
|
||||
{% else %}
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"DEFAULT": {
|
||||
"0": "0",
|
||||
"1": "0",
|
||||
"2": "0",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "7"
|
||||
}
|
||||
},
|
||||
{% endif %}
|
||||
"MAP_PFC_PRIORITY_TO_QUEUE": {
|
||||
"DEFAULT": {
|
||||
"0": "0",
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7"
|
||||
}
|
||||
},
|
||||
"TC_TO_QUEUE_MAP": {
|
||||
"DEFAULT": {
|
||||
"0": "0",
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"DEFAULT": {
|
||||
"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": "0",
|
||||
"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": "0",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"SCHEDULER": {
|
||||
"scheduler.0": {
|
||||
"type" : "DWRR",
|
||||
"weight": "1"
|
||||
},
|
||||
"scheduler.1": {
|
||||
"type" : "DWRR",
|
||||
"weight": "2"
|
||||
},
|
||||
"scheduler.2": {
|
||||
"type" : "DWRR",
|
||||
"weight": "3"
|
||||
},
|
||||
"scheduler.3": {
|
||||
"type" : "DWRR",
|
||||
"weight": "4"
|
||||
},
|
||||
"scheduler.4": {
|
||||
"type" : "DWRR",
|
||||
"weight": "5"
|
||||
},
|
||||
"scheduler.5": {
|
||||
"type" : "DWRR",
|
||||
"weight": "10"
|
||||
},
|
||||
"scheduler.6": {
|
||||
"type" : "DWRR",
|
||||
"weight": "25"
|
||||
},
|
||||
"scheduler.7": {
|
||||
"type" : "STRICT"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"{{ port_names_active }}": {
|
||||
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|DEFAULT]",
|
||||
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|DEFAULT]",
|
||||
"pfc_enable" : "3,4",
|
||||
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|DEFAULT]"
|
||||
}
|
||||
},
|
||||
"QUEUE": {
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|0": {
|
||||
"scheduler" : "[SCHEDULER|scheduler.0]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|1": {
|
||||
"scheduler" : "[SCHEDULER|scheduler.1]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|2": {
|
||||
"scheduler": "[SCHEDULER|scheduler.2]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|3": {
|
||||
"scheduler": "[SCHEDULER|scheduler.3]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|4": {
|
||||
"scheduler": "[SCHEDULER|scheduler.4]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|5": {
|
||||
"scheduler": "[SCHEDULER|scheduler.5]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|6": {
|
||||
"scheduler": "[SCHEDULER|scheduler.6]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|7": {
|
||||
"scheduler": "[SCHEDULER|scheduler.7]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
||||
{%- include 'qos_config.j2' %}
|
||||
|
@ -44,6 +44,9 @@ l3_mem_entries=40960
|
||||
l2xlrn_thread_interval=50000
|
||||
l2xlrn_intr_en=0
|
||||
|
||||
sai_optimized_mmu=1
|
||||
mmu_init_config="TH3-MSFT-T0"
|
||||
|
||||
pbmp_xport_xe=0xffffffFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
|
||||
phy_an_c73=3
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
{%- set default_topo = 't1' %}
|
||||
{%- include 'buffers_config.j2' %}
|
||||
{%- set default_topo = 't1' %}
|
||||
{%- include 'buffers_config.j2' %}
|
||||
|
@ -1,20 +1,41 @@
|
||||
|
||||
{%- set default_cable = '40m' %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_pg_profils(port_names_active) %}
|
||||
"BUFFER_PG": {
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro generate_queue_buffers(port_names_active) %}
|
||||
"BUFFER_QUEUE": {
|
||||
}
|
||||
{% endmacro %}
|
||||
|
||||
{%- 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 * 8)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "66435732",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "27400374"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66435732",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"66435732"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"67117468"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1778",
|
||||
"dynamic_th":"1"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
@ -1,20 +1,41 @@
|
||||
|
||||
{%- set default_cable = '40m' %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_pg_profils(port_names_active) %}
|
||||
"BUFFER_PG": {
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{% macro generate_queue_buffers(port_names_active) %}
|
||||
"BUFFER_QUEUE": {
|
||||
}
|
||||
{% endmacro %}
|
||||
|
||||
{%- 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 * 8)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "66435732",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic",
|
||||
"xoff": "27400374"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "66435732",
|
||||
"type": "egress",
|
||||
"mode": "static"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"66435732"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"static_th":"67117468"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"1778",
|
||||
"dynamic_th":"1"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
@ -1,23 +1,12 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
10000 5m 1270 0 190500 -2 2540
|
||||
25000 5m 1270 0 190500 -2 2540
|
||||
40000 5m 1270 0 190500 -2 2540
|
||||
50000 5m 1270 0 190500 -2 2540
|
||||
100000 5m 1270 0 190500 -2 2540
|
||||
200000 5m 1270 0 190500 -2 2540
|
||||
400000 5m 1270 0 190500 -2 2540
|
||||
10000 40m 1270 0 190500 -2 2540
|
||||
25000 40m 1270 0 190500 -2 2540
|
||||
40000 40m 1270 0 190500 -2 2540
|
||||
50000 40m 1270 0 190500 -2 2540
|
||||
100000 40m 1270 0 190500 -2 2540
|
||||
200000 40m 1270 0 190500 -2 2540
|
||||
400000 40m 1270 0 190500 -2 2540
|
||||
10000 300m 1270 0 190500 -2 2540
|
||||
25000 300m 1270 0 190500 -2 2540
|
||||
40000 300m 1270 0 190500 -2 2540
|
||||
50000 300m 1270 0 190500 -2 2540
|
||||
100000 300m 1270 0 190500 -2 2540
|
||||
200000 300m 1270 0 190500 -2 2540
|
||||
400000 300m 1270 0 190500 -2 2540
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold xon_offset
|
||||
100000 5m 2540 2540 68580 -2 2540
|
||||
100000 40m 2540 2540 74422 -2 2540
|
||||
100000 300m 2540 2540 117348 -2 2540
|
||||
100000 1000m 2540 2540 233172 -2 2540
|
||||
100000 2000m 2540 2540 398526 -2 2540
|
||||
400000 5m 2540 2540 35776 -2 2540
|
||||
400000 40m 2540 2540 53248 -2 2540
|
||||
400000 300m 2540 2540 66560 -2 2540
|
||||
400000 1000m 2540 2540 79872 -2 2540
|
||||
400000 2000m 2540 2540 54528 -2 2540
|
||||
|
@ -1,226 +1 @@
|
||||
{%- set PORT_ALL = [] %}
|
||||
{%- for port in PORT %}
|
||||
{%- if PORT_ALL.append(port) %}{% endif %}
|
||||
{%- endfor %}
|
||||
{%- if PORT_ALL | sort_by_port_index %}{% endif %}
|
||||
|
||||
{%- set port_names_list_all = [] %}
|
||||
{%- for port in PORT_ALL %}
|
||||
{%- if port_names_list_all.append(port) %}{% endif %}
|
||||
{%- endfor %}
|
||||
{%- set port_names_all = port_names_list_all | join(',') -%}
|
||||
|
||||
|
||||
{%- set PORT_ACTIVE = [] %}
|
||||
{%- if DEVICE_NEIGHBOR is not defined %}
|
||||
{%- set PORT_ACTIVE = PORT_ALL %}
|
||||
{%- else %}
|
||||
{%- for port in DEVICE_NEIGHBOR.keys() %}
|
||||
{%- if PORT_ACTIVE.append(port) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %}
|
||||
|
||||
{%- set port_names_list_active = [] %}
|
||||
{%- for port in PORT_ACTIVE %}
|
||||
{%- if port_names_list_active.append(port) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- set port_names_active = port_names_list_active | join(',') -%}
|
||||
|
||||
|
||||
{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%}
|
||||
|
||||
|
||||
{
|
||||
{% if generate_tc_to_pg_map is defined %}
|
||||
{{- generate_tc_to_pg_map() }}
|
||||
{% else %}
|
||||
"TC_TO_PRIORITY_GROUP_MAP": {
|
||||
"DEFAULT": {
|
||||
"0": "0",
|
||||
"1": "0",
|
||||
"2": "0",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "0",
|
||||
"6": "0",
|
||||
"7": "7"
|
||||
}
|
||||
},
|
||||
{% endif %}
|
||||
"MAP_PFC_PRIORITY_TO_QUEUE": {
|
||||
"DEFAULT": {
|
||||
"0": "0",
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7"
|
||||
}
|
||||
},
|
||||
"TC_TO_QUEUE_MAP": {
|
||||
"DEFAULT": {
|
||||
"0": "0",
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7"
|
||||
}
|
||||
},
|
||||
"DSCP_TO_TC_MAP": {
|
||||
"DEFAULT": {
|
||||
"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": "0",
|
||||
"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": "0",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"SCHEDULER": {
|
||||
"scheduler.0": {
|
||||
"type" : "DWRR",
|
||||
"weight": "1"
|
||||
},
|
||||
"scheduler.1": {
|
||||
"type" : "DWRR",
|
||||
"weight": "2"
|
||||
},
|
||||
"scheduler.2": {
|
||||
"type" : "DWRR",
|
||||
"weight": "3"
|
||||
},
|
||||
"scheduler.3": {
|
||||
"type" : "DWRR",
|
||||
"weight": "4"
|
||||
},
|
||||
"scheduler.4": {
|
||||
"type" : "DWRR",
|
||||
"weight": "5"
|
||||
},
|
||||
"scheduler.5": {
|
||||
"type" : "DWRR",
|
||||
"weight": "10"
|
||||
},
|
||||
"scheduler.6": {
|
||||
"type" : "DWRR",
|
||||
"weight": "25"
|
||||
},
|
||||
"scheduler.7": {
|
||||
"type" : "STRICT"
|
||||
}
|
||||
},
|
||||
"PORT_QOS_MAP": {
|
||||
"{{ port_names_active }}": {
|
||||
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|DEFAULT]",
|
||||
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|DEFAULT]",
|
||||
"pfc_enable" : "3,4",
|
||||
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|DEFAULT]"
|
||||
}
|
||||
},
|
||||
"QUEUE": {
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|0": {
|
||||
"scheduler" : "[SCHEDULER|scheduler.0]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|1": {
|
||||
"scheduler" : "[SCHEDULER|scheduler.1]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|2": {
|
||||
"scheduler": "[SCHEDULER|scheduler.2]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|3": {
|
||||
"scheduler": "[SCHEDULER|scheduler.3]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|4": {
|
||||
"scheduler": "[SCHEDULER|scheduler.4]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|5": {
|
||||
"scheduler": "[SCHEDULER|scheduler.5]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|6": {
|
||||
"scheduler": "[SCHEDULER|scheduler.6]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in PORT_ACTIVE %}
|
||||
"{{ port }}|7": {
|
||||
"scheduler": "[SCHEDULER|scheduler.7]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
}
|
||||
{%- include 'qos_config.j2' %}
|
||||
|
@ -44,6 +44,9 @@ l3_mem_entries=40960
|
||||
l2xlrn_thread_interval=50000
|
||||
l2xlrn_intr_en=0
|
||||
|
||||
sai_optimized_mmu=1
|
||||
mmu_init_config="TH3-MSFT-T1"
|
||||
|
||||
pbmp_xport_xe=0xffffffFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
|
||||
|
||||
phy_an_c73=3
|
||||
|
Loading…
Reference in New Issue
Block a user