From f5e678cf845b6eeed38441e0b0dfc1669875f584 Mon Sep 17 00:00:00 2001 From: Wenda Ni Date: Tue, 4 Dec 2018 20:51:55 -0800 Subject: [PATCH] Port QoS & buffer changes in 0330 to master (#2239) * 1) DSCP 46 to 5; 2) ecn config for lossless traffic; 3) ecn on by default; 4) DWRR equal weight; Signed-off-by: Wenda * 1) link pg & queue 5 to lossy buffer profile; 2) ingress lossless alpha 1/8 Signed-off-by: Wenda * Update the test case for qos & buffer json template Signed-off-by: Wenda * Migrate a7050-qx32 and s6000 to use pg_profile lookup architecture Signed-off-by: Wenda * Update pg headroom egress service pool for a7050-qx-32s, a7050-qx32, and s6000 Signed-off-by: Wenda * Link queue 5 to lossy profile Signed-off-by: Wenda --- .../Arista-7050-QX32/buffers.json.j2 | 129 +--- .../Arista-7050-QX32/buffers_defaults_t1.j2 | 45 ++ .../Arista-7050-QX32/pg_profile_lookup.ini | 11 + .../Arista-7050-QX32/port_config.ini | 66 +- .../Arista-7050-QX-32S/buffers_defaults_t1.j2 | 2 +- .../Arista-7050-QX-32S/pg_profile_lookup.ini | 18 +- .../pg_profile_lookup.ini | 30 +- .../pg_profile_lookup.ini | 30 +- .../pg_profile_lookup.ini | 30 +- .../Force10-S6000/buffers.json.j2 | 129 +--- .../Force10-S6000/buffers_defaults_t1.j2 | 45 ++ .../Force10-S6000/pg_profile_lookup.ini | 11 + .../Force10-S6000/port_config.ini | 66 +- .../Force10-S6100/pg_profile_lookup.ini | 30 +- .../ACS-MSN2700/buffers_defaults_t0.j2 | 3 + .../ACS-MSN2700/buffers_defaults_t1.j2 | 3 + files/build_templates/buffers_config.j2 | 6 + files/build_templates/qos_config.j2 | 48 +- .../tests/sample_output/buffers-dell6100.json | 6 + .../tests/sample_output/qos-dell6100.json | 605 ++++++++++++------ 20 files changed, 705 insertions(+), 608 deletions(-) create mode 100644 device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/buffers_defaults_t1.j2 create mode 100644 device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/pg_profile_lookup.ini create mode 100644 device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers_defaults_t1.j2 create mode 100644 device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/pg_profile_lookup.ini diff --git a/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/buffers.json.j2 b/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/buffers.json.j2 index 551f73ca04..b67cf577ab 100644 --- a/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/buffers.json.j2 +++ b/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/buffers.json.j2 @@ -1,128 +1,3 @@ -{# Default values which will be used if no actual configura available #} -{% set default_cable = '300m' %} -{% set default_speed = '100G' %} -{% set default_ports_num = 32 -%} +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} -{# Port configuration to cable length look-up table #} -{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} -{# Roles described in the minigraph #} -{% set ports2cable = { - 'torrouter_server' : '5m', - 'leafrouter_torrouter' : '40m', - 'spinerouter_leafrouter' : '300m' - } -%} - -{%- macro cable_length(port_name) -%} - {%- set cable_len = [] -%} - {%- for local_port in DEVICE_NEIGHBOR -%} - {%- if local_port == port_name -%} - {%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} - {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} - {%- set neighbor_role = neighbor.type -%} - {%- set roles1 = switch_role + '_' + neighbor_role %} - {%- set roles2 = neighbor_role + '_' + switch_role -%} - {%- set roles1 = roles1 | lower -%} - {%- set roles2 = roles2 | lower -%} - {%- if roles1 in ports2cable -%} - {%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} - {%- elif roles2 in ports2cable -%} - {%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} - {%- endif -%} - {%- endif -%} - {%- endif -%} - {%- endfor -%} - {%- if cable_len -%} - {{ cable_len.0 }} - {%- else -%} - {{ default_cable }} - {%- endif -%} -{% endmacro %} - -{%- if DEVICE_METADATA is defined %} -{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} -{%- endif -%} - -{# Generate list of ports if not defined #} -{% if PORT is not defined %} - {% set PORT = [] %} - {% for port_idx in range(0,default_ports_num) %} - {% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %} - {% endfor %} -{% endif -%} - -{% set port_names_list = [] %} -{% for port in PORT %} - {%- if port_names_list.append(port) %}{% endif %} -{% endfor %} -{% set port_names = port_names_list | join(',') -%} - -{ - "CABLE_LENGTH": { - "AZURE": { - {% for port in PORT %} - {% set cable = cable_length(port) -%} - "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %} - - {% endfor %} - } - }, - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "12766208", - "type": "ingress", - "mode": "dynamic" - }, - "egress_lossless_pool": { - "size": "12766208", - "type": "egress", - "mode": "static" - }, - "egress_lossy_pool": { - "size": "8072396", - "type": "egress", - "mode": "dynamic" - } - }, - "BUFFER_PROFILE": { - "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "xon":"18432", - "xoff":"40560", - "size":"41808", - "dynamic_th":"-4", - "xon_offset":"2496" - }, - "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"0", - "static_th":"12766208" - }, - "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"1518", - "dynamic_th":"3" - } - }, - "BUFFER_PG": { - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" - }, - "{{ port_names }}|0-1": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } - }, - "BUFFER_QUEUE": { - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" - }, - "{{ port_names }}|0-1": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - } - } -} diff --git a/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/buffers_defaults_t1.j2 b/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..40d32ef316 --- /dev/null +++ b/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/buffers_defaults_t1.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- 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 * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7582515", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/pg_profile_lookup.ini b/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/pg_profile_lookup.ini new file mode 100644 index 0000000000..135a598465 --- /dev/null +++ b/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/pg_profile_lookup.ini @@ -0,0 +1,11 @@ +# PG lossless profiles. +# speed cable size xon xoff threshold xon_offset + 40000 5m 41808 18432 40560 -3 2496 + 50000 5m 41808 18432 40560 -3 2496 + 100000 5m 41808 18432 40560 -3 2496 + 40000 40m 51376 18432 50128 -3 2496 + 50000 40m 51376 18432 50128 -3 2496 + 100000 40m 51376 18432 50128 -3 2496 + 40000 300m 51376 18432 50128 -3 2496 + 50000 300m 51376 18432 50128 -3 2496 + 100000 300m 51376 18432 50128 -3 2496 diff --git a/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/port_config.ini b/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/port_config.ini index b57f14497e..212e1da4b0 100644 --- a/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/port_config.ini +++ b/device/arista/x86_64-arista_7050_qx32/Arista-7050-QX32/port_config.ini @@ -1,33 +1,33 @@ -# name lanes alias index -Ethernet0 125,126,127,128 Ethernet1/1 1 -Ethernet4 121,122,123,124 Ethernet2/1 2 -Ethernet8 13,14,15,16 Ethernet3/1 3 -Ethernet12 9,10,11,12 Ethernet4/1 4 -Ethernet16 17,18,19,20 Ethernet5/1 5 -Ethernet20 21,22,23,24 Ethernet6/1 6 -Ethernet24 25,26,27,28 Ethernet7/1 7 -Ethernet28 29,30,31,32 Ethernet8/1 8 -Ethernet32 37,38,39,40 Ethernet9/1 9 -Ethernet36 33,34,35,36 Ethernet10/1 10 -Ethernet40 45,46,47,48 Ethernet11/1 11 -Ethernet44 41,42,43,44 Ethernet12/1 12 -Ethernet48 53,54,55,56 Ethernet13/1 13 -Ethernet52 49,50,51,52 Ethernet14/1 14 -Ethernet56 69,70,71,72 Ethernet15/1 15 -Ethernet60 65,66,67,68 Ethernet16/1 16 -Ethernet64 77,78,79,80 Ethernet17/1 17 -Ethernet68 73,74,75,76 Ethernet18/1 18 -Ethernet72 93,94,95,96 Ethernet19/1 19 -Ethernet76 89,90,91,92 Ethernet20/1 20 -Ethernet80 101,102,103,104 Ethernet21/1 21 -Ethernet84 97,98,99,100 Ethernet22/1 22 -Ethernet88 109,110,111,112 Ethernet23/1 23 -Ethernet92 105,106,107,108 Ethernet24/1 24 -Ethernet96 61,62,63,64 Ethernet25 25 -Ethernet100 57,58,59,60 Ethernet26 26 -Ethernet104 81,82,83,84 Ethernet27 27 -Ethernet108 85,86,87,88 Ethernet28 28 -Ethernet112 117,118,119,120 Ethernet29 29 -Ethernet116 113,114,115,116 Ethernet30 30 -Ethernet120 5,6,7,8 Ethernet31 31 -Ethernet124 1,2,3,4 Ethernet32 32 +# name lanes alias index speed +Ethernet0 125,126,127,128 Ethernet1/1 1 40000 +Ethernet4 121,122,123,124 Ethernet2/1 2 40000 +Ethernet8 13,14,15,16 Ethernet3/1 3 40000 +Ethernet12 9,10,11,12 Ethernet4/1 4 40000 +Ethernet16 17,18,19,20 Ethernet5/1 5 40000 +Ethernet20 21,22,23,24 Ethernet6/1 6 40000 +Ethernet24 25,26,27,28 Ethernet7/1 7 40000 +Ethernet28 29,30,31,32 Ethernet8/1 8 40000 +Ethernet32 37,38,39,40 Ethernet9/1 9 40000 +Ethernet36 33,34,35,36 Ethernet10/1 10 40000 +Ethernet40 45,46,47,48 Ethernet11/1 11 40000 +Ethernet44 41,42,43,44 Ethernet12/1 12 40000 +Ethernet48 53,54,55,56 Ethernet13/1 13 40000 +Ethernet52 49,50,51,52 Ethernet14/1 14 40000 +Ethernet56 69,70,71,72 Ethernet15/1 15 40000 +Ethernet60 65,66,67,68 Ethernet16/1 16 40000 +Ethernet64 77,78,79,80 Ethernet17/1 17 40000 +Ethernet68 73,74,75,76 Ethernet18/1 18 40000 +Ethernet72 93,94,95,96 Ethernet19/1 19 40000 +Ethernet76 89,90,91,92 Ethernet20/1 20 40000 +Ethernet80 101,102,103,104 Ethernet21/1 21 40000 +Ethernet84 97,98,99,100 Ethernet22/1 22 40000 +Ethernet88 109,110,111,112 Ethernet23/1 23 40000 +Ethernet92 105,106,107,108 Ethernet24/1 24 40000 +Ethernet96 61,62,63,64 Ethernet25 25 40000 +Ethernet100 57,58,59,60 Ethernet26 26 40000 +Ethernet104 81,82,83,84 Ethernet27 27 40000 +Ethernet108 85,86,87,88 Ethernet28 28 40000 +Ethernet112 117,118,119,120 Ethernet29 29 40000 +Ethernet116 113,114,115,116 Ethernet30 30 40000 +Ethernet120 5,6,7,8 Ethernet31 31 40000 +Ethernet124 1,2,3,4 Ethernet32 32 40000 diff --git a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers_defaults_t1.j2 b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers_defaults_t1.j2 index 2d0cc548be..40d32ef316 100644 --- a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers_defaults_t1.j2 +++ b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers_defaults_t1.j2 @@ -20,7 +20,7 @@ "mode": "static" }, "egress_lossy_pool": { - "size": "8072396", + "size": "7582515", "type": "egress", "mode": "dynamic" } diff --git a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/pg_profile_lookup.ini b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/pg_profile_lookup.ini index a1181e7bef..135a598465 100644 --- a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/pg_profile_lookup.ini +++ b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/pg_profile_lookup.ini @@ -1,11 +1,11 @@ # PG lossless profiles. # speed cable size xon xoff threshold xon_offset - 40000 5m 41808 18432 40560 -4 2496 - 50000 5m 41808 18432 40560 -4 2496 - 100000 5m 41808 18432 40560 -4 2496 - 40000 40m 41808 18432 40560 -4 2496 - 50000 40m 41808 18432 40560 -4 2496 - 100000 40m 41808 18432 40560 -4 2496 - 40000 300m 41808 18432 40560 -4 2496 - 50000 300m 41808 18432 40560 -4 2496 - 100000 300m 41808 18432 40560 -4 2496 + 40000 5m 41808 18432 40560 -3 2496 + 50000 5m 41808 18432 40560 -3 2496 + 100000 5m 41808 18432 40560 -3 2496 + 40000 40m 51376 18432 50128 -3 2496 + 50000 40m 51376 18432 50128 -3 2496 + 100000 40m 51376 18432 50128 -3 2496 + 40000 300m 51376 18432 50128 -3 2496 + 50000 300m 51376 18432 50128 -3 2496 + 100000 300m 51376 18432 50128 -3 2496 diff --git a/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-C32/pg_profile_lookup.ini b/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-C32/pg_profile_lookup.ini index 3b2a417ceb..aedda37a88 100644 --- a/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-C32/pg_profile_lookup.ini +++ b/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-C32/pg_profile_lookup.ini @@ -1,17 +1,17 @@ # PG lossless profiles. # speed cable size xon xoff threshold xon_offset - 10000 5m 1248 2288 35776 -4 2288 - 25000 5m 1248 2288 53248 -4 2288 - 40000 5m 1248 2288 66560 -4 2288 - 50000 5m 1248 2288 90272 -4 2288 - 100000 5m 1248 2288 165568 -4 2288 - 10000 40m 1248 2288 37024 -4 2288 - 25000 40m 1248 2288 53248 -4 2288 - 40000 40m 1248 2288 71552 -4 2288 - 50000 40m 1248 2288 96096 -4 2288 - 100000 40m 1248 2288 177632 -4 2288 - 10000 300m 1248 2288 46176 -4 2288 - 25000 300m 1248 2288 79040 -4 2288 - 40000 300m 1248 2288 108160 -4 2288 - 50000 300m 1248 2288 141856 -4 2288 - 100000 300m 1248 2288 268736 -4 2288 + 10000 5m 1248 2288 35776 -3 2288 + 25000 5m 1248 2288 53248 -3 2288 + 40000 5m 1248 2288 66560 -3 2288 + 50000 5m 1248 2288 90272 -3 2288 + 100000 5m 1248 2288 165568 -3 2288 + 10000 40m 1248 2288 37024 -3 2288 + 25000 40m 1248 2288 53248 -3 2288 + 40000 40m 1248 2288 71552 -3 2288 + 50000 40m 1248 2288 96096 -3 2288 + 100000 40m 1248 2288 177632 -3 2288 + 10000 300m 1248 2288 46176 -3 2288 + 25000 300m 1248 2288 79040 -3 2288 + 40000 300m 1248 2288 108160 -3 2288 + 50000 300m 1248 2288 141856 -3 2288 + 100000 300m 1248 2288 268736 -3 2288 diff --git a/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-D48C8/pg_profile_lookup.ini b/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-D48C8/pg_profile_lookup.ini index 7222f80149..570454c8d5 100644 --- a/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-D48C8/pg_profile_lookup.ini +++ b/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-D48C8/pg_profile_lookup.ini @@ -1,17 +1,17 @@ # PG lossless profiles. # speed cable size xon xoff threshold xon_offset - 10000 5m 1248 2288 35776 -4 2288 - 25000 5m 1248 2288 53248 -4 2288 - 40000 5m 1248 2288 66560 -4 2288 - 50000 5m 1248 2288 79872 -4 2288 - 100000 5m 1248 2288 165568 -4 2288 - 10000 40m 1248 2288 37024 -4 2288 - 25000 40m 1248 2288 56160 -4 2288 - 40000 40m 1248 2288 71552 -4 2288 - 50000 40m 1248 2288 85696 -4 2288 - 100000 40m 1248 2288 177632 -4 2288 - 10000 300m 1248 2288 46176 -4 2288 - 25000 300m 1248 2288 79040 -4 2288 - 40000 300m 1248 2288 108160 -4 2288 - 50000 300m 1248 2288 131456 -4 2288 - 100000 300m 1248 2288 268736 -4 2288 + 10000 5m 1248 2288 35776 -3 2288 + 25000 5m 1248 2288 53248 -3 2288 + 40000 5m 1248 2288 66560 -3 2288 + 50000 5m 1248 2288 79872 -3 2288 + 100000 5m 1248 2288 165568 -3 2288 + 10000 40m 1248 2288 37024 -3 2288 + 25000 40m 1248 2288 56160 -3 2288 + 40000 40m 1248 2288 71552 -3 2288 + 50000 40m 1248 2288 85696 -3 2288 + 100000 40m 1248 2288 177632 -3 2288 + 10000 300m 1248 2288 46176 -3 2288 + 25000 300m 1248 2288 79040 -3 2288 + 40000 300m 1248 2288 108160 -3 2288 + 50000 300m 1248 2288 131456 -3 2288 + 100000 300m 1248 2288 268736 -3 2288 diff --git a/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-Q32/pg_profile_lookup.ini b/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-Q32/pg_profile_lookup.ini index 3b2a417ceb..aedda37a88 100644 --- a/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-Q32/pg_profile_lookup.ini +++ b/device/arista/x86_64-arista_7060_cx32s/Arista-7060CX-32S-Q32/pg_profile_lookup.ini @@ -1,17 +1,17 @@ # PG lossless profiles. # speed cable size xon xoff threshold xon_offset - 10000 5m 1248 2288 35776 -4 2288 - 25000 5m 1248 2288 53248 -4 2288 - 40000 5m 1248 2288 66560 -4 2288 - 50000 5m 1248 2288 90272 -4 2288 - 100000 5m 1248 2288 165568 -4 2288 - 10000 40m 1248 2288 37024 -4 2288 - 25000 40m 1248 2288 53248 -4 2288 - 40000 40m 1248 2288 71552 -4 2288 - 50000 40m 1248 2288 96096 -4 2288 - 100000 40m 1248 2288 177632 -4 2288 - 10000 300m 1248 2288 46176 -4 2288 - 25000 300m 1248 2288 79040 -4 2288 - 40000 300m 1248 2288 108160 -4 2288 - 50000 300m 1248 2288 141856 -4 2288 - 100000 300m 1248 2288 268736 -4 2288 + 10000 5m 1248 2288 35776 -3 2288 + 25000 5m 1248 2288 53248 -3 2288 + 40000 5m 1248 2288 66560 -3 2288 + 50000 5m 1248 2288 90272 -3 2288 + 100000 5m 1248 2288 165568 -3 2288 + 10000 40m 1248 2288 37024 -3 2288 + 25000 40m 1248 2288 53248 -3 2288 + 40000 40m 1248 2288 71552 -3 2288 + 50000 40m 1248 2288 96096 -3 2288 + 100000 40m 1248 2288 177632 -3 2288 + 10000 300m 1248 2288 46176 -3 2288 + 25000 300m 1248 2288 79040 -3 2288 + 40000 300m 1248 2288 108160 -3 2288 + 50000 300m 1248 2288 141856 -3 2288 + 100000 300m 1248 2288 268736 -3 2288 diff --git a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers.json.j2 b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers.json.j2 index 551f73ca04..b67cf577ab 100644 --- a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers.json.j2 +++ b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers.json.j2 @@ -1,128 +1,3 @@ -{# Default values which will be used if no actual configura available #} -{% set default_cable = '300m' %} -{% set default_speed = '100G' %} -{% set default_ports_num = 32 -%} +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} -{# Port configuration to cable length look-up table #} -{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #} -{# Roles described in the minigraph #} -{% set ports2cable = { - 'torrouter_server' : '5m', - 'leafrouter_torrouter' : '40m', - 'spinerouter_leafrouter' : '300m' - } -%} - -{%- macro cable_length(port_name) -%} - {%- set cable_len = [] -%} - {%- for local_port in DEVICE_NEIGHBOR -%} - {%- if local_port == port_name -%} - {%- if DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} - {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] -%} - {%- set neighbor_role = neighbor.type -%} - {%- set roles1 = switch_role + '_' + neighbor_role %} - {%- set roles2 = neighbor_role + '_' + switch_role -%} - {%- set roles1 = roles1 | lower -%} - {%- set roles2 = roles2 | lower -%} - {%- if roles1 in ports2cable -%} - {%- if cable_len.append(ports2cable[roles1]) -%}{%- endif -%} - {%- elif roles2 in ports2cable -%} - {%- if cable_len.append(ports2cable[roles2]) -%}{%- endif -%} - {%- endif -%} - {%- endif -%} - {%- endif -%} - {%- endfor -%} - {%- if cable_len -%} - {{ cable_len.0 }} - {%- else -%} - {{ default_cable }} - {%- endif -%} -{% endmacro %} - -{%- if DEVICE_METADATA is defined %} -{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} -{%- endif -%} - -{# Generate list of ports if not defined #} -{% if PORT is not defined %} - {% set PORT = [] %} - {% for port_idx in range(0,default_ports_num) %} - {% if PORT.append("Ethernet%d" % (port_idx*4)) %}{% endif %} - {% endfor %} -{% endif -%} - -{% set port_names_list = [] %} -{% for port in PORT %} - {%- if port_names_list.append(port) %}{% endif %} -{% endfor %} -{% set port_names = port_names_list | join(',') -%} - -{ - "CABLE_LENGTH": { - "AZURE": { - {% for port in PORT %} - {% set cable = cable_length(port) -%} - "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %} - - {% endfor %} - } - }, - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "12766208", - "type": "ingress", - "mode": "dynamic" - }, - "egress_lossless_pool": { - "size": "12766208", - "type": "egress", - "mode": "static" - }, - "egress_lossy_pool": { - "size": "8072396", - "type": "egress", - "mode": "dynamic" - } - }, - "BUFFER_PROFILE": { - "ingress_lossless_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "xon":"18432", - "xoff":"40560", - "size":"41808", - "dynamic_th":"-4", - "xon_offset":"2496" - }, - "ingress_lossy_profile": { - "pool":"[BUFFER_POOL|ingress_lossless_pool]", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"0", - "static_th":"12766208" - }, - "egress_lossy_profile": { - "pool":"[BUFFER_POOL|egress_lossy_pool]", - "size":"1518", - "dynamic_th":"3" - } - }, - "BUFFER_PG": { - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" - }, - "{{ port_names }}|0-1": { - "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" - } - }, - "BUFFER_QUEUE": { - "{{ port_names }}|3-4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" - }, - "{{ port_names }}|0-1": { - "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" - } - } -} diff --git a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers_defaults_t1.j2 b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers_defaults_t1.j2 new file mode 100644 index 0000000000..40d32ef316 --- /dev/null +++ b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers_defaults_t1.j2 @@ -0,0 +1,45 @@ +{%- set default_cable = '300m' %} + +{%- 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 * 4)) %}{% endif %} + {% endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "12766208", + "type": "ingress", + "mode": "dynamic" + }, + "egress_lossless_pool": { + "size": "12766208", + "type": "egress", + "mode": "static" + }, + "egress_lossy_pool": { + "size": "7582515", + "type": "egress", + "mode": "dynamic" + } + }, + "BUFFER_PROFILE": { + "ingress_lossy_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"3" + }, + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", + "static_th":"12766208" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"1518", + "dynamic_th":"3" + } + }, +{%- endmacro %} diff --git a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/pg_profile_lookup.ini b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/pg_profile_lookup.ini new file mode 100644 index 0000000000..135a598465 --- /dev/null +++ b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/pg_profile_lookup.ini @@ -0,0 +1,11 @@ +# PG lossless profiles. +# speed cable size xon xoff threshold xon_offset + 40000 5m 41808 18432 40560 -3 2496 + 50000 5m 41808 18432 40560 -3 2496 + 100000 5m 41808 18432 40560 -3 2496 + 40000 40m 51376 18432 50128 -3 2496 + 50000 40m 51376 18432 50128 -3 2496 + 100000 40m 51376 18432 50128 -3 2496 + 40000 300m 51376 18432 50128 -3 2496 + 50000 300m 51376 18432 50128 -3 2496 + 100000 300m 51376 18432 50128 -3 2496 diff --git a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/port_config.ini b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/port_config.ini index f34bb3fb8d..433700a5f3 100644 --- a/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/port_config.ini +++ b/device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/port_config.ini @@ -1,33 +1,33 @@ -# name lanes alias -Ethernet0 25,26,27,28 fortyGigE0/0 -Ethernet4 29,30,31,32 fortyGigE0/4 -Ethernet8 33,34,35,36 fortyGigE0/8 -Ethernet12 37,38,39,40 fortyGigE0/12 -Ethernet16 45,46,47,48 fortyGigE0/16 -Ethernet20 41,42,43,44 fortyGigE0/20 -Ethernet24 1,2,3,4 fortyGigE0/24 -Ethernet28 5,6,7,8 fortyGigE0/28 -Ethernet32 13,14,15,16 fortyGigE0/32 -Ethernet36 9,10,11,12 fortyGigE0/36 -Ethernet40 17,18,19,20 fortyGigE0/40 -Ethernet44 21,22,23,24 fortyGigE0/44 -Ethernet48 53,54,55,56 fortyGigE0/48 -Ethernet52 49,50,51,52 fortyGigE0/52 -Ethernet56 57,58,59,60 fortyGigE0/56 -Ethernet60 61,62,63,64 fortyGigE0/60 -Ethernet64 69,70,71,72 fortyGigE0/64 -Ethernet68 65,66,67,68 fortyGigE0/68 -Ethernet72 73,74,75,76 fortyGigE0/72 -Ethernet76 77,78,79,80 fortyGigE0/76 -Ethernet80 109,110,111,112 fortyGigE0/80 -Ethernet84 105,106,107,108 fortyGigE0/84 -Ethernet88 113,114,115,116 fortyGigE0/88 -Ethernet92 117,118,119,120 fortyGigE0/92 -Ethernet96 125,126,127,128 fortyGigE0/96 -Ethernet100 121,122,123,124 fortyGigE0/100 -Ethernet104 81,82,83,84 fortyGigE0/104 -Ethernet108 85,86,87,88 fortyGigE0/108 -Ethernet112 93,94,95,96 fortyGigE0/112 -Ethernet116 89,90,91,92 fortyGigE0/116 -Ethernet120 101,102,103,104 fortyGigE0/120 -Ethernet124 97,98,99,100 fortyGigE0/124 +# name lanes alias speed +Ethernet0 25,26,27,28 fortyGigE0/0 40000 +Ethernet4 29,30,31,32 fortyGigE0/4 40000 +Ethernet8 33,34,35,36 fortyGigE0/8 40000 +Ethernet12 37,38,39,40 fortyGigE0/12 40000 +Ethernet16 45,46,47,48 fortyGigE0/16 40000 +Ethernet20 41,42,43,44 fortyGigE0/20 40000 +Ethernet24 1,2,3,4 fortyGigE0/24 40000 +Ethernet28 5,6,7,8 fortyGigE0/28 40000 +Ethernet32 13,14,15,16 fortyGigE0/32 40000 +Ethernet36 9,10,11,12 fortyGigE0/36 40000 +Ethernet40 17,18,19,20 fortyGigE0/40 40000 +Ethernet44 21,22,23,24 fortyGigE0/44 40000 +Ethernet48 53,54,55,56 fortyGigE0/48 40000 +Ethernet52 49,50,51,52 fortyGigE0/52 40000 +Ethernet56 57,58,59,60 fortyGigE0/56 40000 +Ethernet60 61,62,63,64 fortyGigE0/60 40000 +Ethernet64 69,70,71,72 fortyGigE0/64 40000 +Ethernet68 65,66,67,68 fortyGigE0/68 40000 +Ethernet72 73,74,75,76 fortyGigE0/72 40000 +Ethernet76 77,78,79,80 fortyGigE0/76 40000 +Ethernet80 109,110,111,112 fortyGigE0/80 40000 +Ethernet84 105,106,107,108 fortyGigE0/84 40000 +Ethernet88 113,114,115,116 fortyGigE0/88 40000 +Ethernet92 117,118,119,120 fortyGigE0/92 40000 +Ethernet96 125,126,127,128 fortyGigE0/96 40000 +Ethernet100 121,122,123,124 fortyGigE0/100 40000 +Ethernet104 81,82,83,84 fortyGigE0/104 40000 +Ethernet108 85,86,87,88 fortyGigE0/108 40000 +Ethernet112 93,94,95,96 fortyGigE0/112 40000 +Ethernet116 89,90,91,92 fortyGigE0/116 40000 +Ethernet120 101,102,103,104 fortyGigE0/120 40000 +Ethernet124 97,98,99,100 fortyGigE0/124 40000 diff --git a/device/dell/x86_64-dell_s6100_c2538-r0/Force10-S6100/pg_profile_lookup.ini b/device/dell/x86_64-dell_s6100_c2538-r0/Force10-S6100/pg_profile_lookup.ini index 7222f80149..570454c8d5 100644 --- a/device/dell/x86_64-dell_s6100_c2538-r0/Force10-S6100/pg_profile_lookup.ini +++ b/device/dell/x86_64-dell_s6100_c2538-r0/Force10-S6100/pg_profile_lookup.ini @@ -1,17 +1,17 @@ # PG lossless profiles. # speed cable size xon xoff threshold xon_offset - 10000 5m 1248 2288 35776 -4 2288 - 25000 5m 1248 2288 53248 -4 2288 - 40000 5m 1248 2288 66560 -4 2288 - 50000 5m 1248 2288 79872 -4 2288 - 100000 5m 1248 2288 165568 -4 2288 - 10000 40m 1248 2288 37024 -4 2288 - 25000 40m 1248 2288 56160 -4 2288 - 40000 40m 1248 2288 71552 -4 2288 - 50000 40m 1248 2288 85696 -4 2288 - 100000 40m 1248 2288 177632 -4 2288 - 10000 300m 1248 2288 46176 -4 2288 - 25000 300m 1248 2288 79040 -4 2288 - 40000 300m 1248 2288 108160 -4 2288 - 50000 300m 1248 2288 131456 -4 2288 - 100000 300m 1248 2288 268736 -4 2288 + 10000 5m 1248 2288 35776 -3 2288 + 25000 5m 1248 2288 53248 -3 2288 + 40000 5m 1248 2288 66560 -3 2288 + 50000 5m 1248 2288 79872 -3 2288 + 100000 5m 1248 2288 165568 -3 2288 + 10000 40m 1248 2288 37024 -3 2288 + 25000 40m 1248 2288 56160 -3 2288 + 40000 40m 1248 2288 71552 -3 2288 + 50000 40m 1248 2288 85696 -3 2288 + 100000 40m 1248 2288 177632 -3 2288 + 10000 300m 1248 2288 46176 -3 2288 + 25000 300m 1248 2288 79040 -3 2288 + 40000 300m 1248 2288 108160 -3 2288 + 50000 300m 1248 2288 131456 -3 2288 + 100000 300m 1248 2288 268736 -3 2288 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 475a022714..018c2f96bc 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 @@ -83,6 +83,9 @@ }, "{{ port_names }}|0-1": { "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }, + "{{ port_names }}|5": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" } } {%- 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 c292ecc2f2..c315ccf595 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 @@ -83,6 +83,9 @@ }, "{{ port_names }}|0-1": { "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }, + "{{ port_names }}|5": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" } } {%- endmacro %} diff --git a/files/build_templates/buffers_config.j2 b/files/build_templates/buffers_config.j2 index 859ba7b307..7c9b22de19 100644 --- a/files/build_templates/buffers_config.j2 +++ b/files/build_templates/buffers_config.j2 @@ -129,6 +129,9 @@ def "BUFFER_PG": { "{{ port_names_active }}|0-1": { "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "{{ port_names_active }}|5": { + "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" } }, {% endif %} @@ -142,6 +145,9 @@ def }, "{{ port_names_active }}|0-1": { "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "{{ port_names_active }}|5": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" } } {% endif %} diff --git a/files/build_templates/qos_config.j2 b/files/build_templates/qos_config.j2 index 9a5c482621..a76a64e3fb 100644 --- a/files/build_templates/qos_config.j2 +++ b/files/build_templates/qos_config.j2 @@ -120,7 +120,7 @@ "43": "0", "44": "0", "45": "0", - "46": "0", + "46": "5", "47": "0", "48": "0", "49": "0", @@ -142,14 +142,6 @@ }, "SCHEDULER": { "scheduler.0": { - "type" : "DWRR", - "weight": "25" - }, - "scheduler.1": { - "type" : "DWRR", - "weight": "30" - }, - "scheduler.2": { "type" : "DWRR", "weight": "20" } @@ -176,37 +168,47 @@ }, "WRED_PROFILE": { "AZURE_LOSSLESS" : { - "wred_green_enable" : "true", - "wred_yellow_enable" : "true", - "wred_red_enable" : "true", - "ecn" : "ecn_all", - "green_max_threshold" : "312000", - "green_min_threshold" : "104000", - "yellow_max_threshold": "312000", - "yellow_min_threshold": "104000", - "red_max_threshold" : "312000", - "red_min_threshold" : "104000" + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" } }, "QUEUE": { {% for port in PORT_ACTIVE %} "{{ port }}|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, {% endfor %} {% for port in PORT_ACTIVE %} "{{ port }}|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" + }, +{% endfor %} +{% for port in PORT_ACTIVE %} + "{{ port }}|5": { + "scheduler": "[SCHEDULER|scheduler.0]" }{% if not loop.last %},{% endif %} {% endfor %} diff --git a/src/sonic-config-engine/tests/sample_output/buffers-dell6100.json b/src/sonic-config-engine/tests/sample_output/buffers-dell6100.json index 9f2ae65839..6552f62257 100644 --- a/src/sonic-config-engine/tests/sample_output/buffers-dell6100.json +++ b/src/sonic-config-engine/tests/sample_output/buffers-dell6100.json @@ -107,6 +107,9 @@ "BUFFER_PG": { "Ethernet0,Ethernet1,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet48,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58|0-1": { "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" + }, + "Ethernet0,Ethernet1,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet48,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58|5": { + "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" } }, @@ -116,6 +119,9 @@ }, "Ethernet0,Ethernet1,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet48,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58|0-1": { "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" + }, + "Ethernet0,Ethernet1,Ethernet4,Ethernet5,Ethernet6,Ethernet7,Ethernet8,Ethernet9,Ethernet10,Ethernet11,Ethernet12,Ethernet13,Ethernet14,Ethernet15,Ethernet16,Ethernet17,Ethernet20,Ethernet21,Ethernet22,Ethernet23,Ethernet24,Ethernet25,Ethernet26,Ethernet27,Ethernet28,Ethernet29,Ethernet30,Ethernet31,Ethernet32,Ethernet36,Ethernet37,Ethernet38,Ethernet39,Ethernet40,Ethernet41,Ethernet42,Ethernet48,Ethernet52,Ethernet53,Ethernet54,Ethernet55,Ethernet56,Ethernet57,Ethernet58|5": { + "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" } } } diff --git a/src/sonic-config-engine/tests/sample_output/qos-dell6100.json b/src/sonic-config-engine/tests/sample_output/qos-dell6100.json index b4a377ef97..2d442ca252 100644 --- a/src/sonic-config-engine/tests/sample_output/qos-dell6100.json +++ b/src/sonic-config-engine/tests/sample_output/qos-dell6100.json @@ -83,7 +83,7 @@ "43": "0", "44": "0", "45": "0", - "46": "0", + "46": "5", "47": "0", "48": "0", "49": "0", @@ -105,14 +105,6 @@ }, "SCHEDULER": { "scheduler.0": { - "type" : "DWRR", - "weight": "25" - }, - "scheduler.1": { - "type" : "DWRR", - "weight": "30" - }, - "scheduler.2": { "type" : "DWRR", "weight": "20" } @@ -128,546 +120,769 @@ }, "WRED_PROFILE": { "AZURE_LOSSLESS" : { - "wred_green_enable" : "true", - "wred_yellow_enable" : "true", - "wred_red_enable" : "true", - "ecn" : "ecn_all", - "green_max_threshold" : "312000", - "green_min_threshold" : "104000", - "yellow_max_threshold": "312000", - "yellow_min_threshold": "104000", - "red_max_threshold" : "312000", - "red_min_threshold" : "104000" + "wred_green_enable" : "true", + "wred_yellow_enable" : "true", + "wred_red_enable" : "true", + "ecn" : "ecn_all", + "green_max_threshold" : "2097152", + "green_min_threshold" : "1048576", + "yellow_max_threshold" : "2097152", + "yellow_min_threshold" : "1048576", + "red_max_threshold" : "2097152", + "red_min_threshold" : "1048576", + "green_drop_probability" : "5", + "yellow_drop_probability": "5", + "red_drop_probability" : "5" } }, "QUEUE": { "Ethernet0|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet1|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet4|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet5|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet6|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet7|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet8|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet9|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet10|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet11|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet12|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet13|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet14|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet15|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet16|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet17|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet20|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet21|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet22|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet23|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet24|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet25|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet26|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet27|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet28|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet29|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet30|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet31|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet32|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet36|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet37|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet38|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet39|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet40|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet41|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet42|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet48|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet52|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet53|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet54|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet55|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet56|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet57|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet58|3": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet0|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet1|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet4|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet5|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet6|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet7|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet8|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet9|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet10|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet11|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet12|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet13|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet14|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet15|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet16|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet17|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet20|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet21|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet22|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet23|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet24|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet25|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet26|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet27|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet28|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet29|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet30|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet31|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet32|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet36|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet37|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet38|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet39|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet40|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet41|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet42|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet48|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet52|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet53|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet54|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet55|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet56|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet57|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet58|4": { - "scheduler": "[SCHEDULER|scheduler.0]" + "scheduler" : "[SCHEDULER|scheduler.0]", + "wred_profile": "[WRED_PROFILE|AZURE_LOSSLESS]" }, "Ethernet0|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet1|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet4|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet5|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet6|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet7|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet8|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet9|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet10|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet11|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet12|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet13|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet14|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet15|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet16|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet17|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet20|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet21|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet22|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet23|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet24|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet25|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet26|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet27|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet28|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet29|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet30|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet31|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet32|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet36|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet37|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet38|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet39|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet40|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet41|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet42|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet48|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet52|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet53|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet54|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet55|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet56|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet57|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet58|0": { - "scheduler": "[SCHEDULER|scheduler.1]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet0|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet1|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet4|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet5|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet6|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet7|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet8|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet9|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet10|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet11|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet12|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet13|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet14|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet15|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet16|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet17|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet20|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet21|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet22|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet23|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet24|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet25|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet26|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet27|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet28|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet29|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet30|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet31|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet32|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet36|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet37|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet38|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet39|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet40|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet41|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet42|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet48|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet52|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet53|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet54|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet55|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet56|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet57|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" }, "Ethernet58|1": { - "scheduler": "[SCHEDULER|scheduler.2]" + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet0|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet1|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet4|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet5|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet6|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet7|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet8|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet9|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet10|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet11|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet12|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet13|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet14|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet15|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet16|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet17|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet20|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet21|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet22|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet23|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet24|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet25|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet26|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet27|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet28|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet29|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet30|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet31|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet32|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet36|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet37|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet38|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet39|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet40|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet41|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet42|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet48|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet52|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet53|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet54|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet55|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet56|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet57|5": { + "scheduler": "[SCHEDULER|scheduler.0]" + }, + "Ethernet58|5": { + "scheduler": "[SCHEDULER|scheduler.0]" } } }