From 6625bbee2f4f36b541a4d618b8e9e0969cb435fa Mon Sep 17 00:00:00 2001 From: Wenda Date: Mon, 29 Jan 2018 20:32:08 +0000 Subject: [PATCH 01/10] Add swssconfig for hwsku Arista-7050-QX-32S Signed-off-by: Wenda --- dockers/docker-orchagent/swssconfig.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dockers/docker-orchagent/swssconfig.sh b/dockers/docker-orchagent/swssconfig.sh index 959b6714d27..61b67ddf0b2 100755 --- a/dockers/docker-orchagent/swssconfig.sh +++ b/dockers/docker-orchagent/swssconfig.sh @@ -37,6 +37,8 @@ elif [ "$HWSKU" == "Force10-S6100" ]; then SWSSCONFIG_ARGS+="th.64ports.buffers.json th.64ports.qos.json " elif [ "$HWSKU" == "Arista-7050-QX32" ]; then SWSSCONFIG_ARGS+="td2.32ports.buffers.json td2.32ports.qos.json " +elif [ "$HWSKU" == "Arista-7050-QX-32S" ]; then + SWSSCONFIG_ARGS+="td2.32ports.buffers.json td2.32ports.qos.json " elif [[ "$HWSKU" == "ACS-MSN27"* ]] || [[ "$HWSKU" == "Mellanox-SN2700" ]]; then sonic-cfggen -d -t /usr/share/sonic/templates/msn27xx.32ports.buffers.json.j2 > /etc/swss/config.d/msn27xx.32ports.buffers.json SWSSCONFIG_ARGS+="msn27xx.32ports.buffers.json " From 70c1f47d9b343f7ed8cef8fd53711d07e7ae8248 Mon Sep 17 00:00:00 2001 From: Wenda Date: Thu, 8 Mar 2018 18:05:03 +0000 Subject: [PATCH 02/10] Improve memory utilization through more sharing at the ingress Signed-off-by: Wenda --- .../Arista-7050-QX-32S/buffers.json.j2 | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 index 376bdab77d8..31efd0634ad 100644 --- a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 +++ b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 @@ -68,15 +68,10 @@ } }, "BUFFER_POOL": { - "ingress_lossless_pool0": { - "size": "3637248", + "ingress_lossless_pool": { + "size": "7274496", "type": "ingress", - "mode": "static" - }, - "ingress_lossless_pool1": { - "size": "3637248", - "type": "ingress", - "mode": "static" + "mode": "dynamic" }, "ingress_lossy_pool": { "size": "5491712", @@ -100,19 +95,13 @@ } }, "BUFFER_PROFILE": { - "ingress_lossless_profile0": { - "pool":"[BUFFER_POOL|ingress_lossless_pool0]", + "ingress_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", "xon":"18432", "xoff":"76800", - "size":"113664", - "static_th":"0" - }, - "ingress_lossless_profile1": { - "pool":"[BUFFER_POOL|ingress_lossless_pool1]", - "xon":"18432", - "xoff":"76800", - "size":"113664", - "static_th":"0" + "size":"78048", + "dynamic_th":"-3", + "xon_offset":"2496" }, "ingress_lossy_profile": { "pool":"[BUFFER_POOL|ingress_lossy_pool]", @@ -136,11 +125,8 @@ } }, "BUFFER_PG": { - "{{ port_names }}|3": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile0]" - }, - "{{ port_names }}|4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile1]" + "{{ port_names }}|3-4": { + "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" }, "{{ port_names }}|0-1": { "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" From b5e72007fa43554648be783b244eac17b1980244 Mon Sep 17 00:00:00 2001 From: Wenda Date: Sat, 10 Mar 2018 03:09:08 +0000 Subject: [PATCH 03/10] Apply buffers config changes on A7050-QX-32S to A7050-QX32 Signed-off-by: Wenda --- .../Arista-7050-QX32/buffers.json.j2 | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) 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 376bdab77d8..31efd0634ad 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 @@ -68,15 +68,10 @@ } }, "BUFFER_POOL": { - "ingress_lossless_pool0": { - "size": "3637248", + "ingress_lossless_pool": { + "size": "7274496", "type": "ingress", - "mode": "static" - }, - "ingress_lossless_pool1": { - "size": "3637248", - "type": "ingress", - "mode": "static" + "mode": "dynamic" }, "ingress_lossy_pool": { "size": "5491712", @@ -100,19 +95,13 @@ } }, "BUFFER_PROFILE": { - "ingress_lossless_profile0": { - "pool":"[BUFFER_POOL|ingress_lossless_pool0]", + "ingress_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", "xon":"18432", "xoff":"76800", - "size":"113664", - "static_th":"0" - }, - "ingress_lossless_profile1": { - "pool":"[BUFFER_POOL|ingress_lossless_pool1]", - "xon":"18432", - "xoff":"76800", - "size":"113664", - "static_th":"0" + "size":"78048", + "dynamic_th":"-3", + "xon_offset":"2496" }, "ingress_lossy_profile": { "pool":"[BUFFER_POOL|ingress_lossy_pool]", @@ -136,11 +125,8 @@ } }, "BUFFER_PG": { - "{{ port_names }}|3": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile0]" - }, - "{{ port_names }}|4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile1]" + "{{ port_names }}|3-4": { + "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" }, "{{ port_names }}|0-1": { "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" From c645b97f3be5fe6545431f803a24e336e0a5b11f Mon Sep 17 00:00:00 2001 From: Wenda Date: Sat, 10 Mar 2018 03:26:21 +0000 Subject: [PATCH 04/10] Apply buffers config changes on A7050-QX-32S to S6000 --- .../Force10-S6000/buffers.json.j2 | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) 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 376bdab77d8..31efd0634ad 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 @@ -68,15 +68,10 @@ } }, "BUFFER_POOL": { - "ingress_lossless_pool0": { - "size": "3637248", + "ingress_lossless_pool": { + "size": "7274496", "type": "ingress", - "mode": "static" - }, - "ingress_lossless_pool1": { - "size": "3637248", - "type": "ingress", - "mode": "static" + "mode": "dynamic" }, "ingress_lossy_pool": { "size": "5491712", @@ -100,19 +95,13 @@ } }, "BUFFER_PROFILE": { - "ingress_lossless_profile0": { - "pool":"[BUFFER_POOL|ingress_lossless_pool0]", + "ingress_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", "xon":"18432", "xoff":"76800", - "size":"113664", - "static_th":"0" - }, - "ingress_lossless_profile1": { - "pool":"[BUFFER_POOL|ingress_lossless_pool1]", - "xon":"18432", - "xoff":"76800", - "size":"113664", - "static_th":"0" + "size":"78048", + "dynamic_th":"-3", + "xon_offset":"2496" }, "ingress_lossy_profile": { "pool":"[BUFFER_POOL|ingress_lossy_pool]", @@ -136,11 +125,8 @@ } }, "BUFFER_PG": { - "{{ port_names }}|3": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile0]" - }, - "{{ port_names }}|4": { - "profile" : "[BUFFER_PROFILE|ingress_lossless_profile1]" + "{{ port_names }}|3-4": { + "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" }, "{{ port_names }}|0-1": { "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]" From ad9acada9a4372cabb0ab2f143639110e432f7e6 Mon Sep 17 00:00:00 2001 From: Wenda Date: Wed, 14 Mar 2018 03:27:29 +0000 Subject: [PATCH 05/10] Consolidate egress pools of lossless traffic Signed-off-by: Wenda --- .../Arista-7050-QX-32S/buffers.json.j2 | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 index 31efd0634ad..2e595d028c7 100644 --- a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 +++ b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 @@ -78,13 +78,8 @@ "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool0": { - "size": "3637248", - "type": "egress", - "mode": "static" - }, - "egress_lossless_pool1": { - "size": "3637248", + "egress_lossless_pool": { + "size": "7274496", "type": "egress", "mode": "static" }, @@ -108,15 +103,10 @@ "size":"1518", "dynamic_th":"3" }, - "egress_lossless_profile0": { - "pool":"[BUFFER_POOL|egress_lossless_pool0]", + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", "size":"1518", - "static_th":"3637248" - }, - "egress_lossless_profile1": { - "pool":"[BUFFER_POOL|egress_lossless_pool1]", - "size":"1518", - "static_th":"3637248" + "static_th":"7274496" }, "egress_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", @@ -133,11 +123,8 @@ } }, "BUFFER_QUEUE": { - "{{ port_names }}|3": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile0]" - }, - "{{ port_names }}|4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile1]" + "{{ port_names }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" }, "{{ port_names }}|0-1": { "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" From aefadfe10397c5aaf1e3e79ceb9f46056fef5da9 Mon Sep 17 00:00:00 2001 From: Wenda Date: Wed, 14 Mar 2018 21:44:37 +0000 Subject: [PATCH 06/10] Consolidate egress pools of lossless traffic on A7050-QX32 Signed-off-by: Wenda --- .../Arista-7050-QX32/buffers.json.j2 | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) 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 31efd0634ad..2e595d028c7 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 @@ -78,13 +78,8 @@ "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool0": { - "size": "3637248", - "type": "egress", - "mode": "static" - }, - "egress_lossless_pool1": { - "size": "3637248", + "egress_lossless_pool": { + "size": "7274496", "type": "egress", "mode": "static" }, @@ -108,15 +103,10 @@ "size":"1518", "dynamic_th":"3" }, - "egress_lossless_profile0": { - "pool":"[BUFFER_POOL|egress_lossless_pool0]", + "egress_lossless_profile": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", "size":"1518", - "static_th":"3637248" - }, - "egress_lossless_profile1": { - "pool":"[BUFFER_POOL|egress_lossless_pool1]", - "size":"1518", - "static_th":"3637248" + "static_th":"7274496" }, "egress_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", @@ -133,11 +123,8 @@ } }, "BUFFER_QUEUE": { - "{{ port_names }}|3": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile0]" - }, - "{{ port_names }}|4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile1]" + "{{ port_names }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" }, "{{ port_names }}|0-1": { "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" From b110822ffe9190a190dd4a6dcb3691e5b3ed2f5b Mon Sep 17 00:00:00 2001 From: Wenda Date: Wed, 14 Mar 2018 21:54:09 +0000 Subject: [PATCH 07/10] Consolidate egress lossless pools for S6000 --- .../Force10-S6000/buffers.json.j2 | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) 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 31efd0634ad..ac34a26383a 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 @@ -78,13 +78,8 @@ "type": "ingress", "mode": "dynamic" }, - "egress_lossless_pool0": { - "size": "3637248", - "type": "egress", - "mode": "static" - }, - "egress_lossless_pool1": { - "size": "3637248", + "egress_lossless_pool": { + "size": "7274496", "type": "egress", "mode": "static" }, @@ -108,15 +103,10 @@ "size":"1518", "dynamic_th":"3" }, - "egress_lossless_profile0": { - "pool":"[BUFFER_POOL|egress_lossless_pool0]", + "egress_lossless_profle": { + "pool":"[BUFFER_POOL|egress_lossless_pool]", "size":"1518", - "static_th":"3637248" - }, - "egress_lossless_profile1": { - "pool":"[BUFFER_POOL|egress_lossless_pool1]", - "size":"1518", - "static_th":"3637248" + "static_th":"7274496" }, "egress_lossy_profile": { "pool":"[BUFFER_POOL|egress_lossy_pool]", @@ -133,11 +123,8 @@ } }, "BUFFER_QUEUE": { - "{{ port_names }}|3": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile0]" - }, - "{{ port_names }}|4": { - "profile" : "[BUFFER_PROFILE|egress_lossless_profile1]" + "{{ port_names }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" }, "{{ port_names }}|0-1": { "profile" : "[BUFFER_PROFILE|egress_lossy_profile]" From c0b3275c637a604d16f344be4d959f99538a2d60 Mon Sep 17 00:00:00 2001 From: Wenda Date: Thu, 15 Mar 2018 17:46:23 +0000 Subject: [PATCH 08/10] Correct typo Signed-off-by: Wenda --- .../x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers.json.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ac34a26383a..2e595d028c7 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 @@ -103,7 +103,7 @@ "size":"1518", "dynamic_th":"3" }, - "egress_lossless_profle": { + "egress_lossless_profile": { "pool":"[BUFFER_POOL|egress_lossless_pool]", "size":"1518", "static_th":"7274496" From 6e8e24cab898893345327ea75f4e3a2c7d6be509 Mon Sep 17 00:00:00 2001 From: Wenda Date: Sat, 17 Mar 2018 04:49:46 +0000 Subject: [PATCH 09/10] Reduce xoff size for in-flight packets of lossless traffic Remove min buffer size per queue Signed-off-by: Wenda --- .../x86_64-arista_7050_qx32/Arista-7050-QX32/buffers.json.j2 | 5 ++--- .../Arista-7050-QX-32S/buffers.json.j2 | 5 ++--- .../x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers.json.j2 | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) 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 2e595d028c7..5170abbcd20 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 @@ -93,8 +93,8 @@ "ingress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", "xon":"18432", - "xoff":"76800", - "size":"78048", + "xoff":"40560", + "size":"41808", "dynamic_th":"-3", "xon_offset":"2496" }, @@ -105,7 +105,6 @@ }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"1518", "static_th":"7274496" }, "egress_lossy_profile": { diff --git a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 index 2e595d028c7..5170abbcd20 100644 --- a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 +++ b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 @@ -93,8 +93,8 @@ "ingress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", "xon":"18432", - "xoff":"76800", - "size":"78048", + "xoff":"40560", + "size":"41808", "dynamic_th":"-3", "xon_offset":"2496" }, @@ -105,7 +105,6 @@ }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"1518", "static_th":"7274496" }, "egress_lossy_profile": { 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 2e595d028c7..5170abbcd20 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 @@ -93,8 +93,8 @@ "ingress_lossless_profile": { "pool":"[BUFFER_POOL|ingress_lossless_pool]", "xon":"18432", - "xoff":"76800", - "size":"78048", + "xoff":"40560", + "size":"41808", "dynamic_th":"-3", "xon_offset":"2496" }, @@ -105,7 +105,6 @@ }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|egress_lossless_pool]", - "size":"1518", "static_th":"7274496" }, "egress_lossy_profile": { From 3d9b5f17c3753889aac33c5293a072db54597d2f Mon Sep 17 00:00:00 2001 From: Wenda Date: Sat, 17 Mar 2018 05:52:23 +0000 Subject: [PATCH 10/10] Must explicitly specify min buffer size per queue to be zero Signed-off-by: Wenda --- .../x86_64-arista_7050_qx32/Arista-7050-QX32/buffers.json.j2 | 1 + .../x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 | 1 + .../x86_64-dell_s6000_s1220-r0/Force10-S6000/buffers.json.j2 | 1 + 3 files changed, 3 insertions(+) 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 5170abbcd20..10f9da575a1 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 @@ -105,6 +105,7 @@ }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", "static_th":"7274496" }, "egress_lossy_profile": { diff --git a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 index 5170abbcd20..10f9da575a1 100644 --- a/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 +++ b/device/arista/x86_64-arista_7050_qx32s/Arista-7050-QX-32S/buffers.json.j2 @@ -105,6 +105,7 @@ }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", "static_th":"7274496" }, "egress_lossy_profile": { 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 5170abbcd20..10f9da575a1 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 @@ -105,6 +105,7 @@ }, "egress_lossless_profile": { "pool":"[BUFFER_POOL|egress_lossless_pool]", + "size":"0", "static_th":"7274496" }, "egress_lossy_profile": {