diff --git a/device/mellanox/x86_64-mlnx_msn2010-r0/ACS-MSN2010/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2010-r0/ACS-MSN2010/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2010-r0/ACS-MSN2010/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn2100-r0/ACS-MSN2100/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2100-r0/ACS-MSN2100/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2100-r0/ACS-MSN2100/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn2410-r0/ACS-MSN2410/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2410-r0/ACS-MSN2410/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2410-r0/ACS-MSN2410/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
new file mode 100644
index 0000000000..29a3c74e52
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
@@ -0,0 +1,229 @@
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+ "BUFFER_POOL": {
+ {% if dynamic_mode is not defined and port_names_inactive|length > 0 -%}
+ "ingress_zero_pool" : {
+ "mode": "static",
+ "type": "ingress",
+ "size": "0"
+ },
+ {% endif -%}
+ "ingress_lossless_pool": {
+ {% if dynamic_mode is not defined -%}
+ "size": "{{ ingress_lossless_pool_size }}",
+ {% endif -%}
+ "type": "ingress",
+ "mode": "dynamic"
+ },
+ "ingress_lossy_pool": {
+ {% if dynamic_mode is not defined -%}
+ "size": "{{ ingress_lossy_pool_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": {
+ {% if dynamic_mode is not defined and port_names_inactive|length > 0 -%}
+ "ingress_lossy_pg_zero_profile" : {
+ "pool":"ingress_zero_pool",
+ "size":"0",
+ "static_th":"0"
+ },
+ "ingress_lossless_zero_profile" : {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "ingress_lossy_zero_profile" : {
+ "pool":"ingress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossless_zero_profile" : {
+ "pool":"egress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossy_zero_profile" : {
+ "pool":"egress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ {% endif -%}
+ "ingress_lossless_profile": {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"7"
+ },
+ "ingress_lossy_profile": {
+ "pool":"ingress_lossy_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_active, port_names_inactive) %}
+ "BUFFER_PORT_INGRESS_PROFILE_LIST": {
+{% for port in port_names_active.split(',') %}
+ "{{ port }}": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% if port_names_inactive|length > 0 %}
+,
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}": {
+{% if dynamic_mode is defined %}
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+{% else %}
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+{% endif %}
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% endif %}
+ },
+ "BUFFER_PORT_EGRESS_PROFILE_LIST": {
+{% for port in port_names_active.split(',') %}
+ "{{ port }}": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% if port_names_inactive|length > 0 %}
+,
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}": {
+{% if dynamic_mode is defined %}
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+{% else %}
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+{% endif %}
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% endif %}
+ }
+{%- endmacro %}
+
+{%- macro generate_queue_buffers(port_names_active, port_names_inactive) %}
+ "BUFFER_QUEUE": {
+{% for port in port_names_active.split(',') %}
+ "{{ port }}|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+{% endfor %}
+{% for port in port_names_active.split(',') %}
+ "{{ port }}|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+{% endfor %}
+{% for port in port_names_active.split(',') %}
+ "{{ port }}|5-6": {
+ "profile" : "q_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% if port_names_inactive|length > 0 %}
+,
+{% if dynamic_mode is defined %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+{% endfor %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+{% endfor %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|5-6": {
+ "profile" : "q_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% else %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+{% endfor %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+{% endfor %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% endif %}
+{% endif %}
+ }
+{%- endmacro %}
+
+{%- macro generate_pg_profiles(port_names_active, port_names_inactive) %}
+ "BUFFER_PG": {
+{% for port in port_names_active.split(',') %}
+{% if dynamic_mode is defined %}
+ "{{ port }}|3-4": {
+ "profile" : "NULL"
+ },
+{% endif %}
+ "{{ port }}|0": {
+ "profile" : "ingress_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% if port_names_inactive|length > 0 %}
+{%- for port in port_names_inactive.split(',') %}
+ {%- if loop.first -%},{%- endif -%}
+{% if dynamic_mode is defined %}
+ "{{ port }}|3-4": {
+ "profile" : "NULL"
+ },
+{% endif %}
+ "{{ port }}|0": {
+{% if dynamic_mode is defined %}
+ "profile" : "ingress_lossy_profile"
+{% else %}
+ "profile" : "ingress_lossy_pg_zero_profile"
+{% endif %}
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% endif %}
+ }
+{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2
index fa419e5a85..37d3395a43 100644
--- a/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2
@@ -20,109 +20,20 @@
{% set egress_lossless_pool_size = '13945824' %}
{% set egress_lossy_pool_size = '4580864' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossless_pool_size }}",
- {%- endif %}
- "type": "ingress",
- "mode": "dynamic"
- },
- "ingress_lossy_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossy_pool_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":"ingress_lossless_pool",
- "size":"0",
- "dynamic_th":"7"
- },
- "ingress_lossy_profile": {
- "pool":"ingress_lossy_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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_profile_lists(port_names) %}
- "BUFFER_PORT_INGRESS_PROFILE_LIST": {
-{% for port in port_names.split(',') %}
- "{{ port }}": {
- "profile_list" : "ingress_lossless_profile,ingress_lossy_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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2
index e1b3419283..ca3410fabf 100644
--- a/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2
@@ -20,109 +20,20 @@
{% set egress_lossless_pool_size = '13945824' %}
{% set egress_lossy_pool_size = '3302912' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossless_pool_size }}",
- {%- endif %}
- "type": "ingress",
- "mode": "dynamic"
- },
- "ingress_lossy_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossy_pool_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":"ingress_lossless_pool",
- "size":"0",
- "dynamic_th":"7"
- },
- "ingress_lossy_profile": {
- "pool":"ingress_lossy_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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_profile_lists(port_names) %}
- "BUFFER_PORT_INGRESS_PROFILE_LIST": {
-{% for port in port_names.split(',') %}
- "{{ port }}": {
- "profile_list" : "ingress_lossless_profile,ingress_lossy_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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-C28D8/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-C28D8/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-C28D8/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D40C8S8/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D40C8S8/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D40C8S8/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
new file mode 100644
index 0000000000..9201417558
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
@@ -0,0 +1,218 @@
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+ "BUFFER_POOL": {
+ {% if dynamic_mode is not defined and port_names_inactive|length > 0 -%}
+ "ingress_zero_pool" : {
+ "mode": "static",
+ "type": "ingress",
+ "size": "0"
+ },
+ {% endif -%}
+ "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": {
+ {% if dynamic_mode is not defined and port_names_inactive|length > 0 -%}
+ "ingress_lossy_pg_zero_profile" : {
+ "pool":"ingress_zero_pool",
+ "size":"0",
+ "static_th":"0"
+ },
+ "ingress_lossless_zero_profile" : {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossless_zero_profile" : {
+ "pool":"egress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossy_zero_profile" : {
+ "pool":"egress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ {% endif -%}
+ "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_active, port_names_inactive) %}
+ "BUFFER_PORT_INGRESS_PROFILE_LIST": {
+{% for port in port_names_active.split(',') %}
+ "{{ port }}": {
+ "profile_list" : "ingress_lossless_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% if port_names_inactive|length > 0 %}
+,
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}": {
+{% if dynamic_mode is defined %}
+ "profile_list" : "ingress_lossless_profile"
+{% else %}
+ "profile_list" : "ingress_lossless_zero_profile"
+{% endif %}
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% endif %}
+ },
+ "BUFFER_PORT_EGRESS_PROFILE_LIST": {
+{% for port in port_names_active.split(',') %}
+ "{{ port }}": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% if port_names_inactive|length > 0 %}
+,
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}": {
+{% if dynamic_mode is defined %}
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+{% else %}
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+{% endif %}
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% endif %}
+ }
+{%- endmacro %}
+
+{%- macro generate_queue_buffers(port_names_active, port_names_inactive) %}
+ "BUFFER_QUEUE": {
+{% for port in port_names_active.split(',') %}
+ "{{ port }}|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+{% endfor %}
+{% for port in port_names_active.split(',') %}
+ "{{ port }}|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+{% endfor %}
+{% for port in port_names_active.split(',') %}
+ "{{ port }}|5-6": {
+ "profile" : "q_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% if port_names_inactive|length > 0 %}
+,
+{% if dynamic_mode is defined %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+{% endfor %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+{% endfor %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|5-6": {
+ "profile" : "q_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% else %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+{% endfor %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+{% endfor %}
+{% for port in port_names_inactive.split(',') %}
+ "{{ port }}|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% endif %}
+{% endif %}
+ }
+{%- endmacro %}
+
+{%- macro generate_pg_profiles(port_names_active, port_names_inactive) %}
+ "BUFFER_PG": {
+{% for port in port_names_active.split(',') %}
+{% if dynamic_mode is defined %}
+ "{{ port }}|3-4": {
+ "profile" : "NULL"
+ },
+{% endif %}
+ "{{ port }}|0": {
+ "profile" : "ingress_lossy_profile"
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% if port_names_inactive|length > 0 %}
+{%- for port in port_names_inactive.split(',') %}
+ {%- if loop.first -%},{%- endif -%}
+{% if dynamic_mode is defined %}
+ "{{ port }}|3-4": {
+ "profile" : "NULL"
+ },
+{% endif %}
+ "{{ port }}|0": {
+{% if dynamic_mode is defined %}
+ "profile" : "ingress_lossy_profile"
+{% else %}
+ "profile" : "ingress_lossy_pg_zero_profile"
+{% endif %}
+ }{% if not loop.last %},{% endif %}
+
+{% endfor %}
+{% endif %}
+ }
+{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2
index 0223726dc3..3a3f2499c8 100644
--- a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_t0.j2
@@ -20,103 +20,20 @@
{% 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2
index facab67a7a..97965488ea 100644
--- a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_t1.j2
@@ -20,103 +20,20 @@
{% set egress_lossless_pool_size = '13945824' %}
{% set egress_lossy_pool_size = '9686016' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_t0.j2
index a3ab8870f7..e36cc754fa 100644
--- a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_t0.j2
@@ -20,103 +20,20 @@
{% set egress_lossless_pool_size = '13945824' %}
{% set egress_lossy_pool_size = '10177536' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_t1.j2
index 5f58f631ed..d7f9dddd55 100644
--- a/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn2700-r0/Mellanox-SN2700/buffers_defaults_t1.j2
@@ -20,103 +20,20 @@
{% 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn2740-r0/ACS-MSN2740/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn2740-r0/ACS-MSN2740/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn2740-r0/ACS-MSN2740/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3420-r0/ACS-MSN3420/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3420-r0/ACS-MSN3420/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3420-r0/ACS-MSN3420/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t0.j2
index 58976bb6b1..624bccc3da 100644
--- a/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t0.j2
@@ -20,107 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '14542848' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossless_pool_size }}",
- {%- endif %}
- "type": "ingress",
- "mode": "dynamic"
- },
- "ingress_lossy_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossy_pool_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":"ingress_lossless_pool",
- "size":"0",
- "dynamic_th":"7"
- },
- "ingress_lossy_profile": {
- "pool":"ingress_lossy_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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_profile_lists(port_names) %}
- "BUFFER_PORT_INGRESS_PROFILE_LIST": {
-{% for port in port_names.split(',') %}
- "{{ port }}": {
- "profile_list" : "ingress_lossless_profile,ingress_lossy_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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t1.j2
index a084319353..106bc95c7c 100644
--- a/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn3700-r0/ACS-MSN3700/buffers_defaults_t1.j2
@@ -20,107 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '11622400' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossless_pool_size }}",
- {%- endif %}
- "type": "ingress",
- "mode": "dynamic"
- },
- "ingress_lossy_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossy_pool_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":"ingress_lossless_pool",
- "size":"0",
- "dynamic_th":"7"
- },
- "ingress_lossy_profile": {
- "pool":"ingress_lossy_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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_profile_lists(port_names) %}
- "BUFFER_PORT_INGRESS_PROFILE_LIST": {
-{% for port in port_names.split(',') %}
- "{{ port }}": {
- "profile_list" : "ingress_lossless_profile,ingress_lossy_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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3700c-r0/ACS-MSN3700C/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3700c-r0/ACS-MSN3700C/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3700c-r0/ACS-MSN3700C/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_t0.j2
index 94c758ddbe..6f6774e3b9 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_t0.j2
@@ -20,107 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '13924352' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossless_pool_size }}",
- {%- endif %}
- "type": "ingress",
- "mode": "dynamic"
- },
- "ingress_lossy_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossy_pool_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":"ingress_lossless_pool",
- "size":"0",
- "dynamic_th":"7"
- },
- "ingress_lossy_profile": {
- "pool":"ingress_lossy_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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_profile_lists(port_names) %}
- "BUFFER_PORT_INGRESS_PROFILE_LIST": {
-{% for port in port_names.split(',') %}
- "{{ port }}": {
- "profile_list" : "ingress_lossless_profile,ingress_lossy_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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_t1.j2
index 22c6836a58..c3781ef6d5 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/ACS-MSN3800/buffers_defaults_t1.j2
@@ -20,107 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '12457984' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossless_pool_size }}",
- {%- endif %}
- "type": "ingress",
- "mode": "dynamic"
- },
- "ingress_lossy_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossy_pool_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":"ingress_lossless_pool",
- "size":"0",
- "dynamic_th":"7"
- },
- "ingress_lossy_profile": {
- "pool":"ingress_lossy_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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_profile_lists(port_names) %}
- "BUFFER_PORT_INGRESS_PROFILE_LIST": {
-{% for port in port_names.split(',') %}
- "{{ port }}": {
- "profile_list" : "ingress_lossless_profile,ingress_lossy_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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_t0.j2
index a1df6848c7..a993c2f230 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_t0.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '25866240' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_t1.j2
index d7c057f7d2..0482d37d4f 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-C64/buffers_defaults_t1.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '24219648' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2
index ccaaff955b..fa9a1c4d10 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2
@@ -20,97 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '20664320' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- "size": "{{ ingress_lossless_pool_size }}",
- "xoff": "{{ ingress_lossless_xoff_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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2
index 5a45a617d5..eb2094ddfe 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2
@@ -20,97 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '19601408' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- "size": "{{ ingress_lossless_pool_size }}",
- "xoff": "{{ ingress_lossless_xoff_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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_t0.j2
index a741c0fe23..7e3236b2f1 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_t0.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '20017152' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_t1.j2
index 3b1265ec17..2282534322 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D112C8/buffers_defaults_t1.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '19124224' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_t0.j2
index b4baab413a..41c55324b6 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_t0.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '24576000' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_t1.j2
index d02d98764c..a3daf90d63 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D24C52/buffers_defaults_t1.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '22597632' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_t0.j2
index 4e1560babb..d465c68c16 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_t0.j2
@@ -20,97 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '24360960' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- "size": "{{ ingress_lossless_pool_size }}",
- "xoff": "{{ ingress_lossless_pool_xoff }}",
- "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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_t1.j2
index be58953df2..f2f57077c4 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C49S1/buffers_defaults_t1.j2
@@ -20,97 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '22380544' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- "size": "{{ ingress_lossless_pool_size }}",
- "xoff": "{{ ingress_lossless_pool_xoff }}",
- "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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2
index 8327f32a7c..d465c68c16 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_t0.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '24360960' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2
index baeab2cc77..f2f57077c4 100644
--- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D28C50/buffers_defaults_t1.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '22380544' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn4410-r0/ACS-MSN4410/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4410-r0/ACS-MSN4410/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn4410-r0/ACS-MSN4410/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn4600-r0/ACS-MSN4600/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4600-r0/ACS-MSN4600/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn4600-r0/ACS-MSN4600/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/ACS-MSN4600C/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/ACS-MSN4600C/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/ACS-MSN4600C/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2
index 7495b010d3..9b624e8af5 100644
--- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t0.j2
@@ -20,103 +20,20 @@
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '53379072' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2
index aa8a9990bd..474c9caff5 100644
--- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-C64/buffers_defaults_t1.j2
@@ -20,103 +20,20 @@
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '52723712' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t0.j2
index 9c2309d88a..ed9ef2273e 100644
--- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t0.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '47587328' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t1.j2
index 249c605714..fa145ce77a 100644
--- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D112C8/buffers_defaults_t1.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '46702592' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..c01aebb7ae
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/Mellanox-SN2700-D48C8/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t0.j2
index 3051dc09ac..4f4997a615 100644
--- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t0.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '50995200' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t1.j2
index 4b1b662229..5100d2787c 100644
--- a/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn4600c-r0/Mellanox-SN4600C-D48C40/buffers_defaults_t1.j2
@@ -20,101 +20,20 @@
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '50143232' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- 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":"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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_t0.j2
index dd6bfe64cf..2120531db8 100644
--- a/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_t0.j2
+++ b/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_t0.j2
@@ -20,109 +20,20 @@
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '26451968' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossless_pool_size }}",
- {%- endif %}
- "type": "ingress",
- "mode": "dynamic"
- },
- "ingress_lossy_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossy_pool_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":"ingress_lossless_pool",
- "size":"0",
- "dynamic_th":"7"
- },
- "ingress_lossy_profile": {
- "pool":"ingress_lossy_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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_profile_lists(port_names) %}
- "BUFFER_PORT_INGRESS_PROFILE_LIST": {
-{% for port in port_names.split(',') %}
- "{{ port }}": {
- "profile_list" : "ingress_lossless_profile,ingress_lossy_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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_t1.j2
index c46d7be883..61d972955e 100644
--- a/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_t1.j2
+++ b/device/mellanox/x86_64-mlnx_msn4700-r0/ACS-MSN4700/buffers_defaults_t1.j2
@@ -20,109 +20,20 @@
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '20627456' %}
-{%- 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 %}
+{% import 'buffers_defaults_objects.j2' as defs with context %}
+
+{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %}
+{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_buffer_pool_and_profiles() %}
- "BUFFER_POOL": {
- "ingress_lossless_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossless_pool_size }}",
- {%- endif %}
- "type": "ingress",
- "mode": "dynamic"
- },
- "ingress_lossy_pool": {
- {%- if dynamic_mode is not defined %}
- "size": "{{ ingress_lossy_pool_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":"ingress_lossless_pool",
- "size":"0",
- "dynamic_th":"7"
- },
- "ingress_lossy_profile": {
- "pool":"ingress_lossy_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"
- }
- },
+{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }}
{%- endmacro %}
-{%- macro generate_profile_lists(port_names) %}
- "BUFFER_PORT_INGRESS_PROFILE_LIST": {
-{% for port in port_names.split(',') %}
- "{{ port }}": {
- "profile_list" : "ingress_lossless_profile,ingress_lossy_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 %}
- }
+{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }}
{%- 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 %}
- }
+{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %}
+{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }}
{%- endmacro %}
-
-
diff --git a/device/mellanox/x86_64-mlnx_msn4800-r0/ACS-MSN4800/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4800-r0/ACS-MSN4800/buffers_defaults_objects.j2
new file mode 120000
index 0000000000..33b6704f99
--- /dev/null
+++ b/device/mellanox/x86_64-mlnx_msn4800-r0/ACS-MSN4800/buffers_defaults_objects.j2
@@ -0,0 +1 @@
+../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_objects.j2
\ No newline at end of file
diff --git a/platform/mellanox/zero_profiles.j2 b/platform/mellanox/zero_profiles.j2
new file mode 100644
index 0000000000..a953c18409
--- /dev/null
+++ b/platform/mellanox/zero_profiles.j2
@@ -0,0 +1,57 @@
+[
+ {
+ "BUFFER_POOL_TABLE:ingress_zero_pool": {
+ "mode": "static",
+ "type": "ingress",
+ "size": "0"
+ },
+ "OP": "SET"
+ },
+ {
+ "BUFFER_PROFILE_TABLE:ingress_lossy_pg_zero_profile" : {
+ "pool":"ingress_zero_pool",
+ "size":"0",
+ "static_th":"0"
+ },
+ "OP": "SET"
+ },
+ {
+ "BUFFER_PROFILE_TABLE:ingress_lossy_zero_profile" : {
+ "pool":"ingress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "OP": "SET"
+ },
+ {
+ "BUFFER_PROFILE_TABLE:ingress_lossless_zero_profile" : {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "OP": "SET"
+ },
+ {
+ "BUFFER_PROFILE_TABLE:egress_lossy_zero_profile" : {
+ "pool":"egress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "OP": "SET"
+ },
+ {
+ "BUFFER_PROFILE_TABLE:egress_lossless_zero_profile" : {
+ "pool":"egress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "OP": "SET"
+ },
+ {
+ "control_fields" : {
+ "pgs_to_apply_zero_profile":"0",
+ "ingress_zero_profile":"ingress_lossy_pg_zero_profile"
+ },
+ "OP": "SET"
+ }
+]
diff --git a/src/sonic-config-engine/tests/sample-mellanox-2410-t1-minigraph.xml b/src/sonic-config-engine/tests/sample-mellanox-2410-t1-minigraph.xml
new file mode 100644
index 0000000000..b6d14c9451
--- /dev/null
+++ b/src/sonic-config-engine/tests/sample-mellanox-2410-t1-minigraph.xml
@@ -0,0 +1,2303 @@
+
+
+
+
+
+ false
+ sonic
+ 10.0.0.32
+ ARISTA01T0
+ 10.0.0.33
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::41
+ ARISTA01T0
+ FC00::42
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.0
+ ARISTA01T2
+ 10.0.0.1
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::1
+ ARISTA01T2
+ FC00::2
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.34
+ ARISTA02T0
+ 10.0.0.35
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::45
+ ARISTA02T0
+ FC00::46
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.36
+ ARISTA03T0
+ 10.0.0.37
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::49
+ ARISTA03T0
+ FC00::4A
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.4
+ ARISTA03T2
+ 10.0.0.5
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::9
+ ARISTA03T2
+ FC00::A
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.38
+ ARISTA04T0
+ 10.0.0.39
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::4D
+ ARISTA04T0
+ FC00::4E
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.40
+ ARISTA05T0
+ 10.0.0.41
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::51
+ ARISTA05T0
+ FC00::52
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.8
+ ARISTA05T2
+ 10.0.0.9
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::11
+ ARISTA05T2
+ FC00::12
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.42
+ ARISTA06T0
+ 10.0.0.43
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::55
+ ARISTA06T0
+ FC00::56
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.44
+ ARISTA07T0
+ 10.0.0.45
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::59
+ ARISTA07T0
+ FC00::5A
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.12
+ ARISTA07T2
+ 10.0.0.13
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::19
+ ARISTA07T2
+ FC00::1A
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.46
+ ARISTA08T0
+ 10.0.0.47
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::5D
+ ARISTA08T0
+ FC00::5E
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.48
+ ARISTA09T0
+ 10.0.0.49
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::61
+ ARISTA09T0
+ FC00::62
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.16
+ ARISTA09T2
+ 10.0.0.17
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::21
+ ARISTA09T2
+ FC00::22
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.50
+ ARISTA10T0
+ 10.0.0.51
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::65
+ ARISTA10T0
+ FC00::66
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.52
+ ARISTA11T0
+ 10.0.0.53
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::69
+ ARISTA11T0
+ FC00::6A
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.20
+ ARISTA11T2
+ 10.0.0.21
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::29
+ ARISTA11T2
+ FC00::2A
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.54
+ ARISTA12T0
+ 10.0.0.55
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::6D
+ ARISTA12T0
+ FC00::6E
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.56
+ ARISTA13T0
+ 10.0.0.57
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::71
+ ARISTA13T0
+ FC00::72
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.24
+ ARISTA13T2
+ 10.0.0.25
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::31
+ ARISTA13T2
+ FC00::32
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.58
+ ARISTA14T0
+ 10.0.0.59
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::75
+ ARISTA14T0
+ FC00::76
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.60
+ ARISTA15T0
+ 10.0.0.61
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::79
+ ARISTA15T0
+ FC00::7A
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.28
+ ARISTA15T2
+ 10.0.0.29
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::39
+ ARISTA15T2
+ FC00::3A
+ 1
+ 10
+ 3
+
+
+ false
+ sonic
+ 10.0.0.62
+ ARISTA16T0
+ 10.0.0.63
+ 1
+ 10
+ 3
+
+
+ sonic
+ FC00::7D
+ ARISTA16T0
+ FC00::7E
+ 1
+ 10
+ 3
+
+
+
+
+ 65100
+ sonic
+
+
+ 10.0.0.33
+
+
+
+
+
+ 10.0.0.1
+
+
+
+
+
+ 10.0.0.35
+
+
+
+
+
+ 10.0.0.37
+
+
+
+
+
+ 10.0.0.5
+
+
+
+
+
+ 10.0.0.39
+
+
+
+
+
+ 10.0.0.41
+
+
+
+
+
+ 10.0.0.9
+
+
+
+
+
+ 10.0.0.43
+
+
+
+
+
+ 10.0.0.45
+
+
+
+
+
+ 10.0.0.13
+
+
+
+
+
+ 10.0.0.47
+
+
+
+
+
+ 10.0.0.49
+
+
+
+
+
+ 10.0.0.17
+
+
+
+
+
+ 10.0.0.51
+
+
+
+
+
+ 10.0.0.53
+
+
+
+
+
+ 10.0.0.21
+
+
+
+
+
+ 10.0.0.55
+
+
+
+
+
+ 10.0.0.57
+
+
+
+
+
+ 10.0.0.25
+
+
+
+
+
+ 10.0.0.59
+
+
+
+
+
+ 10.0.0.61
+
+
+
+
+
+ 10.0.0.29
+
+
+
+
+
+ 10.0.0.63
+
+
+
+
+
+
+
+
+ 64001
+ ARISTA01T0
+
+
+
+ 65200
+ ARISTA01T2
+
+
+
+ 64002
+ ARISTA02T0
+
+
+
+ 64003
+ ARISTA03T0
+
+
+
+ 65200
+ ARISTA03T2
+
+
+
+ 64004
+ ARISTA04T0
+
+
+
+ 64005
+ ARISTA05T0
+
+
+
+ 65200
+ ARISTA05T2
+
+
+
+ 64006
+ ARISTA06T0
+
+
+
+ 64007
+ ARISTA07T0
+
+
+
+ 65200
+ ARISTA07T2
+
+
+
+ 64008
+ ARISTA08T0
+
+
+
+ 64009
+ ARISTA09T0
+
+
+
+ 65200
+ ARISTA09T2
+
+
+
+ 64010
+ ARISTA10T0
+
+
+
+ 64011
+ ARISTA11T0
+
+
+
+ 65200
+ ARISTA11T2
+
+
+
+ 64012
+ ARISTA12T0
+
+
+
+ 64013
+ ARISTA13T0
+
+
+
+ 65200
+ ARISTA13T2
+
+
+
+ 64014
+ ARISTA14T0
+
+
+
+ 64015
+ ARISTA15T0
+
+
+
+ 65200
+ ARISTA15T2
+
+
+
+ 64016
+ ARISTA16T0
+
+
+
+
+
+
+
+
+
+ HostIP
+ Loopback0
+
+ 10.1.0.32/32
+
+ 10.1.0.32/32
+
+
+ HostIP1
+ Loopback0
+
+ FC00:1::32/128
+
+ FC00:1::32/128
+
+
+
+ HostIP
+ eth0
+
+ 10.100.0.100/24
+
+ 10.100.0.100/24
+
+
+ V6HostIP
+ eth0
+
+ fe80::9a03:9bff:fe82:f226/64
+
+ fe80::9a03:9bff:fe82:f226/64
+
+
+
+
+
+
+ sonic
+
+
+ PortChannel0002
+ Ethernet0;Ethernet4
+
+
+
+ PortChannel0005
+ Ethernet8;Ethernet12
+
+
+
+ PortChannel0008
+ Ethernet16;Ethernet20
+
+
+
+ PortChannel0011
+ Ethernet24;Ethernet28
+
+
+
+ PortChannel0014
+ Ethernet32;Ethernet36
+
+
+
+ PortChannel0017
+ Ethernet40;Ethernet44
+
+
+
+ PortChannel0020
+ Ethernet48;Ethernet52
+
+
+
+ PortChannel0023
+ Ethernet56;Ethernet60
+
+
+
+
+
+
+
+
+ Ethernet64
+ 10.0.0.32/31
+
+
+
+ Ethernet64
+ FC00::41/126
+
+
+
+ PortChannel0002
+ 10.0.0.0/31
+
+
+
+ PortChannel0002
+ FC00::1/126
+
+
+
+ Ethernet68
+ 10.0.0.34/31
+
+
+
+ Ethernet68
+ FC00::45/126
+
+
+
+ Ethernet72
+ 10.0.0.36/31
+
+
+
+ Ethernet72
+ FC00::49/126
+
+
+
+ PortChannel0005
+ 10.0.0.4/31
+
+
+
+ PortChannel0005
+ FC00::9/126
+
+
+
+ Ethernet76
+ 10.0.0.38/31
+
+
+
+ Ethernet76
+ FC00::4D/126
+
+
+
+ Ethernet80
+ 10.0.0.40/31
+
+
+
+ Ethernet80
+ FC00::51/126
+
+
+
+ PortChannel0008
+ 10.0.0.8/31
+
+
+
+ PortChannel0008
+ FC00::11/126
+
+
+
+ Ethernet84
+ 10.0.0.42/31
+
+
+
+ Ethernet84
+ FC00::55/126
+
+
+
+ Ethernet88
+ 10.0.0.44/31
+
+
+
+ Ethernet88
+ FC00::59/126
+
+
+
+ PortChannel0011
+ 10.0.0.12/31
+
+
+
+ PortChannel0011
+ FC00::19/126
+
+
+
+ Ethernet92
+ 10.0.0.46/31
+
+
+
+ Ethernet92
+ FC00::5D/126
+
+
+
+ Ethernet96
+ 10.0.0.48/31
+
+
+
+ Ethernet96
+ FC00::61/126
+
+
+
+ PortChannel0014
+ 10.0.0.16/31
+
+
+
+ PortChannel0014
+ FC00::21/126
+
+
+
+ Ethernet100
+ 10.0.0.50/31
+
+
+
+ Ethernet100
+ FC00::65/126
+
+
+
+ Ethernet104
+ 10.0.0.52/31
+
+
+
+ Ethernet104
+ FC00::69/126
+
+
+
+ PortChannel0017
+ 10.0.0.20/31
+
+
+
+ PortChannel0017
+ FC00::29/126
+
+
+
+ Ethernet108
+ 10.0.0.54/31
+
+
+
+ Ethernet108
+ FC00::6D/126
+
+
+
+ Ethernet112
+ 10.0.0.56/31
+
+
+
+ Ethernet112
+ FC00::71/126
+
+
+
+ PortChannel0020
+ 10.0.0.24/31
+
+
+
+ PortChannel0020
+ FC00::31/126
+
+
+
+ Ethernet116
+ 10.0.0.58/31
+
+
+
+ Ethernet116
+ FC00::75/126
+
+
+
+ Ethernet120
+ 10.0.0.60/31
+
+
+
+ Ethernet120
+ FC00::79/126
+
+
+
+ PortChannel0023
+ 10.0.0.28/31
+
+
+
+ PortChannel0023
+ FC00::39/126
+
+
+
+ Ethernet124
+ 10.0.0.62/31
+
+
+
+ Ethernet124
+ FC00::7D/126
+
+
+
+
+
+ NTP_ACL
+ NTP
+ NTP
+
+
+ SNMP_ACL
+ SNMP
+ SNMP
+
+
+ ERSPAN
+ Everflow
+ Everflow
+
+
+ ERSPANV6
+ EverflowV6
+ EverflowV6
+
+
+ VTY_LINE
+ ssh-only
+ SSH
+
+
+ PortChannel0002;PortChannel0005;PortChannel0008;PortChannel0011;PortChannel0014;PortChannel0017;PortChannel0020;PortChannel0023;Ethernet64;Ethernet68;Ethernet72;Ethernet76;Ethernet80;Ethernet84;Ethernet88;Ethernet92;Ethernet96;Ethernet100;Ethernet104;Ethernet108;Ethernet112;Ethernet116;Ethernet120;Ethernet124
+ DataAcl
+ DataPlane
+
+
+
+
+
+
+
+
+
+ DeviceInterfaceLink
+ ARISTA01T0
+ Ethernet1
+ sonic
+ Ethernet64
+
+
+ DeviceInterfaceLink
+ ARISTA01T2
+ Ethernet1
+ sonic
+ Ethernet0
+
+
+ DeviceInterfaceLink
+ ARISTA01T2
+ Ethernet2
+ sonic
+ Ethernet4
+
+
+ DeviceInterfaceLink
+ ARISTA02T0
+ Ethernet1
+ sonic
+ Ethernet68
+
+
+ DeviceInterfaceLink
+ ARISTA03T0
+ Ethernet1
+ sonic
+ Ethernet72
+
+
+ DeviceInterfaceLink
+ ARISTA03T2
+ Ethernet1
+ sonic
+ Ethernet8
+
+
+ DeviceInterfaceLink
+ ARISTA03T2
+ Ethernet2
+ sonic
+ Ethernet12
+
+
+ DeviceInterfaceLink
+ ARISTA04T0
+ Ethernet1
+ sonic
+ Ethernet76
+
+
+ DeviceInterfaceLink
+ ARISTA05T0
+ Ethernet1
+ sonic
+ Ethernet80
+
+
+ DeviceInterfaceLink
+ ARISTA05T2
+ Ethernet1
+ sonic
+ Ethernet16
+
+
+ DeviceInterfaceLink
+ ARISTA05T2
+ Ethernet2
+ sonic
+ Ethernet20
+
+
+ DeviceInterfaceLink
+ ARISTA06T0
+ Ethernet1
+ sonic
+ Ethernet84
+
+
+ DeviceInterfaceLink
+ ARISTA07T0
+ Ethernet1
+ sonic
+ Ethernet88
+
+
+ DeviceInterfaceLink
+ ARISTA07T2
+ Ethernet1
+ sonic
+ Ethernet24
+
+
+ DeviceInterfaceLink
+ ARISTA07T2
+ Ethernet2
+ sonic
+ Ethernet28
+
+
+ DeviceInterfaceLink
+ ARISTA08T0
+ Ethernet1
+ sonic
+ Ethernet92
+
+
+ DeviceInterfaceLink
+ ARISTA09T0
+ Ethernet1
+ sonic
+ Ethernet96
+
+
+ DeviceInterfaceLink
+ ARISTA09T2
+ Ethernet1
+ sonic
+ Ethernet32
+
+
+ DeviceInterfaceLink
+ ARISTA09T2
+ Ethernet2
+ sonic
+ Ethernet36
+
+
+ DeviceInterfaceLink
+ ARISTA10T0
+ Ethernet1
+ sonic
+ Ethernet100
+
+
+ DeviceInterfaceLink
+ ARISTA11T0
+ Ethernet1
+ sonic
+ Ethernet104
+
+
+ DeviceInterfaceLink
+ ARISTA11T2
+ Ethernet1
+ sonic
+ Ethernet40
+
+
+ DeviceInterfaceLink
+ ARISTA11T2
+ Ethernet2
+ sonic
+ Ethernet44
+
+
+ DeviceInterfaceLink
+ ARISTA12T0
+ Ethernet1
+ sonic
+ Ethernet108
+
+
+ DeviceInterfaceLink
+ ARISTA13T0
+ Ethernet1
+ sonic
+ Ethernet112
+
+
+ DeviceInterfaceLink
+ ARISTA13T2
+ Ethernet1
+ sonic
+ Ethernet48
+
+
+ DeviceInterfaceLink
+ ARISTA13T2
+ Ethernet2
+ sonic
+ Ethernet52
+
+
+ DeviceInterfaceLink
+ ARISTA14T0
+ Ethernet1
+ sonic
+ Ethernet116
+
+
+ DeviceInterfaceLink
+ ARISTA15T0
+ Ethernet1
+ sonic
+ Ethernet120
+
+
+ DeviceInterfaceLink
+ ARISTA15T2
+ Ethernet1
+ sonic
+ Ethernet56
+
+
+ DeviceInterfaceLink
+ ARISTA15T2
+ Ethernet2
+ sonic
+ Ethernet60
+
+
+ DeviceInterfaceLink
+ ARISTA16T0
+ Ethernet1
+ sonic
+ Ethernet124
+
+
+
+
+ sonic
+ ACS-MSN2410
+
+ 10.100.0.1
+
+
+
+ ARISTA16T0
+
+ 10.100.0.65
+
+ Arista-VM
+
+
+ ARISTA11T0
+
+ 10.100.0.60
+
+ Arista-VM
+
+
+ ARISTA10T0
+
+ 10.100.0.59
+
+ Arista-VM
+
+
+ ARISTA11T2
+
+ 10.100.0.47
+
+ Arista-VM
+
+
+ ARISTA09T2
+
+ 10.100.0.46
+
+ Arista-VM
+
+
+ ARISTA09T0
+
+ 10.100.0.58
+
+ Arista-VM
+
+
+ ARISTA06T0
+
+ 10.100.0.55
+
+ Arista-VM
+
+
+ ARISTA08T0
+
+ 10.100.0.57
+
+ Arista-VM
+
+
+ ARISTA07T0
+
+ 10.100.0.56
+
+ Arista-VM
+
+
+ ARISTA07T2
+
+ 10.100.0.45
+
+ Arista-VM
+
+
+ ARISTA01T2
+
+ 10.100.0.42
+
+ Arista-VM
+
+
+ ARISTA01T0
+
+ 10.100.0.50
+
+ Arista-VM
+
+
+ ARISTA05T2
+
+ 10.100.0.44
+
+ Arista-VM
+
+
+ ARISTA05T0
+
+ 10.100.0.54
+
+ Arista-VM
+
+
+ ARISTA02T0
+
+ 10.100.0.51
+
+ Arista-VM
+
+
+ ARISTA03T0
+
+ 10.100.0.52
+
+ Arista-VM
+
+
+ ARISTA03T2
+
+ 10.100.0.43
+
+ Arista-VM
+
+
+ ARISTA04T0
+
+ 10.100.0.53
+
+ Arista-VM
+
+
+ ARISTA15T0
+
+ 10.100.0.64
+
+ Arista-VM
+
+
+ ARISTA15T2
+
+ 10.100.0.49
+
+ Arista-VM
+
+
+ ARISTA14T0
+
+ 10.100.0.63
+
+ Arista-VM
+
+
+ ARISTA12T0
+
+ 10.100.0.61
+
+ Arista-VM
+
+
+ ARISTA13T2
+
+ 10.100.0.48
+
+ Arista-VM
+
+
+ ARISTA13T0
+
+ 10.100.0.62
+
+ Arista-VM
+
+
+
+
+
+ true
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet0
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet4
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet8
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet12
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet16
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet20
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet24
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet28
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet32
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet36
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet40
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet44
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet48
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet52
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet56
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet60
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet64
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet68
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet72
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet76
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet80
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet84
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet88
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet92
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet96
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet100
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet104
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet108
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet112
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet116
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet120
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet124
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet128
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet132
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet136
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet140
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet144
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet148
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet152
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet156
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet160
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet164
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet168
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet172
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet176
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet180
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet184
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet188
+
+ false
+ 0
+ 0
+ 25000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet192
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet196
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet200
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet204
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet208
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet212
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet216
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ Ethernet220
+
+ false
+ 0
+ 0
+ 100000
+
+
+ true
+ 0
+ ACS-MSN2410
+
+
+
+
+
+
+ sonic
+
+
+ DeploymentId
+
+ 1
+
+
+ QosProfile
+
+ Profile0
+
+
+ DhcpResources
+
+ 192.0.0.1;192.0.0.2;192.0.0.3;192.0.0.4
+
+
+ NtpResources
+
+ 10.100.0.250
+
+
+ SnmpResources
+
+ 10.0.0.9
+
+
+ TacacsGroup
+
+ sonicadmin
+
+
+ TacacsServer
+
+ 10.100.0.20
+
+
+ ForcedMgmtRoutes
+
+ 10.100.0.0/16
+
+
+ ErspanDestinationIpv4
+
+ 10.0.0.7
+
+
+
+
+
+
+ sonic
+ ACS-MSN2410
+
diff --git a/src/sonic-config-engine/tests/sample-mellanox-2700-t0-minigraph.xml b/src/sonic-config-engine/tests/sample-mellanox-2700-t0-minigraph.xml
new file mode 100644
index 0000000000..b7f259e3e2
--- /dev/null
+++ b/src/sonic-config-engine/tests/sample-mellanox-2700-t0-minigraph.xml
@@ -0,0 +1,1498 @@
+
+
+
+
+
+ false
+ mellanox-2700
+ 10.0.0.56
+ ARISTA01T1
+ 10.0.0.57
+ 1
+ 10
+ 3
+
+
+ mellanox-2700
+ FC00::71
+ ARISTA01T1
+ FC00::72
+ 1
+ 10
+ 3
+
+
+ false
+ mellanox-2700
+ 10.0.0.58
+ ARISTA02T1
+ 10.0.0.59
+ 1
+ 10
+ 3
+
+
+ mellanox-2700
+ FC00::75
+ ARISTA02T1
+ FC00::76
+ 1
+ 10
+ 3
+
+
+ false
+ mellanox-2700
+ 10.0.0.60
+ ARISTA03T1
+ 10.0.0.61
+ 1
+ 10
+ 3
+
+
+ mellanox-2700
+ FC00::79
+ ARISTA03T1
+ FC00::7A
+ 1
+ 10
+ 3
+
+
+ false
+ mellanox-2700
+ 10.0.0.62
+ ARISTA04T1
+ 10.0.0.63
+ 1
+ 10
+ 3
+
+
+ mellanox-2700
+ FC00::7D
+ ARISTA04T1
+ FC00::7E
+ 1
+ 10
+ 3
+
+
+
+
+ 65100
+ mellanox-2700
+
+
+ 10.0.0.57
+
+
+
+
+
+ 10.0.0.59
+
+
+
+
+
+ 10.0.0.61
+
+
+
+
+
+ 10.0.0.63
+
+
+
+
+
+ BGPPeer
+ 10.1.0.32
+
+
+
+ BGPSLBPassive
+ 10.255.0.0/25
+
+
+ BGPPeer
+ 10.1.0.32
+
+
+
+ BGPVac
+ 192.168.0.0/21
+
+
+
+
+
+ 64600
+ ARISTA01T1
+
+
+
+ 64600
+ ARISTA02T1
+
+
+
+ 64600
+ ARISTA03T1
+
+
+
+ 64600
+ ARISTA04T1
+
+
+
+
+
+
+
+
+
+ HostIP
+ Loopback0
+
+ 10.1.0.32/32
+
+ 10.1.0.32/32
+
+
+ HostIP1
+ Loopback0
+
+ FC00:1::32/128
+
+ FC00:1::32/128
+
+
+
+
+ HostIP
+ eth0
+
+ 10.100.0.100/24
+
+ 10.100.0.0/24
+
+
+ V6HostIP
+ eth0
+
+ fe80::526b:4bff:fecd:30cc/64
+
+ fe80::526b:4bff:fecd:30cc/64
+
+
+
+
+
+
+ mellanox-2700
+
+
+ PortChannel0001
+ etp17a
+
+
+
+ PortChannel0002
+ etp17b
+
+
+
+ PortChannel0003
+ etp18a
+
+
+
+ PortChannel0004
+ etp18b
+
+
+
+
+
+ Vlan1000
+ etp1b;etp2a;etp2b;etp3a;etp3b;etp4a;etp4b;etp5a;etp5b;etp6a;etp6b;etp7;etp8;etp9;etp10;etp11a;etp11b;etp12a;etp12b;etp13a;etp13b;etp14a;etp14b;etp15a
+ False
+ 0.0.0.0/0
+
+ 192.0.0.1;192.0.0.2;192.0.0.3;192.0.0.4
+ 1000
+ 1000
+ 192.168.0.0/21
+
+
+
+
+
+ PortChannel0001
+ 10.0.0.56/31
+
+
+
+ PortChannel0001
+ FC00::71/126
+
+
+
+ PortChannel0002
+ 10.0.0.58/31
+
+
+
+ PortChannel0002
+ FC00::75/126
+
+
+
+ PortChannel0003
+ 10.0.0.60/31
+
+
+
+ PortChannel0003
+ FC00::79/126
+
+
+
+ PortChannel0004
+ 10.0.0.62/31
+
+
+
+ PortChannel0004
+ FC00::7D/126
+
+
+
+ Vlan1000
+ 192.168.0.1/21
+
+
+
+ Vlan1000
+ fc02:1000::1/64
+
+
+
+
+
+ SNMP_ACL
+ SNMP
+ SNMP
+
+
+ ERSPAN
+ Everflow
+ Everflow
+
+
+ ERSPANV6
+ EverflowV6
+ EverflowV6
+
+
+ VTY_LINE
+ ssh-only
+ SSH
+
+
+ PortChannel0001;PortChannel0002;PortChannel0003;PortChannel0004
+ DataAcl
+ DataPlane
+
+
+
+
+
+
+
+
+
+ DeviceInterfaceLink
+ ARISTA01T1
+ Ethernet1
+ mellanox-2700
+ etp17a
+
+
+ DeviceInterfaceLink
+ ARISTA02T1
+ Ethernet1
+ mellanox-2700
+ etp17b
+
+
+ DeviceInterfaceLink
+ ARISTA03T1
+ Ethernet1
+ mellanox-2700
+ etp18a
+
+
+ DeviceInterfaceLink
+ ARISTA04T1
+ Ethernet1
+ mellanox-2700
+ etp18b
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp1b
+ Servers0
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp2a
+ Servers1
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp2b
+ Servers2
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp3a
+ Servers3
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp3b
+ Servers4
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp4a
+ Servers5
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp4b
+ Servers6
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp5a
+ Servers7
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp5b
+ Servers8
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp6a
+ Servers9
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp6b
+ Servers10
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp7
+ Servers11
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp8
+ Servers12
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp9
+ Servers13
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp10
+ Servers14
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp11a
+ Servers15
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp11b
+ Servers16
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp12a
+ Servers17
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp12b
+ Servers18
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp13a
+ Servers19
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp13b
+ Servers20
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp14a
+ Servers21
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp14b
+ Servers22
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp15a
+ Servers23
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp1b
+ Servers24
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp2a
+ Servers25
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp2b
+ Servers26
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp3a
+ Servers27
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp3b
+ Servers28
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp4a
+ Servers29
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp4b
+ Servers30
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp5a
+ Servers31
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp5b
+ Servers32
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp6a
+ Servers33
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp6b
+ Servers34
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp7
+ Servers35
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp8
+ Servers36
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp9
+ Servers37
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp10
+ Servers38
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp11a
+ Servers39
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp11b
+ Servers40
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp12a
+ Servers41
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp12b
+ Servers42
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp13a
+ Servers43
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp13b
+ Servers44
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp14a
+ Servers45
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp14b
+ Servers46
+ eth0
+
+
+ DeviceInterfaceLink
+ mellanox-2700
+ etp15a
+ Servers47
+ eth0
+
+
+
+
+ mellanox-2700
+ Mellanox-SN2700-D48C8
+
+ 10.100.0.1
+
+
+
+ ARISTA04T1
+
+ 10.100.0.2
+
+ Arista-VM
+
+
+ ARISTA03T1
+
+ 10.100.0.3
+
+ Arista-VM
+
+
+ ARISTA02T1
+
+ 10.100.0.4
+
+ Arista-VM
+
+
+ ARISTA01T1
+
+ 10.213.80.121
+
+ Arista-VM
+
+
+
+
+
+ true
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp1a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp1b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp2a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp2b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp3a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp3b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp4a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp4b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp5a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp5b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp6a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp6b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp7
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp8
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp9
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp10
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp11a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp11b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp12a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp12b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp13a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp13b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp14a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp14b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp15a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp15b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp16a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp16b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp17a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp17b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp18a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp18b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp19a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp19b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp20a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp20b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp21a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp21b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp22a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp22b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp23
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp24
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp25
+
+ false
+ 0
+ 0
+ 100000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp26
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp27a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp27b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp28a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp28b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp29a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp29b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp30a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp30b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp31a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp31b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp32a
+
+ false
+ 0
+ 0
+ 50000
+
+
+ DeviceInterface
+
+ true
+ true
+ 1
+ etp32b
+
+ false
+ 0
+ 0
+ 50000
+
+
+ true
+ 0
+ Mellanox-SN2700-D48C8
+
+
+
+
+
+
+ mellanox-2700
+
+
+ DeploymentId
+
+ 1
+
+
+ QosProfile
+
+ Profile0
+
+
+ DhcpResources
+
+ 192.0.0.1;192.0.0.2;192.0.0.3;192.0.0.4
+
+
+ SnmpResources
+
+ 10.0.0.9
+
+
+ ErspanDestinationIpv4
+
+ 10.0.0.7
+
+
+
+
+
+
+ mellanox-2700
+ Mellanox-SN2700-D48C8
+
diff --git a/src/sonic-config-engine/tests/sample_output/py2/buffers-mellanox2410.json b/src/sonic-config-engine/tests/sample_output/py2/buffers-mellanox2410.json
new file mode 100644
index 0000000000..7ebd39c36c
--- /dev/null
+++ b/src/sonic-config-engine/tests/sample_output/py2/buffers-mellanox2410.json
@@ -0,0 +1,1163 @@
+
+{
+ "CABLE_LENGTH": {
+ "AZURE": {
+ "Ethernet180": "5m",
+ "Ethernet8": "300m",
+ "Ethernet44": "300m",
+ "Ethernet184": "5m",
+ "Ethernet188": "5m",
+ "Ethernet0": "300m",
+ "Ethernet4": "300m",
+ "Ethernet108": "40m",
+ "Ethernet100": "40m",
+ "Ethernet128": "5m",
+ "Ethernet104": "40m",
+ "Ethernet40": "300m",
+ "Ethernet96": "40m",
+ "Ethernet124": "40m",
+ "Ethernet148": "5m",
+ "Ethernet92": "40m",
+ "Ethernet120": "40m",
+ "Ethernet220": "5m",
+ "Ethernet144": "5m",
+ "Ethernet52": "300m",
+ "Ethernet160": "5m",
+ "Ethernet140": "5m",
+ "Ethernet56": "300m",
+ "Ethernet164": "5m",
+ "Ethernet76": "40m",
+ "Ethernet72": "40m",
+ "Ethernet64": "40m",
+ "Ethernet32": "300m",
+ "Ethernet16": "300m",
+ "Ethernet36": "300m",
+ "Ethernet12": "300m",
+ "Ethernet196": "5m",
+ "Ethernet192": "5m",
+ "Ethernet200": "5m",
+ "Ethernet68": "40m",
+ "Ethernet168": "5m",
+ "Ethernet24": "300m",
+ "Ethernet116": "40m",
+ "Ethernet80": "40m",
+ "Ethernet112": "40m",
+ "Ethernet84": "40m",
+ "Ethernet152": "5m",
+ "Ethernet136": "5m",
+ "Ethernet156": "5m",
+ "Ethernet204": "5m",
+ "Ethernet132": "5m",
+ "Ethernet48": "300m",
+ "Ethernet172": "5m",
+ "Ethernet216": "5m",
+ "Ethernet176": "5m",
+ "Ethernet212": "5m",
+ "Ethernet28": "300m",
+ "Ethernet88": "40m",
+ "Ethernet60": "300m",
+ "Ethernet20": "300m",
+ "Ethernet208": "5m"
+ }
+ },
+
+ "BUFFER_POOL": {
+ "ingress_zero_pool" : {
+ "mode": "static",
+ "type": "ingress",
+ "size": "0"
+ },
+ "ingress_lossless_pool": {
+ "size": "3302912",
+ "type": "ingress",
+ "mode": "dynamic"
+ },
+ "ingress_lossy_pool": {
+ "size": "3302912",
+ "type": "ingress",
+ "mode": "dynamic"
+ },
+ "egress_lossless_pool": {
+ "size": "13945824",
+ "type": "egress",
+ "mode": "dynamic"
+ },
+ "egress_lossy_pool": {
+ "size": "3302912",
+ "type": "egress",
+ "mode": "dynamic"
+ }
+ },
+ "BUFFER_PROFILE": {
+ "ingress_lossy_pg_zero_profile" : {
+ "pool":"ingress_zero_pool",
+ "size":"0",
+ "static_th":"0"
+ },
+ "ingress_lossless_zero_profile" : {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "ingress_lossy_zero_profile" : {
+ "pool":"ingress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossless_zero_profile" : {
+ "pool":"egress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossy_zero_profile" : {
+ "pool":"egress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "ingress_lossless_profile": {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"7"
+ },
+ "ingress_lossy_profile": {
+ "pool":"ingress_lossy_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"
+ }
+ },
+ "BUFFER_PORT_INGRESS_PROFILE_LIST": {
+ "Ethernet8": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet0": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet4": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet108": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet100": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet104": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet96": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet124": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet92": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet120": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet52": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet56": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet76": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet72": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet32": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet16": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet36": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet12": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet28": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet88": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet24": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet116": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet80": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet112": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet84": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet48": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet44": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet40": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet64": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet60": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet20": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet68": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ }
+,
+ "Ethernet180": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet184": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet188": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet128": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet148": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet220": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet144": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet160": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet140": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet164": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet196": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet192": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet200": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet168": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet152": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet136": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet156": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet204": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet132": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet172": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet216": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet176": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet212": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet208": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ }
+ },
+ "BUFFER_PORT_EGRESS_PROFILE_LIST": {
+ "Ethernet8": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet0": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet4": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet108": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet100": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet104": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet96": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet124": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet92": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet120": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet52": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet56": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet76": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet72": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet32": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet16": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet36": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet12": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet28": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet88": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet24": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet116": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet80": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet112": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet84": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet48": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet44": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet40": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet64": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet60": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet20": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet68": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ }
+,
+ "Ethernet180": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet184": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet188": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet128": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet148": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet220": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet144": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet160": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet140": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet164": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet196": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet192": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet200": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet168": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet152": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet136": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet156": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet204": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet132": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet172": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet216": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet176": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet212": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet208": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ }
+ },
+ "BUFFER_PG": {
+ "Ethernet8|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet0|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet4|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet108|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet100|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet104|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet96|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet124|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet92|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet120|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet52|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet56|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet76|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet72|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet32|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet16|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet36|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet12|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet28|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet88|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet24|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet116|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet80|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet112|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet84|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet48|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet44|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet40|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet64|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet60|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet20|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet68|0": {
+ "profile" : "ingress_lossy_profile"
+ }
+, "Ethernet180|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet184|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet188|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet128|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet148|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet220|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet144|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet160|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet140|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet164|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet196|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet192|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet200|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet168|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet152|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet136|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet156|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet204|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet132|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet172|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet216|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet176|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet212|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet208|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ }
+ },
+
+ "BUFFER_QUEUE": {
+ "Ethernet8|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet0|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet4|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet108|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet100|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet104|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet96|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet124|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet92|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet120|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet52|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet56|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet76|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet72|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet32|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet16|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet36|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet12|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet28|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet88|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet24|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet116|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet80|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet112|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet84|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet48|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet44|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet40|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet64|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet60|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet20|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet68|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet8|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet0|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet4|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet108|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet100|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet104|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet96|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet124|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet92|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet120|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet52|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet56|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet76|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet72|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet32|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet16|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet36|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet12|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet28|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet88|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet24|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet116|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet80|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet112|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet84|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet48|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet44|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet40|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet64|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet60|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet20|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet68|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet8|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet0|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet4|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet108|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet100|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet104|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet96|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet124|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet92|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet120|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet52|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet56|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet76|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet72|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet32|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet16|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet36|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet12|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet28|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet88|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet24|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet116|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet80|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet112|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet84|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet48|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet44|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet40|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet64|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet60|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet20|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet68|5-6": {
+ "profile" : "q_lossy_profile"
+ }
+,
+ "Ethernet180|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet184|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet188|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet128|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet148|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet220|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet144|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet160|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet140|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet164|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet196|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet192|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet200|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet168|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet152|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet136|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet156|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet204|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet132|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet172|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet216|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet176|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet212|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet208|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet180|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet184|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet188|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet128|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet148|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet220|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet144|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet160|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet140|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet164|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet196|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet192|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet200|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet168|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet152|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet136|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet156|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet204|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet132|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet172|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet216|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet176|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet212|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet208|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet180|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet184|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet188|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet128|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet148|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet220|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet144|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet160|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet140|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet164|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet196|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet192|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet200|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet168|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet152|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet136|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet156|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet204|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet132|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet172|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet216|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet176|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet212|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet208|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ }
+ }
+}
diff --git a/src/sonic-config-engine/tests/sample_output/py2/buffers-mellanox2700.json b/src/sonic-config-engine/tests/sample_output/py2/buffers-mellanox2700.json
new file mode 100644
index 0000000000..221a9b89b8
--- /dev/null
+++ b/src/sonic-config-engine/tests/sample_output/py2/buffers-mellanox2700.json
@@ -0,0 +1,1154 @@
+
+{
+ "CABLE_LENGTH": {
+ "AZURE": {
+ "Ethernet8": "5m",
+ "Ethernet2": "5m",
+ "Ethernet0": "5m",
+ "Ethernet6": "5m",
+ "Ethernet4": "5m",
+ "Ethernet108": "5m",
+ "Ethernet100": "5m",
+ "Ethernet104": "5m",
+ "Ethernet106": "5m",
+ "Ethernet58": "5m",
+ "Ethernet126": "5m",
+ "Ethernet96": "5m",
+ "Ethernet124": "5m",
+ "Ethernet122": "5m",
+ "Ethernet92": "5m",
+ "Ethernet120": "5m",
+ "Ethernet50": "5m",
+ "Ethernet52": "5m",
+ "Ethernet54": "5m",
+ "Ethernet56": "5m",
+ "Ethernet76": "5m",
+ "Ethernet74": "5m",
+ "Ethernet18": "5m",
+ "Ethernet70": "40m",
+ "Ethernet32": "5m",
+ "Ethernet72": "5m",
+ "Ethernet16": "5m",
+ "Ethernet36": "5m",
+ "Ethernet78": "5m",
+ "Ethernet60": "5m",
+ "Ethernet28": "5m",
+ "Ethernet62": "5m",
+ "Ethernet14": "5m",
+ "Ethernet88": "5m",
+ "Ethernet118": "5m",
+ "Ethernet24": "5m",
+ "Ethernet116": "5m",
+ "Ethernet82": "5m",
+ "Ethernet114": "5m",
+ "Ethernet80": "5m",
+ "Ethernet112": "5m",
+ "Ethernet86": "5m",
+ "Ethernet110": "5m",
+ "Ethernet84": "5m",
+ "Ethernet48": "5m",
+ "Ethernet10": "5m",
+ "Ethernet44": "5m",
+ "Ethernet42": "5m",
+ "Ethernet40": "5m",
+ "Ethernet64": "40m",
+ "Ethernet66": "40m",
+ "Ethernet12": "5m",
+ "Ethernet46": "5m",
+ "Ethernet20": "5m",
+ "Ethernet22": "5m",
+ "Ethernet68": "40m"
+ }
+ },
+
+ "BUFFER_POOL": {
+ "ingress_zero_pool" : {
+ "mode": "static",
+ "type": "ingress",
+ "size": "0"
+ },
+ "ingress_lossless_pool": {
+ "size": "7719936",
+ "xoff": "1032192",
+ "type": "ingress",
+ "mode": "dynamic"
+ },
+ "egress_lossless_pool": {
+ "size": "13945824",
+ "type": "egress",
+ "mode": "dynamic"
+ },
+ "egress_lossy_pool": {
+ "size": "7719936",
+ "type": "egress",
+ "mode": "dynamic"
+ }
+ },
+ "BUFFER_PROFILE": {
+ "ingress_lossy_pg_zero_profile" : {
+ "pool":"ingress_zero_pool",
+ "size":"0",
+ "static_th":"0"
+ },
+ "ingress_lossless_zero_profile" : {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossless_zero_profile" : {
+ "pool":"egress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossy_zero_profile" : {
+ "pool":"egress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "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"
+ }
+ },
+ "BUFFER_PORT_INGRESS_PROFILE_LIST": {
+ "Ethernet8": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet2": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet6": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet4": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet28": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet50": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet52": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet54": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet56": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet18": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet70": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet14": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet16": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet10": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet12": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet32": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet24": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet48": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet36": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet44": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet42": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet40": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet64": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet66": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet46": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet20": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet22": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet68": {
+ "profile_list" : "ingress_lossless_profile"
+ }
+,
+ "Ethernet0": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet108": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet100": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet104": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet106": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet58": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet126": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet96": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet124": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet122": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet92": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet120": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet76": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet74": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet72": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet78": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet60": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet62": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet88": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet118": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet116": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet82": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet114": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet80": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet112": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet86": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet110": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet84": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ }
+ },
+ "BUFFER_PORT_EGRESS_PROFILE_LIST": {
+ "Ethernet8": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet2": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet6": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet4": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet28": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet50": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet52": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet54": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet56": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet18": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet70": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet14": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet16": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet10": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet12": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet32": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet24": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet48": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet36": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet44": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet42": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet40": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet64": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet66": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet46": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet20": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet22": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet68": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ }
+,
+ "Ethernet0": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet108": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet100": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet104": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet106": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet58": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet126": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet96": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet124": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet122": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet92": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet120": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet76": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet74": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet72": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet78": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet60": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet62": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet88": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet118": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet116": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet82": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet114": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet80": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet112": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet86": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet110": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet84": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ }
+ },
+ "BUFFER_PG": {
+ "Ethernet8|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet2|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet6|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet4|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet28|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet50|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet52|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet54|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet56|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet18|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet70|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet14|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet16|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet10|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet12|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet32|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet24|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet48|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet36|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet44|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet42|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet40|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet64|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet66|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet46|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet20|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet22|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet68|0": {
+ "profile" : "ingress_lossy_profile"
+ }
+, "Ethernet0|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet108|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet100|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet104|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet106|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet58|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet126|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet96|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet124|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet122|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet92|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet120|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet76|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet74|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet72|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet78|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet60|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet62|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet88|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet118|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet116|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet82|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet114|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet80|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet112|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet86|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet110|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet84|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ }
+ },
+
+ "BUFFER_QUEUE": {
+ "Ethernet8|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet2|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet6|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet4|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet28|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet50|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet52|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet54|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet56|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet18|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet70|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet14|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet16|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet10|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet12|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet32|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet24|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet48|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet36|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet44|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet42|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet40|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet64|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet66|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet46|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet20|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet22|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet68|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet8|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet2|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet6|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet4|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet28|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet50|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet52|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet54|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet56|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet18|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet70|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet14|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet16|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet10|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet12|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet32|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet24|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet48|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet36|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet44|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet42|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet40|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet64|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet66|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet46|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet20|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet22|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet68|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet8|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet2|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet6|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet4|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet28|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet50|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet52|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet54|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet56|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet18|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet70|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet14|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet16|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet10|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet12|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet32|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet24|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet48|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet36|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet44|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet42|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet40|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet64|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet66|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet46|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet20|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet22|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet68|5-6": {
+ "profile" : "q_lossy_profile"
+ }
+,
+ "Ethernet0|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet108|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet100|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet104|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet106|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet58|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet126|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet96|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet124|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet122|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet92|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet120|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet76|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet74|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet72|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet78|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet60|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet62|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet88|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet118|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet116|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet82|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet114|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet80|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet112|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet86|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet110|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet84|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet0|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet108|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet100|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet104|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet106|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet58|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet126|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet96|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet124|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet122|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet92|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet120|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet76|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet74|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet72|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet78|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet60|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet62|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet88|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet118|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet116|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet82|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet114|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet80|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet112|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet86|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet110|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet84|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet0|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet108|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet100|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet104|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet106|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet58|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet126|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet96|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet124|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet122|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet92|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet120|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet76|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet74|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet72|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet78|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet60|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet62|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet88|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet118|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet116|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet82|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet114|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet80|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet112|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet86|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet110|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet84|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ }
+ }
+}
diff --git a/src/sonic-config-engine/tests/sample_output/py3/buffers-mellanox2410.json b/src/sonic-config-engine/tests/sample_output/py3/buffers-mellanox2410.json
new file mode 100644
index 0000000000..c212061af4
--- /dev/null
+++ b/src/sonic-config-engine/tests/sample_output/py3/buffers-mellanox2410.json
@@ -0,0 +1,1163 @@
+
+{
+ "CABLE_LENGTH": {
+ "AZURE": {
+ "Ethernet0": "300m",
+ "Ethernet4": "300m",
+ "Ethernet8": "300m",
+ "Ethernet12": "300m",
+ "Ethernet16": "300m",
+ "Ethernet20": "300m",
+ "Ethernet24": "300m",
+ "Ethernet28": "300m",
+ "Ethernet32": "300m",
+ "Ethernet36": "300m",
+ "Ethernet40": "300m",
+ "Ethernet44": "300m",
+ "Ethernet48": "300m",
+ "Ethernet52": "300m",
+ "Ethernet56": "300m",
+ "Ethernet60": "300m",
+ "Ethernet64": "40m",
+ "Ethernet68": "40m",
+ "Ethernet72": "40m",
+ "Ethernet76": "40m",
+ "Ethernet80": "40m",
+ "Ethernet84": "40m",
+ "Ethernet88": "40m",
+ "Ethernet92": "40m",
+ "Ethernet96": "40m",
+ "Ethernet100": "40m",
+ "Ethernet104": "40m",
+ "Ethernet108": "40m",
+ "Ethernet112": "40m",
+ "Ethernet116": "40m",
+ "Ethernet120": "40m",
+ "Ethernet124": "40m",
+ "Ethernet128": "5m",
+ "Ethernet132": "5m",
+ "Ethernet136": "5m",
+ "Ethernet140": "5m",
+ "Ethernet144": "5m",
+ "Ethernet148": "5m",
+ "Ethernet152": "5m",
+ "Ethernet156": "5m",
+ "Ethernet160": "5m",
+ "Ethernet164": "5m",
+ "Ethernet168": "5m",
+ "Ethernet172": "5m",
+ "Ethernet176": "5m",
+ "Ethernet180": "5m",
+ "Ethernet184": "5m",
+ "Ethernet188": "5m",
+ "Ethernet192": "5m",
+ "Ethernet196": "5m",
+ "Ethernet200": "5m",
+ "Ethernet204": "5m",
+ "Ethernet208": "5m",
+ "Ethernet212": "5m",
+ "Ethernet216": "5m",
+ "Ethernet220": "5m"
+ }
+ },
+
+ "BUFFER_POOL": {
+ "ingress_zero_pool" : {
+ "mode": "static",
+ "type": "ingress",
+ "size": "0"
+ },
+ "ingress_lossless_pool": {
+ "size": "3302912",
+ "type": "ingress",
+ "mode": "dynamic"
+ },
+ "ingress_lossy_pool": {
+ "size": "3302912",
+ "type": "ingress",
+ "mode": "dynamic"
+ },
+ "egress_lossless_pool": {
+ "size": "13945824",
+ "type": "egress",
+ "mode": "dynamic"
+ },
+ "egress_lossy_pool": {
+ "size": "3302912",
+ "type": "egress",
+ "mode": "dynamic"
+ }
+ },
+ "BUFFER_PROFILE": {
+ "ingress_lossy_pg_zero_profile" : {
+ "pool":"ingress_zero_pool",
+ "size":"0",
+ "static_th":"0"
+ },
+ "ingress_lossless_zero_profile" : {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "ingress_lossy_zero_profile" : {
+ "pool":"ingress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossless_zero_profile" : {
+ "pool":"egress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossy_zero_profile" : {
+ "pool":"egress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "ingress_lossless_profile": {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"7"
+ },
+ "ingress_lossy_profile": {
+ "pool":"ingress_lossy_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"
+ }
+ },
+ "BUFFER_PORT_INGRESS_PROFILE_LIST": {
+ "Ethernet64": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet0": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet4": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet68": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet72": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet8": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet12": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet76": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet80": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet16": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet20": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet84": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet88": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet24": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet28": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet92": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet96": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet32": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet36": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet100": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet104": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet40": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet44": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet108": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet112": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet48": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet52": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet116": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet120": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet56": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet60": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ },
+ "Ethernet124": {
+ "profile_list" : "ingress_lossless_profile,ingress_lossy_profile"
+ }
+,
+ "Ethernet128": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet132": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet136": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet140": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet144": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet148": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet152": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet156": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet160": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet164": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet168": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet172": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet176": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet180": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet184": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet188": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet192": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet196": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet200": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet204": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet208": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet212": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet216": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ },
+ "Ethernet220": {
+ "profile_list" : "ingress_lossless_zero_profile,ingress_lossy_zero_profile"
+ }
+ },
+ "BUFFER_PORT_EGRESS_PROFILE_LIST": {
+ "Ethernet64": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet0": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet4": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet68": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet72": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet8": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet12": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet76": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet80": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet16": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet20": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet84": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet88": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet24": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet28": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet92": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet96": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet32": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet36": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet100": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet104": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet40": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet44": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet108": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet112": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet48": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet52": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet116": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet120": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet56": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet60": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet124": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ }
+,
+ "Ethernet128": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet132": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet136": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet140": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet144": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet148": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet152": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet156": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet160": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet164": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet168": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet172": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet176": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet180": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet184": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet188": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet192": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet196": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet200": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet204": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet208": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet212": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet216": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet220": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ }
+ },
+ "BUFFER_PG": {
+ "Ethernet64|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet0|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet4|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet68|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet72|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet8|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet12|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet76|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet80|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet16|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet20|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet84|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet88|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet24|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet28|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet92|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet96|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet32|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet36|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet100|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet104|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet40|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet44|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet108|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet112|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet48|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet52|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet116|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet120|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet56|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet60|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet124|0": {
+ "profile" : "ingress_lossy_profile"
+ }
+, "Ethernet128|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet132|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet136|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet140|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet144|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet148|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet152|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet156|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet160|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet164|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet168|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet172|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet176|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet180|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet184|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet188|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet192|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet196|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet200|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet204|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet208|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet212|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet216|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet220|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ }
+ },
+
+ "BUFFER_QUEUE": {
+ "Ethernet64|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet0|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet4|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet68|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet72|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet8|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet12|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet76|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet80|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet16|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet20|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet84|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet88|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet24|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet28|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet92|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet96|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet32|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet36|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet100|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet104|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet40|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet44|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet108|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet112|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet48|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet52|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet116|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet120|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet56|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet60|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet124|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet64|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet0|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet4|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet68|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet72|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet8|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet12|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet76|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet80|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet16|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet20|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet84|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet88|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet24|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet28|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet92|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet96|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet32|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet36|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet100|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet104|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet40|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet44|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet108|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet112|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet48|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet52|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet116|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet120|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet56|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet60|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet124|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet64|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet0|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet4|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet68|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet72|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet8|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet12|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet76|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet80|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet16|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet20|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet84|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet88|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet24|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet28|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet92|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet96|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet32|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet36|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet100|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet104|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet40|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet44|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet108|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet112|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet48|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet52|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet116|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet120|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet56|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet60|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet124|5-6": {
+ "profile" : "q_lossy_profile"
+ }
+,
+ "Ethernet128|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet132|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet136|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet140|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet144|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet148|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet152|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet156|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet160|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet164|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet168|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet172|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet176|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet180|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet184|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet188|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet192|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet196|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet200|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet204|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet208|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet212|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet216|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet220|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet128|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet132|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet136|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet140|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet144|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet148|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet152|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet156|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet160|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet164|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet168|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet172|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet176|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet180|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet184|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet188|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet192|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet196|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet200|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet204|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet208|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet212|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet216|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet220|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet128|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet132|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet136|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet140|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet144|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet148|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet152|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet156|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet160|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet164|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet168|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet172|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet176|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet180|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet184|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet188|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet192|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet196|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet200|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet204|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet208|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet212|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet216|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet220|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ }
+ }
+}
diff --git a/src/sonic-config-engine/tests/sample_output/py3/buffers-mellanox2700.json b/src/sonic-config-engine/tests/sample_output/py3/buffers-mellanox2700.json
new file mode 100644
index 0000000000..2aaef20598
--- /dev/null
+++ b/src/sonic-config-engine/tests/sample_output/py3/buffers-mellanox2700.json
@@ -0,0 +1,1154 @@
+
+{
+ "CABLE_LENGTH": {
+ "AZURE": {
+ "Ethernet0": "5m",
+ "Ethernet2": "5m",
+ "Ethernet4": "5m",
+ "Ethernet6": "5m",
+ "Ethernet8": "5m",
+ "Ethernet10": "5m",
+ "Ethernet12": "5m",
+ "Ethernet14": "5m",
+ "Ethernet16": "5m",
+ "Ethernet18": "5m",
+ "Ethernet20": "5m",
+ "Ethernet22": "5m",
+ "Ethernet24": "5m",
+ "Ethernet28": "5m",
+ "Ethernet32": "5m",
+ "Ethernet36": "5m",
+ "Ethernet40": "5m",
+ "Ethernet42": "5m",
+ "Ethernet44": "5m",
+ "Ethernet46": "5m",
+ "Ethernet48": "5m",
+ "Ethernet50": "5m",
+ "Ethernet52": "5m",
+ "Ethernet54": "5m",
+ "Ethernet56": "5m",
+ "Ethernet58": "5m",
+ "Ethernet60": "5m",
+ "Ethernet62": "5m",
+ "Ethernet64": "40m",
+ "Ethernet66": "40m",
+ "Ethernet68": "40m",
+ "Ethernet70": "40m",
+ "Ethernet72": "5m",
+ "Ethernet74": "5m",
+ "Ethernet76": "5m",
+ "Ethernet78": "5m",
+ "Ethernet80": "5m",
+ "Ethernet82": "5m",
+ "Ethernet84": "5m",
+ "Ethernet86": "5m",
+ "Ethernet88": "5m",
+ "Ethernet92": "5m",
+ "Ethernet96": "5m",
+ "Ethernet100": "5m",
+ "Ethernet104": "5m",
+ "Ethernet106": "5m",
+ "Ethernet108": "5m",
+ "Ethernet110": "5m",
+ "Ethernet112": "5m",
+ "Ethernet114": "5m",
+ "Ethernet116": "5m",
+ "Ethernet118": "5m",
+ "Ethernet120": "5m",
+ "Ethernet122": "5m",
+ "Ethernet124": "5m",
+ "Ethernet126": "5m"
+ }
+ },
+
+ "BUFFER_POOL": {
+ "ingress_zero_pool" : {
+ "mode": "static",
+ "type": "ingress",
+ "size": "0"
+ },
+ "ingress_lossless_pool": {
+ "size": "7719936",
+ "xoff": "1032192",
+ "type": "ingress",
+ "mode": "dynamic"
+ },
+ "egress_lossless_pool": {
+ "size": "13945824",
+ "type": "egress",
+ "mode": "dynamic"
+ },
+ "egress_lossy_pool": {
+ "size": "7719936",
+ "type": "egress",
+ "mode": "dynamic"
+ }
+ },
+ "BUFFER_PROFILE": {
+ "ingress_lossy_pg_zero_profile" : {
+ "pool":"ingress_zero_pool",
+ "size":"0",
+ "static_th":"0"
+ },
+ "ingress_lossless_zero_profile" : {
+ "pool":"ingress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossless_zero_profile" : {
+ "pool":"egress_lossless_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "egress_lossy_zero_profile" : {
+ "pool":"egress_lossy_pool",
+ "size":"0",
+ "dynamic_th":"-8"
+ },
+ "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"
+ }
+ },
+ "BUFFER_PORT_INGRESS_PROFILE_LIST": {
+ "Ethernet64": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet66": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet68": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet70": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet2": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet4": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet6": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet8": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet10": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet12": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet14": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet16": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet18": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet20": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet22": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet24": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet28": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet32": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet36": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet40": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet42": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet44": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet46": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet48": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet50": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet52": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet54": {
+ "profile_list" : "ingress_lossless_profile"
+ },
+ "Ethernet56": {
+ "profile_list" : "ingress_lossless_profile"
+ }
+,
+ "Ethernet0": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet58": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet60": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet62": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet72": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet74": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet76": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet78": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet80": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet82": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet84": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet86": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet88": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet92": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet96": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet100": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet104": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet106": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet108": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet110": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet112": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet114": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet116": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet118": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet120": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet122": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet124": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ },
+ "Ethernet126": {
+ "profile_list" : "ingress_lossless_zero_profile"
+ }
+ },
+ "BUFFER_PORT_EGRESS_PROFILE_LIST": {
+ "Ethernet64": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet66": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet68": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet70": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet2": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet4": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet6": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet8": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet10": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet12": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet14": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet16": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet18": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet20": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet22": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet24": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet28": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet32": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet36": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet40": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet42": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet44": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet46": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet48": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet50": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet52": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet54": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ },
+ "Ethernet56": {
+ "profile_list" : "egress_lossless_profile,egress_lossy_profile"
+ }
+,
+ "Ethernet0": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet58": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet60": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet62": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet72": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet74": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet76": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet78": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet80": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet82": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet84": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet86": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet88": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet92": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet96": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet100": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet104": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet106": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet108": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet110": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet112": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet114": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet116": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet118": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet120": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet122": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet124": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ },
+ "Ethernet126": {
+ "profile_list" : "egress_lossless_zero_profile,egress_lossy_zero_profile"
+ }
+ },
+ "BUFFER_PG": {
+ "Ethernet64|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet66|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet68|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet70|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet2|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet4|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet6|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet8|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet10|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet12|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet14|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet16|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet18|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet20|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet22|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet24|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet28|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet32|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet36|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet40|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet42|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet44|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet46|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet48|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet50|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet52|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet54|0": {
+ "profile" : "ingress_lossy_profile"
+ },
+ "Ethernet56|0": {
+ "profile" : "ingress_lossy_profile"
+ }
+, "Ethernet0|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet58|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet60|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet62|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet72|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet74|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet76|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet78|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet80|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet82|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet84|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet86|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet88|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet92|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet96|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet100|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet104|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet106|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet108|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet110|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet112|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet114|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet116|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet118|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet120|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet122|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet124|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ },
+ "Ethernet126|0": {
+ "profile" : "ingress_lossy_pg_zero_profile"
+ }
+ },
+
+ "BUFFER_QUEUE": {
+ "Ethernet64|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet66|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet68|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet70|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet2|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet4|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet6|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet8|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet10|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet12|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet14|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet16|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet18|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet20|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet22|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet24|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet28|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet32|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet36|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet40|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet42|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet44|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet46|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet48|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet50|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet52|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet54|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet56|3-4": {
+ "profile" : "egress_lossless_profile"
+ },
+ "Ethernet64|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet66|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet68|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet70|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet2|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet4|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet6|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet8|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet10|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet12|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet14|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet16|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet18|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet20|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet22|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet24|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet28|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet32|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet36|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet40|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet42|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet44|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet46|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet48|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet50|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet52|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet54|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet56|0-2": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet64|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet66|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet68|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet70|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet2|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet4|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet6|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet8|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet10|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet12|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet14|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet16|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet18|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet20|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet22|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet24|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet28|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet32|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet36|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet40|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet42|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet44|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet46|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet48|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet50|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet52|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet54|5-6": {
+ "profile" : "q_lossy_profile"
+ },
+ "Ethernet56|5-6": {
+ "profile" : "q_lossy_profile"
+ }
+,
+ "Ethernet0|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet58|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet60|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet62|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet72|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet74|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet76|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet78|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet80|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet82|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet84|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet86|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet88|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet92|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet96|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet100|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet104|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet106|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet108|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet110|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet112|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet114|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet116|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet118|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet120|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet122|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet124|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet126|3-4": {
+ "profile" : "egress_lossless_zero_profile"
+ },
+ "Ethernet0|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet58|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet60|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet62|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet72|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet74|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet76|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet78|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet80|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet82|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet84|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet86|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet88|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet92|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet96|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet100|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet104|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet106|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet108|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet110|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet112|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet114|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet116|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet118|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet120|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet122|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet124|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet126|0-2": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet0|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet58|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet60|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet62|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet72|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet74|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet76|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet78|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet80|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet82|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet84|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet86|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet88|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet92|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet96|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet100|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet104|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet106|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet108|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet110|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet112|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet114|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet116|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet118|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet120|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet122|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet124|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ },
+ "Ethernet126|5-6": {
+ "profile" : "egress_lossy_zero_profile"
+ }
+ }
+}
diff --git a/src/sonic-config-engine/tests/test_j2files.py b/src/sonic-config-engine/tests/test_j2files.py
index cb2d7682e7..5e9f197cd7 100644
--- a/src/sonic-config-engine/tests/test_j2files.py
+++ b/src/sonic-config-engine/tests/test_j2files.py
@@ -3,13 +3,14 @@ import json
import os
import shutil
import subprocess
+import pytest
-from unittest import TestCase
import tests.common_utils as utils
-class TestJ2Files(TestCase):
- def setUp(self):
+class TestJ2Files():
+ @classmethod
+ def setup_class(self):
self.test_dir = os.path.dirname(os.path.realpath(__file__))
self.script_file = utils.PYTHON_INTERPRETTER + ' ' + os.path.join(self.test_dir, '..', 'sonic-cfggen')
self.simple_minigraph = os.path.join(self.test_dir, 'simple-sample-graph.xml')
@@ -21,7 +22,6 @@ class TestJ2Files(TestCase):
self.t0_7050cx3_port_config = os.path.join(self.test_dir, 't0_7050cx3_d48c8_port_config.ini')
self.t1_mlnx_minigraph = os.path.join(self.test_dir, 't1-sample-graph-mlnx.xml')
self.mlnx_port_config = os.path.join(self.test_dir, 'sample-port-config-mlnx.ini')
- self.dell6100_t0_minigraph = os.path.join(self.test_dir, 'sample-dell-6100-t0-minigraph.xml')
self.arista7050_t0_minigraph = os.path.join(self.test_dir, 'sample-arista-7050-t0-minigraph.xml')
self.multi_asic_minigraph = os.path.join(self.test_dir, 'multi_npu_data', 'sample-minigraph.xml')
self.multi_asic_port_config = os.path.join(self.test_dir, 'multi_npu_data', 'sample_port_config-0.ini')
@@ -222,23 +222,31 @@ class TestJ2Files(TestCase):
sample_output_file = os.path.join(self.test_dir, 'sample_output', utils.PYvX_DIR, 'qos-dell6100.json')
assert filecmp.cmp(sample_output_file, self.output_file)
- def test_buffers_dell6100_render_template(self):
- dell_dir_path = os.path.join(self.test_dir, '..', '..', '..', 'device', 'dell', 'x86_64-dell_s6100_c2538-r0', 'Force10-S6100')
- buffers_file = os.path.join(dell_dir_path, 'buffers.json.j2')
- port_config_ini_file = os.path.join(dell_dir_path, 'port_config.ini')
+ @pytest.mark.parametrize('sku_information',
+ [('dell', 'x86_64-dell_s6100_c2538-r0', 'Force10-S6100', 'sample-dell-6100-t0-minigraph.xml', 'buffers.json.j2', 'buffers-dell6100.json'),
+ ('mellanox', 'x86_64-mlnx_msn2700-r0', 'Mellanox-SN2700-D48C8', 'sample-mellanox-2700-t0-minigraph.xml', 'buffers.json.j2', 'buffers-mellanox2700.json'),
+ ('mellanox', 'x86_64-mlnx_msn2410-r0', 'ACS-MSN2410', 'sample-mellanox-2410-t1-minigraph.xml', 'buffers.json.j2', 'buffers-mellanox2410.json'),
+ ('mellanox', 'x86_64-mlnx_msn2410-r0', 'ACS-MSN2410', 'sample-mellanox-2410-t1-minigraph.xml', 'buffers_dynamic.json.j2', 'buffers-mellanox2410-dynamic.json')
+ ])
+ def test_buffers_render_template(self, sku_information):
+ vendor, platform, sku, minigraph, buffer_template, expected = sku_information
+ dir_path = os.path.join(self.test_dir, '..', '..', '..', 'device', vendor, platform, sku)
+ buffers_file = os.path.join(dir_path, buffer_template)
+ port_config_ini_file = os.path.join(dir_path, 'port_config.ini')
- # copy buffers_config.j2 to the Dell S6100 directory to have all templates in one directory
+ # copy buffers_config.j2 to the SKU directory to have all templates in one directory
buffers_config_file = os.path.join(self.test_dir, '..', '..', '..', 'files', 'build_templates', 'buffers_config.j2')
- shutil.copy2(buffers_config_file, dell_dir_path)
+ shutil.copy2(buffers_config_file, dir_path)
- argument = '-m ' + self.dell6100_t0_minigraph + ' -p ' + port_config_ini_file + ' -t ' + buffers_file + ' > ' + self.output_file
+ minigraph = os.path.join(self.test_dir, minigraph)
+ argument = '-m ' + minigraph + ' -p ' + port_config_ini_file + ' -t ' + buffers_file + ' > ' + self.output_file
self.run_script(argument)
# cleanup
- buffers_config_file_new = os.path.join(dell_dir_path, 'buffers_config.j2')
+ buffers_config_file_new = os.path.join(dir_path, 'buffers_config.j2')
os.remove(buffers_config_file_new)
- sample_output_file = os.path.join(self.test_dir, 'sample_output', utils.PYvX_DIR, 'buffers-dell6100.json')
+ sample_output_file = os.path.join(self.test_dir, 'sample_output', utils.PYvX_DIR, expected)
assert filecmp.cmp(sample_output_file, self.output_file)
def test_ipinip_multi_asic(self):