Support single ingress pool for MSFT SKUs and optimize headroom calculation (#4686)
Calculate pool size in t1 as 24 * downlink port + 8 * uplink port - Take both port and peer MTU into account when calculating headroom - Worst case factor is decreased to 50% - Mellanox-SN2700-C28D8 t0, assume 48 * 50G/5m + 8 * 100G/40m ports - Mellanox-SN2700 (C32) - t0: 16 * 100G/5m + 16 * 100G/40m - t1: 16 * 100G/40m + 16 * 100G/300m Signed-off-by: Stephen Sun <stephens@mellanox.com> Co-authored-by: Stephen Sun <stephens@mellanox.com>
This commit is contained in:
parent
a974611fbb
commit
54fcdbb380
@ -1 +0,0 @@
|
||||
ACS-MSN2700
|
@ -1 +1 @@
|
||||
../ACS-MSN2700/buffers_defaults_t0.j2
|
||||
../Mellanox-SN2700-D48C8/buffers_defaults_t0.j2
|
@ -1 +1 @@
|
||||
../ACS-MSN2700/buffers_defaults_t1.j2
|
||||
../Mellanox-SN2700-D48C8/buffers_defaults_t1.j2
|
@ -1 +1 @@
|
||||
../ACS-MSN2700/pg_profile_lookup.ini
|
||||
../Mellanox-SN2700-D48C8/pg_profile_lookup.ini
|
@ -1 +0,0 @@
|
||||
../ACS-MSN2700/buffers_defaults_t0.j2
|
@ -0,0 +1,100 @@
|
||||
{% set default_cable = '5m' %}
|
||||
{% set ingress_lossless_pool_size = '6687744' %}
|
||||
{% set egress_lossless_pool_size = '13945824' %}
|
||||
{% set egress_lossy_pool_size = '6687744' %}
|
||||
|
||||
{%- 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)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "{{ ingress_lossless_pool_size }}",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "{{ egress_lossless_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "{{ egress_lossy_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"9216",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"q_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_profile_lists(port_names) %}
|
||||
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_queue_buffers(port_names) %}
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|5-6": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
../ACS-MSN2700/buffers_defaults_t1.j2
|
@ -0,0 +1,100 @@
|
||||
{% set default_cable = '5m' %}
|
||||
{% set ingress_lossless_pool_size = '8506368' %}
|
||||
{% set egress_lossless_pool_size = '13945824' %}
|
||||
{% set egress_lossy_pool_size = '8506368' %}
|
||||
|
||||
{%- 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)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "{{ ingress_lossless_pool_size }}",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "{{ egress_lossless_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "{{ egress_lossy_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"9216",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"q_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_profile_lists(port_names) %}
|
||||
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_queue_buffers(port_names) %}
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|5-6": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
../ACS-MSN2700/pg_profile_lookup.ini
|
@ -0,0 +1,17 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold
|
||||
10000 5m 41984 19456 22528 0
|
||||
25000 5m 41984 19456 22528 0
|
||||
40000 5m 41984 19456 22528 0
|
||||
50000 5m 41984 19456 22528 0
|
||||
100000 5m 43008 19456 23552 0
|
||||
10000 40m 41984 19456 22528 0
|
||||
25000 40m 44032 19456 24576 0
|
||||
40000 40m 45056 19456 25600 0
|
||||
50000 40m 45056 19456 25600 0
|
||||
100000 40m 49152 19456 29696 0
|
||||
10000 300m 47104 19456 27648 0
|
||||
25000 300m 56320 19456 36864 0
|
||||
40000 300m 64512 19456 45056 0
|
||||
50000 300m 69632 19456 50176 0
|
||||
100000 300m 98304 19456 78848 0
|
@ -0,0 +1 @@
|
||||
../ACS-MSN2700/buffers.json.j2
|
@ -0,0 +1,100 @@
|
||||
{% set default_cable = '5m' %}
|
||||
{% set ingress_lossless_pool_size = '9489408' %}
|
||||
{% set egress_lossless_pool_size = '13945824' %}
|
||||
{% set egress_lossy_pool_size = '9489408' %}
|
||||
|
||||
{%- 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)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "{{ ingress_lossless_pool_size }}",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "{{ egress_lossless_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "{{ egress_lossy_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"9216",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"q_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_profile_lists(port_names) %}
|
||||
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_queue_buffers(port_names) %}
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|5-6": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
{% set default_cable = '5m' %}
|
||||
{% set ingress_lossless_pool_size = '7719936' %}
|
||||
{% set egress_lossless_pool_size = '13945824' %}
|
||||
{% set egress_lossy_pool_size = '7719936' %}
|
||||
|
||||
{%- 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)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "{{ ingress_lossless_pool_size }}",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "{{ egress_lossless_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "{{ egress_lossy_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"9216",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"q_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_profile_lists(port_names) %}
|
||||
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_queue_buffers(port_names) %}
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|5-6": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
|
@ -0,0 +1 @@
|
||||
../Mellanox-SN2700-D48C8/pg_profile_lookup.ini
|
@ -0,0 +1 @@
|
||||
../ACS-MSN2700/port_config.ini
|
@ -0,0 +1 @@
|
||||
../ACS-MSN2700/qos.json.j2
|
@ -0,0 +1 @@
|
||||
../ACS-MSN2700/sai.profile
|
@ -0,0 +1 @@
|
||||
../ACS-MSN2700/sai_2700.xml
|
@ -1 +0,0 @@
|
||||
ACS-MSN3800/
|
@ -0,0 +1 @@
|
||||
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers.json.j2
|
@ -0,0 +1 @@
|
||||
../Mellanox-SN3800-D112C8/buffers_defaults_t0.j2
|
@ -0,0 +1 @@
|
||||
../Mellanox-SN3800-D112C8/buffers_defaults_t1.j2
|
@ -0,0 +1 @@
|
||||
../Mellanox-SN3800-D112C8/pg_profile_lookup.ini
|
@ -0,0 +1 @@
|
||||
../ACS-MSN3800/port_config.ini
|
@ -0,0 +1 @@
|
||||
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/qos.json.j2
|
@ -0,0 +1 @@
|
||||
../ACS-MSN3800/sai.profile
|
@ -0,0 +1 @@
|
||||
../ACS-MSN3800/sai_3800.xml
|
@ -1 +0,0 @@
|
||||
../ACS-MSN3800/buffers_defaults_t0.j2
|
@ -0,0 +1,98 @@
|
||||
{% set default_cable = '5m' %}
|
||||
{% set ingress_lossless_pool_size = '28856320' %}
|
||||
{% set egress_lossless_pool_size = '34287552' %}
|
||||
{% set egress_lossy_pool_size = '28856320' %}
|
||||
|
||||
{%- 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)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "{{ ingress_lossless_pool_size }}",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "{{ egress_lossless_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "{{ egress_lossy_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"9216",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"q_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_profile_lists(port_names) %}
|
||||
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_queue_buffers(port_names) %}
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|5-6": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
@ -1 +0,0 @@
|
||||
../ACS-MSN3800/buffers_defaults_t1.j2
|
@ -0,0 +1,98 @@
|
||||
{% set default_cable = '5m' %}
|
||||
{% set ingress_lossless_pool_size = '27586560' %}
|
||||
{% set egress_lossless_pool_size = '34287552' %}
|
||||
{% set egress_lossy_pool_size = '27586560' %}
|
||||
|
||||
{%- 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)) %}{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_buffer_pool_and_profiles() %}
|
||||
"BUFFER_POOL": {
|
||||
"ingress_lossless_pool": {
|
||||
"size": "{{ ingress_lossless_pool_size }}",
|
||||
"type": "ingress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossless_pool": {
|
||||
"size": "{{ egress_lossless_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
},
|
||||
"egress_lossy_pool": {
|
||||
"size": "{{ egress_lossy_pool_size }}",
|
||||
"type": "egress",
|
||||
"mode": "dynamic"
|
||||
}
|
||||
},
|
||||
"BUFFER_PROFILE": {
|
||||
"ingress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"ingress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
},
|
||||
"egress_lossless_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossless_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"egress_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"9216",
|
||||
"dynamic_th":"7"
|
||||
},
|
||||
"q_lossy_profile": {
|
||||
"pool":"[BUFFER_POOL|egress_lossy_pool]",
|
||||
"size":"0",
|
||||
"dynamic_th":"3"
|
||||
}
|
||||
},
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_profile_lists(port_names) %}
|
||||
"BUFFER_PORT_INGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
},
|
||||
"BUFFER_PORT_EGRESS_PROFILE_LIST": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}": {
|
||||
"profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro generate_queue_buffers(port_names) %}
|
||||
"BUFFER_QUEUE": {
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|3-4": {
|
||||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|0-2": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
},
|
||||
{% endfor %}
|
||||
{% for port in port_names.split(',') %}
|
||||
"{{ port }}|5-6": {
|
||||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]"
|
||||
}{% if not loop.last %},{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
}
|
||||
{%- endmacro %}
|
@ -1 +0,0 @@
|
||||
../ACS-MSN3800/pg_profile_lookup.ini
|
@ -0,0 +1,17 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold
|
||||
10000 5m 45056 19456 25600 0
|
||||
25000 5m 48128 19456 28672 0
|
||||
40000 5m 50176 19456 30720 0
|
||||
50000 5m 52224 19456 32768 0
|
||||
100000 5m 60416 19456 40960 0
|
||||
10000 40m 46080 19456 26624 0
|
||||
25000 40m 50176 19456 30720 0
|
||||
40000 40m 53248 19456 33792 0
|
||||
50000 40m 56320 19456 36864 0
|
||||
100000 40m 67584 19456 48128 0
|
||||
10000 300m 51200 19456 31744 0
|
||||
25000 300m 63488 19456 44032 0
|
||||
40000 300m 74752 19456 55296 0
|
||||
50000 300m 82944 19456 63488 0
|
||||
100000 300m 121856 19456 102400 0
|
@ -1 +1 @@
|
||||
../ACS-MSN3800/buffers_defaults_t0.j2
|
||||
../Mellanox-SN3800-D112C8/buffers_defaults_t0.j2
|
@ -1 +1 @@
|
||||
../ACS-MSN3800/buffers_defaults_t1.j2
|
||||
../Mellanox-SN3800-D112C8/buffers_defaults_t1.j2
|
@ -1 +1 @@
|
||||
../ACS-MSN3800/pg_profile_lookup.ini
|
||||
../Mellanox-SN3800-D112C8/pg_profile_lookup.ini
|
@ -1 +1 @@
|
||||
../ACS-MSN3800/buffers_defaults_t0.j2
|
||||
../Mellanox-SN3800-D112C8/buffers_defaults_t0.j2
|
@ -1 +1 @@
|
||||
../ACS-MSN3800/buffers_defaults_t1.j2
|
||||
../Mellanox-SN3800-D112C8/buffers_defaults_t1.j2
|
@ -1 +1 @@
|
||||
../ACS-MSN3800/pg_profile_lookup.ini
|
||||
../Mellanox-SN3800-D112C8/pg_profile_lookup.ini
|
@ -1,7 +1,7 @@
|
||||
{% set default_cable = '5m' %}
|
||||
{% set ingress_lossless_pool_size = '57499648' %}
|
||||
{% set ingress_lossless_pool_size = '56369152' %}
|
||||
{% set egress_lossless_pool_size = '60817392' %}
|
||||
{% set egress_lossy_pool_size = '57499648' %}
|
||||
{% set egress_lossy_pool_size = '56369152' %}
|
||||
|
||||
{%- macro generate_port_lists(PORT_ALL) %}
|
||||
{# Generate list of ports #}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{% set default_cable = '5m' %}
|
||||
{% set ingress_lossless_pool_size = '52363264' %}
|
||||
{% set ingress_lossless_pool_size = '55115776' %}
|
||||
{% set egress_lossless_pool_size = '60817392' %}
|
||||
{% set egress_lossy_pool_size = '52363264' %}
|
||||
{% set egress_lossy_pool_size = '55115776' %}
|
||||
|
||||
{%- macro generate_port_lists(PORT_ALL) %}
|
||||
{# Generate list of ports #}
|
||||
|
@ -1 +0,0 @@
|
||||
../ACS-MSN4600C/pg_profile_lookup.ini
|
@ -0,0 +1,17 @@
|
||||
# PG lossless profiles.
|
||||
# speed cable size xon xoff threshold
|
||||
10000 5m 44032 19456 24576 0
|
||||
25000 5m 44032 19456 24576 0
|
||||
40000 5m 44032 19456 24576 0
|
||||
50000 5m 44032 19456 24576 0
|
||||
100000 5m 45056 19456 25600 0
|
||||
10000 40m 44032 19456 24576 0
|
||||
25000 40m 46080 19456 26624 0
|
||||
40000 40m 47104 19456 27648 0
|
||||
50000 40m 48128 19456 28672 0
|
||||
100000 40m 52224 19456 32768 0
|
||||
10000 300m 50176 19456 30720 0
|
||||
25000 300m 59392 19456 39936 0
|
||||
40000 300m 68608 19456 49152 0
|
||||
50000 300m 74752 19456 55296 0
|
||||
100000 300m 105472 19456 86016 0
|
Reference in New Issue
Block a user