Skip to content

Commit

Permalink
Support shared headroom pool for Microsoft SKUs (#6366)
Browse files Browse the repository at this point in the history
- Why I did it
Support shared headroom pool

Signed-off-by: Stephen Sun [email protected]

- How I did it
Port configurations for SKUs based on 2700/3800 platform from 201911
For SN3800 platform:
C64: 32 100G down links and 32 100G up links.
D112C8: 112 50G down links and 8 100G up links.
D24C52: 24 50G down links, 20 100G down links, and 32 100G up links.
D28C50: 28 50G down links, 18 100G down links, and 32 100G up links.
For SN2700 platform:
D48C8: 48 50G down links and 8 100G up links
C32: 16 100G downlinks and 16 100G uplinks
Add configuration for Mellanox-SN4600C-D112C8
112 50G down links and 8 100G up links.

- How to verify it
Run regression test.
  • Loading branch information
stephenxs authored Feb 16, 2021
1 parent f6bee73 commit 7790a74
Show file tree
Hide file tree
Showing 17 changed files with 105 additions and 77 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '6687744' %}
{% set ingress_lossless_pool_size = '7719936' %}
{% set ingress_lossless_pool_xoff = '1032192' %}
{% set egress_lossless_pool_size = '13945824' %}
{% set egress_lossy_pool_size = '6687744' %}
{% set egress_lossy_pool_size = '7719936' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '8506368' %}
{% set ingress_lossless_pool_size = '9686016' %}
{% set ingress_lossless_pool_xoff = '1179648' %}
{% set egress_lossless_pool_size = '13945824' %}
{% set egress_lossy_pool_size = '8506368' %}
{% set egress_lossy_pool_size = '9686016' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold
10000 5m 41984 19456 22528 0
25000 5m 41984 19456 22528 0
40000 5m 41984 19456 22528 0
50000 5m 41984 19456 22528 0
100000 5m 43008 19456 23552 0
10000 40m 41984 19456 22528 0
25000 40m 44032 19456 24576 0
40000 40m 45056 19456 25600 0
50000 40m 45056 19456 25600 0
100000 40m 49152 19456 29696 0
10000 300m 47104 19456 27648 0
25000 300m 56320 19456 36864 0
40000 300m 64512 19456 45056 0
50000 300m 69632 19456 50176 0
100000 300m 98304 19456 78848 0
10000 5m 19456 19456 22528 0
25000 5m 19456 19456 22528 0
40000 5m 19456 19456 22528 0
50000 5m 19456 19456 22528 0
100000 5m 19456 19456 23552 0
10000 40m 19456 19456 22528 0
25000 40m 19456 19456 24576 0
40000 40m 19456 19456 25600 0
50000 40m 19456 19456 25600 0
100000 40m 19456 19456 29696 0
10000 300m 19456 19456 27648 0
25000 300m 19456 19456 36864 0
40000 300m 19456 19456 45056 0
50000 300m 19456 19456 50176 0
100000 300m 19456 19456 78848 0
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '9489408' %}
{% set ingress_lossless_pool_size = '10177536' %}
{% set ingress_lossless_pool_xoff = '688128' %}
{% set egress_lossless_pool_size = '13945824' %}
{% set egress_lossy_pool_size = '9489408' %}
{% set egress_lossy_pool_size = '10177536' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '7719936' %}
{% set ingress_lossless_pool_size = '9292800' %}
{% set ingress_lossless_pool_xoff = '1572864' %}
{% set egress_lossless_pool_size = '13945824' %}
{% set egress_lossy_pool_size = '7719936' %}
{% set egress_lossy_pool_size = '9292800' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '23343104' %}
{% set ingress_lossless_pool_size = '25866240' %}
{% set ingress_lossless_pool_xoff = '2523136' %}
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '23343104' %}
{% set egress_lossy_pool_size = '25866240' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '19410944' %}
{% set ingress_lossless_pool_size = '23900160' %}
{% set ingress_lossless_pool_xoff = '4489216' %}
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '19410944' %}
{% set egress_lossy_pool_size = '23900160' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '16576512' %}
{% set ingress_lossless_pool_size = '20017152' %}
{% set ingress_lossless_pool_xoff = '3440640' %}
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '16576512' %}
{% set egress_lossy_pool_size = '20017152' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '14790656' %}
{% set ingress_lossless_pool_size = '19124224' %}
{% set ingress_lossless_pool_xoff = '4333568' %}
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '14790656' %}
{% set egress_lossy_pool_size = '19124224' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold
10000 5m 45056 19456 25600 0
25000 5m 48128 19456 28672 0
40000 5m 50176 19456 30720 0
50000 5m 52224 19456 32768 0
100000 5m 60416 19456 40960 0
10000 40m 46080 19456 26624 0
25000 40m 50176 19456 30720 0
40000 40m 53248 19456 33792 0
50000 40m 56320 19456 36864 0
100000 40m 67584 19456 48128 0
10000 300m 51200 19456 31744 0
25000 300m 63488 19456 44032 0
40000 300m 74752 19456 55296 0
50000 300m 82944 19456 63488 0
100000 300m 121856 19456 102400 0
10000 5m 19456 19456 25600 0
25000 5m 19456 19456 28672 0
40000 5m 19456 19456 30720 0
50000 5m 19456 19456 32768 0
100000 5m 19456 19456 40960 0
10000 40m 19456 19456 26624 0
25000 40m 19456 19456 30720 0
40000 40m 19456 19456 33792 0
50000 40m 19456 19456 36864 0
100000 40m 19456 19456 48128 0
10000 300m 19456 19456 31744 0
25000 300m 19456 19456 44032 0
40000 300m 19456 19456 55296 0
50000 300m 19456 19456 63488 0
100000 300m 19456 19456 102400 0
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '21819392' %}
{% set ingress_lossless_pool_size = '24576000' %}
{% set ingress_lossless_pool_xoff = '2756608' %}
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '21819392' %}
{% set egress_lossy_pool_size = '24576000' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '17862656' %}
{% set ingress_lossless_pool_size = '22597632' %}
{% set ingress_lossless_pool_xoff = '4734976' %}
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '17862656' %}
{% set egress_lossy_pool_size = '22597632' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '21565440' %}
{% set ingress_lossless_pool_size = '24360960' %}
{% set ingress_lossless_pool_xoff = '2795520' %}
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '21565440' %}
{% set egress_lossy_pool_size = '24360960' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '17604608' %}
{% set ingress_lossless_pool_size = '22380544' %}
{% set ingress_lossless_pool_xoff = '4775936' %}
{% set egress_lossless_pool_size = '34287552' %}
{% set egress_lossy_pool_size = '17604608' %}
{% set egress_lossy_pool_size = '22380544' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_pool_xoff }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '56369152' %}
{% set ingress_lossless_pool_size = '47587328' %}
{% set ingress_lossless_xoff_size = '2400256' %}
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '56369152' %}
{% set egress_lossy_pool_size = '47587328' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_xoff_size }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand All @@ -39,7 +41,7 @@
"dynamic_th":"7"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossy_pool]",
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
Expand All @@ -50,7 +52,7 @@
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"4096",
"size":"9216",
"dynamic_th":"7"
},
"q_lossy_profile": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '55115776' %}
{% set ingress_lossless_pool_size = '46702592' %}
{% set ingress_lossless_xoff_size = '3284992' %}
{% set egress_lossless_pool_size = '60817392' %}
{% set egress_lossy_pool_size = '55115776' %}
{% set egress_lossy_pool_size = '46702592' %}

{%- macro generate_port_lists(PORT_ALL) %}
{# Generate list of ports #}
Expand All @@ -15,6 +16,7 @@
"ingress_lossless_pool": {
{%- if dynamic_mode is not defined %}
"size": "{{ ingress_lossless_pool_size }}",
"xoff": "{{ ingress_lossless_xoff_size }}",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
Expand All @@ -39,7 +41,7 @@
"dynamic_th":"7"
},
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossy_pool]",
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
Expand All @@ -50,7 +52,7 @@
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"4096",
"size":"9216",
"dynamic_th":"7"
},
"q_lossy_profile": {
Expand Down
Loading

0 comments on commit 7790a74

Please sign in to comment.