2021-12-10 00:23:26 -06:00
|
|
|
{#
|
|
|
|
Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES.
|
|
|
|
Apache-2.0
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
#}
|
|
|
|
|
2021-09-29 16:14:11 -05:00
|
|
|
{% set default_cable = '5m' %}
|
2021-12-08 07:51:33 -06:00
|
|
|
{% set ingress_lossless_pool_size = '44566528' %}
|
|
|
|
{% set ingress_lossless_xoff_size = '3614720' %}
|
2021-09-29 16:14:11 -05:00
|
|
|
{% set egress_lossless_pool_size = '60817392' %}
|
2021-12-08 07:51:33 -06:00
|
|
|
{% set egress_lossy_pool_size = '44566528' %}
|
2021-09-29 16:14:11 -05:00
|
|
|
|
|
|
|
{%- 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": {
|
|
|
|
{%- if dynamic_mode is not defined %}
|
|
|
|
"size": "{{ ingress_lossless_pool_size }}",
|
|
|
|
"xoff": "{{ ingress_lossless_xoff_size }}",
|
|
|
|
{%- endif %}
|
|
|
|
"type": "ingress",
|
|
|
|
"mode": "dynamic"
|
|
|
|
},
|
|
|
|
"egress_lossless_pool": {
|
|
|
|
"size": "{{ egress_lossless_pool_size }}",
|
|
|
|
"type": "egress",
|
|
|
|
"mode": "dynamic"
|
|
|
|
},
|
|
|
|
"egress_lossy_pool": {
|
|
|
|
{%- if dynamic_mode is not defined %}
|
|
|
|
"size": "{{ egress_lossy_pool_size }}",
|
|
|
|
{%- endif %}
|
|
|
|
"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 %}
|