{% set default_cable = '5m' %} {% set ingress_lossless_pool_size = '8719360' %} {% set ingress_lossless_pool_xoff = '2146304' %} {% set egress_lossless_pool_size = '13945824' %} {% set egress_lossy_pool_size = '8719360' %} {%- 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_pool_xoff }}", {%- 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":"ingress_lossless_pool", "size":"0", "dynamic_th":"7" }, "ingress_lossy_profile": { "pool":"ingress_lossless_pool", "size":"0", "dynamic_th":"3" }, "egress_lossless_profile": { "pool":"egress_lossless_pool", "size":"0", "dynamic_th":"7" }, "egress_lossy_profile": { "pool":"egress_lossy_pool", "size":"9216", "dynamic_th":"7" }, "q_lossy_profile": { "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" : "ingress_lossless_profile" }{% if not loop.last %},{% endif %} {% endfor %} }, "BUFFER_PORT_EGRESS_PROFILE_LIST": { {% for port in port_names.split(',') %} "{{ port }}": { "profile_list" : "egress_lossless_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" : "egress_lossless_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|0-2": { "profile" : "q_lossy_profile" }, {% endfor %} {% for port in port_names.split(',') %} "{{ port }}|5-6": { "profile" : "q_lossy_profile" }{% if not loop.last %},{% endif %} {% endfor %} } {%- endmacro %}