Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{%- set default_cable = '300m' %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please copy buffers.json.j2 for this new SKU

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like they are exactly the same:
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you mean another file?


{%- 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 %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have the same port name mappings for 10G, like port_idx * 4? Please check.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, we use the whole port, so it worked out to be the same port names.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, I have confirmed that before. Since these 10G ports uses only 1 lane from the physical port, so the port number still jumps by 4.

Here is the port config ini:

image

{%- endfor %}
{%- endmacro %}

{%- set ingress_lossless_pool_size = '32689152' %}
{%- set egress_lossless_pool_size = '32340992' %}
{%- if (DEVICE_METADATA is defined) and ('localhost' in DEVICE_METADATA) and ('subtype' in DEVICE_METADATA['localhost']) and (DEVICE_METADATA['localhost']['subtype'] == 'DualToR') %}
{%- set ingress_lossless_pool_size = '32441856' %}
{%- set egress_lossless_pool_size = '32441856' %}
{%- endif %}

{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "{{ingress_lossless_pool_size }}",
"type": "ingress",
"mode": "dynamic",
"xoff": "2058240"
},
"egress_lossy_pool": {
"size": "24192256",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "{{egress_lossless_pool_size }}",
"type": "egress",
"mode": "static"
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this config, egress_lossless has less buffer compared to ingress lossless. So, there could be egress drop before PFC gets generated.

For now, we could go with buffer configs in device/arista/x86_64-arista_7050cx3_32s/Arista-7050CX3-32S-D48C8/BALANCED/buffers_defaults_t0.j2

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, default should be files under balanced folder.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Ying, the default is already in balance folder. But the problem is even that is not working right.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to switch from C32 to D48C8.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated now.

},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"{{ingress_lossless_pool_size }}"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"static_th":"{{egress_lossless_pool_size }}"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"1792",
"dynamic_th":"3"
}
},
{%- endmacro %}

{% import 'buffers_extra_queues.j2' as defs with context %}

{%- macro generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) %}
{{ defs.generate_queue_buffers_with_extra_lossless_queues(port_names, port_names_require_extra_buffer) }}
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{%- 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": "32712448",
"type": "ingress",
"mode": "dynamic",
"xoff": "1622016"
},
"egress_lossy_pool": {
"size": "24709632",
"type": "egress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "32599040",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"ingress_lossless_pool",
"size":"0",
"static_th":"32712448"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"static_th":"32599040"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"1792",
"dynamic_th":"3"
}
},
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
10000 5m 4608 4608 160000 0 4608
50000 5m 4608 4608 160000 0 4608
100000 5m 4608 4608 160000 0 4608
10000 40m 4608 4608 160000 0 4608
50000 40m 4608 4608 160000 0 4608
100000 40m 4608 4608 160000 0 4608
10000 300m 4608 4608 160000 0 4608
50000 300m 4608 4608 160000 0 4608
100000 300m 4608 4608 160000 0 4608
Loading
Loading