[Chassis][Voq]update to add buffer_queue config on system ports (#12156)

Why I did it
In the voq chassis the buffer_queue configuration needs to be applied on system_port instead of the sonic port.
This PR has the change to do this.

How I did it
Modify buffer_config.j2 to generate buffer_queue configuration on system_ports if the device is Voq Chassis

How to verify it
Verify the buffer_queue configuration is generated properly using sonic-cfggen

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
This commit is contained in:
Arvindsrinivasan Lakshmi Narasimhan 2022-12-31 23:59:54 -08:00 committed by GitHub
parent 38c5d7fcec
commit a57fa16839
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 2181 additions and 360 deletions

View File

@ -21,6 +21,11 @@ def
{%- set switch_role = '' %}
{%- endif -%}
{% set voq_chassis = false %}
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost']['switch_type'] is defined and DEVICE_METADATA['localhost']['switch_type'] == 'voq' %}
{%- set voq_chassis = true %}
{%- endif -%}
{# Import default values from device HWSKU folder #}
{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs with context %}
@ -94,7 +99,20 @@ def
{%- endmacro %}
{%- set PORT_ALL = [] %}
{%- set SYSTEM_PORT_ALL = [] %}
{%- if voq_chassis %}
{%- for system_port in SYSTEM_PORT %}
{% if '|' not in system_port %}
{%- set system_port_name = system_port|join("|") %}
{% else %}
{%- set system_port_name = system_port %}
{% endif %}
{%- if 'cpu' not in system_port_name.lower() and 'IB' not in system_port_name and 'Rec' not in system_port_name %}
{%- if SYSTEM_PORT_ALL.append(system_port_name) %}{%- endif %}
{%- endif %}
{%- endfor %}
{%- endif %}
{%- if PORT is not defined %}
{%- if defs.generate_port_lists is defined %}
{%- if defs.generate_port_lists(PORT_ALL) %} {% endif %}
@ -190,6 +208,26 @@ def
},
{% endif %}
{% if voq_chassis %}
"BUFFER_QUEUE": {
{% for system_port in SYSTEM_PORT_ALL %}
"{{ system_port }}|3-4": {
"profile" : "egress_lossless_profile"
},
{% endfor %}
{% for system_port in SYSTEM_PORT_ALL %}
"{{ system_port }}|0-2": {
"profile" : "egress_lossy_profile"
},
{% endfor %}
{% for system_port in SYSTEM_PORT_ALL %}
"{{ system_port }}|5-6": {
"profile" : "egress_lossy_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
{% else %}
{% if (defs.generate_queue_buffers_with_extra_lossless_queues_with_inactive_ports is defined) and (port_names_extra_queues != '') %}
{{ defs.generate_queue_buffers_with_extra_lossless_queues_with_inactive_ports(port_names_active, port_names_extra_queues, port_names_inactive) }}
{% elif (defs.generate_queue_buffers_with_extra_lossless_queues is defined) and (port_names_extra_queues != '') %}
@ -218,6 +256,7 @@ def
{% endfor %}
}
{% endif %}
{% endif %}
{%- if dynamic_mode is defined -%}
,
{%- endif -%}