-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix buffer configurations for 7170 #2972
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,8 @@ | ||
{%- set default_cable = '5m' %} | ||
{% set default_cable = '5m' %} | ||
{% set ingress_lossless_pool_size = '4194304' %} | ||
{% set ingress_lossy_pool_size = '7340032' %} | ||
{% set egress_lossless_pool_size = '16777152' %} | ||
{% set egress_lossy_pool_size = '7340032' %} | ||
|
||
{%- macro generate_port_lists(PORT_ALL) %} | ||
{# Generate list of ports #} | ||
|
@@ -10,37 +14,66 @@ | |
{%- macro generate_buffer_pool_and_profiles() %} | ||
"BUFFER_POOL": { | ||
"ingress_lossless_pool": { | ||
"size": "33329088", | ||
"size": "{{ ingress_lossless_pool_size }}", | ||
"type": "ingress", | ||
"mode": "dynamic", | ||
"xoff": "7827456" | ||
"xoff": "2867200" | ||
}, | ||
"egress_lossy_pool": { | ||
"size": "26663272", | ||
"type": "egress", | ||
"ingress_lossy_pool": { | ||
"size": "{{ ingress_lossy_pool_size }}", | ||
"type": "ingress", | ||
"mode": "dynamic" | ||
}, | ||
"egress_lossless_pool": { | ||
"size": "42349632", | ||
"size": "{{ egress_lossless_pool_size }}", | ||
"type": "egress", | ||
"mode": "dynamic" | ||
}, | ||
"egress_lossy_pool": { | ||
"size": "{{ egress_lossy_pool_size }}", | ||
"type": "egress", | ||
"mode": "static" | ||
"mode": "dynamic" | ||
} | ||
}, | ||
"BUFFER_PROFILE": { | ||
"ingress_lossy_profile": { | ||
"pool":"[BUFFER_POOL|ingress_lossless_pool]", | ||
"size":"0", | ||
"static_th":"44302336" | ||
"pool":"[BUFFER_POOL|ingress_lossy_pool]", | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
}, | ||
"egress_lossless_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossless_pool]", | ||
"size":"0", | ||
"static_th":"42349632" | ||
"dynamic_th":"7" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we should avoid any egress packet drop for lossless traffic. previously configuration was to avoid any packet drop at egress. I do not think current configuration can guarantee no packet drop at egress for lossless traffic. |
||
}, | ||
"egress_lossy_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossy_pool]", | ||
"size":"1664", | ||
"dynamic_th":"-1" | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
}, | ||
"q_lossy_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossy_pool]", | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
} | ||
}, | ||
{%- endmacro %} | ||
|
||
{%- macro generate_pg_profils(port_names) %} | ||
"BUFFER_PG": { | ||
"{{ port_names }}|3-4": { | ||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" | ||
} | ||
}, | ||
{%- endmacro %} | ||
|
||
{%- macro generate_queue_buffers(port_names) %} | ||
"BUFFER_QUEUE": { | ||
"{{ port_names }}|3-4": { | ||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" | ||
}, | ||
"{{ port_names }}|0-1": { | ||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]" | ||
} | ||
} | ||
{%- endmacro %} |
79 changes: 79 additions & 0 deletions
79
device/arista/x86_64-arista_7170_64c/Arista-7170-64C/buffers_defaults_t1.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
{% set default_cable = '5m' %} | ||
{% set ingress_lossless_pool_size = '2097152' %} | ||
{% set ingress_lossy_pool_size = '5242880' %} | ||
{% set egress_lossless_pool_size = '16777152' %} | ||
{% set egress_lossy_pool_size = '5242880' %} | ||
|
||
{%- macro generate_port_lists(PORT_ALL) %} | ||
{# Generate list of ports #} | ||
{%- for port_idx in range(0,64) %} | ||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %} | ||
{%- endfor %} | ||
{%- endmacro %} | ||
|
||
{%- macro generate_buffer_pool_and_profiles() %} | ||
"BUFFER_POOL": { | ||
"ingress_lossless_pool": { | ||
"size": "{{ ingress_lossless_pool_size }}", | ||
"type": "ingress", | ||
"mode": "dynamic", | ||
"xoff": "2867200" | ||
}, | ||
"ingress_lossy_pool": { | ||
"size": "{{ ingress_lossy_pool_size }}", | ||
"type": "ingress", | ||
"mode": "dynamic" | ||
}, | ||
"egress_lossless_pool": { | ||
"size": "{{ egress_lossless_pool_size }}", | ||
"type": "egress", | ||
"mode": "dynamic" | ||
}, | ||
"egress_lossy_pool": { | ||
"size": "{{ egress_lossy_pool_size }}", | ||
"type": "egress", | ||
"mode": "dynamic" | ||
} | ||
}, | ||
"BUFFER_PROFILE": { | ||
"ingress_lossy_profile": { | ||
"pool":"[BUFFER_POOL|ingress_lossy_pool]", | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
}, | ||
"egress_lossless_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossless_pool]", | ||
"size":"0", | ||
"dynamic_th":"7" | ||
}, | ||
"egress_lossy_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossy_pool]", | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
}, | ||
"q_lossy_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossy_pool]", | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
} | ||
}, | ||
{%- endmacro %} | ||
|
||
{%- macro generate_pg_profils(port_names) %} | ||
"BUFFER_PG": { | ||
"{{ port_names }}|3-4": { | ||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" | ||
} | ||
}, | ||
{%- endmacro %} | ||
|
||
{%- macro generate_queue_buffers(port_names) %} | ||
"BUFFER_QUEUE": { | ||
"{{ port_names }}|3-4": { | ||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" | ||
}, | ||
"{{ port_names }}|0-1": { | ||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]" | ||
} | ||
} | ||
{%- endmacro %} |
17 changes: 17 additions & 0 deletions
17
device/arista/x86_64-arista_7170_64c/Arista-7170-64C/pg_profile_lookup.ini
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# PG lossless profiles. | ||
# speed cable size xon xoff threshold | ||
10000 5m 34816 18432 16384 7 | ||
25000 5m 34816 18432 16384 7 | ||
40000 5m 34816 18432 16384 7 | ||
50000 5m 34816 18432 16384 7 | ||
100000 5m 36864 18432 18432 7 | ||
10000 40m 36864 18432 18432 7 | ||
25000 40m 39936 18432 21504 7 | ||
40000 40m 41984 18432 23552 7 | ||
50000 40m 41984 18432 23552 7 | ||
100000 40m 54272 18432 35840 7 | ||
10000 300m 49152 18432 30720 7 | ||
25000 300m 71680 18432 53248 7 | ||
40000 300m 94208 18432 75776 7 | ||
50000 300m 94208 18432 75776 7 | ||
100000 300m 184320 18432 165888 7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
91 changes: 91 additions & 0 deletions
91
device/arista/x86_64-arista_7170_64c/Arista-7170-Q59S20/buffers_defaults_t1.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
{% set default_cable = '5m' %} | ||
{% set ingress_lossless_pool_size = '2097152' %} | ||
{% set ingress_lossy_pool_size = '5242880' %} | ||
{% set egress_lossless_pool_size = '16777152' %} | ||
{% set egress_lossy_pool_size = '5242880' %} | ||
|
||
{%- macro generate_port_lists(PORT_ALL) %} | ||
{# Generate list of ports #} | ||
{%- for port_idx in range(0,20) %} | ||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %} | ||
{%- endfor %} | ||
{%- for port_idx in range(80,88) %} | ||
{%- if PORT_ALL.append("Ethernet%d" % port_idx) %}{%- endif %} | ||
{%- endfor %} | ||
{%- for port_idx in range(22,32) %} | ||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %} | ||
{%- endfor %} | ||
{%- for port_idx in range(128,140) %} | ||
{%- if PORT_ALL.append("Ethernet%d" % port_idx) %}{%- endif %} | ||
{%- endfor %} | ||
{%- for port_idx in range(35,64) %} | ||
{%- if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{%- endif %} | ||
{%- endfor %} | ||
{%- endmacro %} | ||
|
||
{%- macro generate_buffer_pool_and_profiles() %} | ||
"BUFFER_POOL": { | ||
"ingress_lossless_pool": { | ||
"size": "{{ ingress_lossless_pool_size }}", | ||
"type": "ingress", | ||
"mode": "dynamic", | ||
"xoff": "2867200" | ||
}, | ||
"ingress_lossy_pool": { | ||
"size": "{{ ingress_lossy_pool_size }}", | ||
"type": "ingress", | ||
"mode": "dynamic" | ||
}, | ||
"egress_lossless_pool": { | ||
"size": "{{ egress_lossless_pool_size }}", | ||
"type": "egress", | ||
"mode": "dynamic" | ||
}, | ||
"egress_lossy_pool": { | ||
"size": "{{ egress_lossy_pool_size }}", | ||
"type": "egress", | ||
"mode": "dynamic" | ||
} | ||
}, | ||
"BUFFER_PROFILE": { | ||
"ingress_lossy_profile": { | ||
"pool":"[BUFFER_POOL|ingress_lossy_pool]", | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
}, | ||
"egress_lossless_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossless_pool]", | ||
"size":"0", | ||
"dynamic_th":"7" | ||
}, | ||
"egress_lossy_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossy_pool]", | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
}, | ||
"q_lossy_profile": { | ||
"pool":"[BUFFER_POOL|egress_lossy_pool]", | ||
"size":"4096", | ||
"dynamic_th":"3" | ||
} | ||
}, | ||
{%- endmacro %} | ||
|
||
{%- macro generate_pg_profils(port_names) %} | ||
"BUFFER_PG": { | ||
"{{ port_names }}|3-4": { | ||
"profile" : "[BUFFER_PROFILE|ingress_lossless_profile]" | ||
} | ||
}, | ||
{%- endmacro %} | ||
|
||
{%- macro generate_queue_buffers(port_names) %} | ||
"BUFFER_QUEUE": { | ||
"{{ port_names }}|3-4": { | ||
"profile" : "[BUFFER_PROFILE|egress_lossless_profile]" | ||
}, | ||
"{{ port_names }}|0-1": { | ||
"profile" : "[BUFFER_PROFILE|q_lossy_profile]" | ||
} | ||
} | ||
{%- endmacro %} |
17 changes: 17 additions & 0 deletions
17
device/arista/x86_64-arista_7170_64c/Arista-7170-Q59S20/pg_profile_lookup.ini
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# PG lossless profiles. | ||
# speed cable size xon xoff threshold | ||
10000 5m 34816 18432 16384 7 | ||
25000 5m 34816 18432 16384 7 | ||
40000 5m 34816 18432 16384 7 | ||
50000 5m 34816 18432 16384 7 | ||
100000 5m 36864 18432 18432 7 | ||
10000 40m 36864 18432 18432 7 | ||
25000 40m 39936 18432 21504 7 | ||
40000 40m 41984 18432 23552 7 | ||
50000 40m 41984 18432 23552 7 | ||
100000 40m 54272 18432 35840 7 | ||
10000 300m 49152 18432 30720 7 | ||
25000 300m 71680 18432 53248 7 | ||
40000 300m 94208 18432 75776 7 | ||
50000 300m 94208 18432 75776 7 | ||
100000 300m 184320 18432 165888 7 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the ingress lossless pool size is changed from 32M -> 4M, why such change. I do not understand the rationale behind this change.