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' %}
|
{%- set default_topo = 't0' %}
|
||||||
{%- include 'buffers_config.j2' %}
|
{%- include 'buffers_config.j2' %}
|
||||||
|
@ -1,20 +1,57 @@
|
|||||||
|
{%- 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 %}
|
||||||
|
|
||||||
{%- set default_cable = '40m' %}
|
|
||||||
|
|
||||||
{%- macro generate_buffer_pool_and_profiles() %}
|
{%- macro generate_buffer_pool_and_profiles() %}
|
||||||
"BUFFER_POOL": {
|
"BUFFER_POOL": {
|
||||||
|
"ingress_lossless_pool": {
|
||||||
|
"size": "66800476",
|
||||||
|
"type": "ingress",
|
||||||
|
"mode": "dynamic",
|
||||||
|
"xoff": "8644128"
|
||||||
|
},
|
||||||
|
"egress_lossless_pool": {
|
||||||
|
"size": "66800476",
|
||||||
|
"type": "egress",
|
||||||
|
"mode": "static"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"BUFFER_PROFILE": {
|
"BUFFER_PROFILE": {
|
||||||
|
"ingress_lossy_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||||
|
"size":"0",
|
||||||
|
"static_th":"66800476"
|
||||||
},
|
},
|
||||||
{%- endmacro %}
|
"egress_lossless_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||||
{%- macro generate_pg_profils(port_names_active) %}
|
"size":"0",
|
||||||
"BUFFER_PG": {
|
"static_th":"67117468"
|
||||||
},
|
},
|
||||||
{%- endmacro %}
|
"egress_lossy_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||||
{% macro generate_queue_buffers(port_names_active) %}
|
"size":"1778",
|
||||||
"BUFFER_QUEUE": {
|
"dynamic_th":"1"
|
||||||
}
|
}
|
||||||
{% endmacro %}
|
},
|
||||||
|
{%- endmacro %}
|
||||||
|
@ -1,20 +1,57 @@
|
|||||||
|
{%- 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 %}
|
||||||
|
|
||||||
{%- set default_cable = '40m' %}
|
|
||||||
|
|
||||||
{%- macro generate_buffer_pool_and_profiles() %}
|
{%- macro generate_buffer_pool_and_profiles() %}
|
||||||
"BUFFER_POOL": {
|
"BUFFER_POOL": {
|
||||||
|
"ingress_lossless_pool": {
|
||||||
|
"size": "66800476",
|
||||||
|
"type": "ingress",
|
||||||
|
"mode": "dynamic",
|
||||||
|
"xoff": "8644128"
|
||||||
|
},
|
||||||
|
"egress_lossless_pool": {
|
||||||
|
"size": "66800476",
|
||||||
|
"type": "egress",
|
||||||
|
"mode": "static"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"BUFFER_PROFILE": {
|
"BUFFER_PROFILE": {
|
||||||
|
"ingress_lossy_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||||
|
"size":"0",
|
||||||
|
"static_th":"66800476"
|
||||||
},
|
},
|
||||||
{%- endmacro %}
|
"egress_lossless_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||||
{%- macro generate_pg_profils(port_names_active) %}
|
"size":"0",
|
||||||
"BUFFER_PG": {
|
"static_th":"67117468"
|
||||||
},
|
},
|
||||||
{%- endmacro %}
|
"egress_lossy_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||||
{% macro generate_queue_buffers(port_names_active) %}
|
"size":"1778",
|
||||||
"BUFFER_QUEUE": {
|
"dynamic_th":"1"
|
||||||
}
|
}
|
||||||
{% endmacro %}
|
},
|
||||||
|
{%- endmacro %}
|
||||||
|
@ -1,23 +1,12 @@
|
|||||||
# PG lossless profiles.
|
# PG lossless profiles.
|
||||||
# speed cable size xon xoff threshold xon_offset
|
# speed cable size xon xoff threshold xon_offset
|
||||||
10000 5m 1270 0 190500 -2 2540
|
100000 5m 2540 2540 68580 -2 2540
|
||||||
25000 5m 1270 0 190500 -2 2540
|
100000 40m 2540 2540 74422 -2 2540
|
||||||
40000 5m 1270 0 190500 -2 2540
|
100000 300m 2540 2540 117348 -2 2540
|
||||||
50000 5m 1270 0 190500 -2 2540
|
100000 1000m 2540 2540 233172 -2 2540
|
||||||
100000 5m 1270 0 190500 -2 2540
|
100000 2000m 2540 2540 398526 -2 2540
|
||||||
200000 5m 1270 0 190500 -2 2540
|
400000 5m 2540 2540 35776 -2 2540
|
||||||
400000 5m 1270 0 190500 -2 2540
|
400000 40m 2540 2540 53248 -2 2540
|
||||||
10000 40m 1270 0 190500 -2 2540
|
400000 300m 2540 2540 66560 -2 2540
|
||||||
25000 40m 1270 0 190500 -2 2540
|
400000 1000m 2540 2540 79872 -2 2540
|
||||||
40000 40m 1270 0 190500 -2 2540
|
400000 2000m 2540 2540 54528 -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
|
|
||||||
|
@ -1,226 +1 @@
|
|||||||
{%- set PORT_ALL = [] %}
|
{%- include 'qos_config.j2' %}
|
||||||
{%- 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 %}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -44,6 +44,9 @@ l3_mem_entries=40960
|
|||||||
l2xlrn_thread_interval=50000
|
l2xlrn_thread_interval=50000
|
||||||
l2xlrn_intr_en=0
|
l2xlrn_intr_en=0
|
||||||
|
|
||||||
|
sai_optimized_mmu=1
|
||||||
|
mmu_init_config="TH3-MSFT-T0"
|
||||||
|
|
||||||
pbmp_xport_xe=0xffffffFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
|
pbmp_xport_xe=0xffffffFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
|
||||||
phy_an_c73=3
|
phy_an_c73=3
|
||||||
|
|
||||||
|
@ -1,20 +1,41 @@
|
|||||||
|
{%- set default_cable = '300m' %}
|
||||||
|
|
||||||
{%- set default_cable = '40m' %}
|
{%- 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() %}
|
{%- macro generate_buffer_pool_and_profiles() %}
|
||||||
"BUFFER_POOL": {
|
"BUFFER_POOL": {
|
||||||
|
"ingress_lossless_pool": {
|
||||||
|
"size": "66435732",
|
||||||
|
"type": "ingress",
|
||||||
|
"mode": "dynamic",
|
||||||
|
"xoff": "27400374"
|
||||||
|
},
|
||||||
|
"egress_lossless_pool": {
|
||||||
|
"size": "66435732",
|
||||||
|
"type": "egress",
|
||||||
|
"mode": "static"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"BUFFER_PROFILE": {
|
"BUFFER_PROFILE": {
|
||||||
|
"ingress_lossy_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||||
|
"size":"0",
|
||||||
|
"static_th":"66435732"
|
||||||
},
|
},
|
||||||
{%- endmacro %}
|
"egress_lossless_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||||
{%- macro generate_pg_profils(port_names_active) %}
|
"size":"0",
|
||||||
"BUFFER_PG": {
|
"static_th":"67117468"
|
||||||
},
|
},
|
||||||
{%- endmacro %}
|
"egress_lossy_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||||
{% macro generate_queue_buffers(port_names_active) %}
|
"size":"1778",
|
||||||
"BUFFER_QUEUE": {
|
"dynamic_th":"1"
|
||||||
}
|
}
|
||||||
{% endmacro %}
|
},
|
||||||
|
{%- endmacro %}
|
||||||
|
@ -1,20 +1,41 @@
|
|||||||
|
{%- set default_cable = '300m' %}
|
||||||
|
|
||||||
{%- set default_cable = '40m' %}
|
{%- 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() %}
|
{%- macro generate_buffer_pool_and_profiles() %}
|
||||||
"BUFFER_POOL": {
|
"BUFFER_POOL": {
|
||||||
|
"ingress_lossless_pool": {
|
||||||
|
"size": "66435732",
|
||||||
|
"type": "ingress",
|
||||||
|
"mode": "dynamic",
|
||||||
|
"xoff": "27400374"
|
||||||
|
},
|
||||||
|
"egress_lossless_pool": {
|
||||||
|
"size": "66435732",
|
||||||
|
"type": "egress",
|
||||||
|
"mode": "static"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"BUFFER_PROFILE": {
|
"BUFFER_PROFILE": {
|
||||||
|
"ingress_lossy_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||||
|
"size":"0",
|
||||||
|
"static_th":"66435732"
|
||||||
},
|
},
|
||||||
{%- endmacro %}
|
"egress_lossless_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||||
{%- macro generate_pg_profils(port_names_active) %}
|
"size":"0",
|
||||||
"BUFFER_PG": {
|
"static_th":"67117468"
|
||||||
},
|
},
|
||||||
{%- endmacro %}
|
"egress_lossy_profile": {
|
||||||
|
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||||
{% macro generate_queue_buffers(port_names_active) %}
|
"size":"1778",
|
||||||
"BUFFER_QUEUE": {
|
"dynamic_th":"1"
|
||||||
}
|
}
|
||||||
{% endmacro %}
|
},
|
||||||
|
{%- endmacro %}
|
||||||
|
@ -1,23 +1,12 @@
|
|||||||
# PG lossless profiles.
|
# PG lossless profiles.
|
||||||
# speed cable size xon xoff threshold xon_offset
|
# speed cable size xon xoff threshold xon_offset
|
||||||
10000 5m 1270 0 190500 -2 2540
|
100000 5m 2540 2540 68580 -2 2540
|
||||||
25000 5m 1270 0 190500 -2 2540
|
100000 40m 2540 2540 74422 -2 2540
|
||||||
40000 5m 1270 0 190500 -2 2540
|
100000 300m 2540 2540 117348 -2 2540
|
||||||
50000 5m 1270 0 190500 -2 2540
|
100000 1000m 2540 2540 233172 -2 2540
|
||||||
100000 5m 1270 0 190500 -2 2540
|
100000 2000m 2540 2540 398526 -2 2540
|
||||||
200000 5m 1270 0 190500 -2 2540
|
400000 5m 2540 2540 35776 -2 2540
|
||||||
400000 5m 1270 0 190500 -2 2540
|
400000 40m 2540 2540 53248 -2 2540
|
||||||
10000 40m 1270 0 190500 -2 2540
|
400000 300m 2540 2540 66560 -2 2540
|
||||||
25000 40m 1270 0 190500 -2 2540
|
400000 1000m 2540 2540 79872 -2 2540
|
||||||
40000 40m 1270 0 190500 -2 2540
|
400000 2000m 2540 2540 54528 -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
|
|
||||||
|
@ -1,226 +1 @@
|
|||||||
{%- set PORT_ALL = [] %}
|
{%- include 'qos_config.j2' %}
|
||||||
{%- 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 %}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -44,6 +44,9 @@ l3_mem_entries=40960
|
|||||||
l2xlrn_thread_interval=50000
|
l2xlrn_thread_interval=50000
|
||||||
l2xlrn_intr_en=0
|
l2xlrn_intr_en=0
|
||||||
|
|
||||||
|
sai_optimized_mmu=1
|
||||||
|
mmu_init_config="TH3-MSFT-T1"
|
||||||
|
|
||||||
pbmp_xport_xe=0xffffffFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
|
pbmp_xport_xe=0xffffffFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
|
||||||
|
|
||||||
phy_an_c73=3
|
phy_an_c73=3
|
||||||
|
Reference in New Issue
Block a user