Skip to content
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

[BFN] Added suport for Davenport device #17

Draft
wants to merge 15 commits into
base: master
Choose a base branch
from
Draft
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,2 @@
{%- set default_topo = 't0' %}
{%- include 'buffers_config.j2' %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '23850816' %}
{% set ingress_lossy_pool_size = '36222208' %}
{% set egress_lossless_pool_size = '29482816' %}
{% set egress_lossy_pool_size = '26400000' %}

{%- 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": "{{ ingress_lossless_pool_size }}",
"type": "ingress",
"mode": "dynamic",
"xoff": "36222208"
},
"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":"ingress_lossy_pool",
"size":"4096",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"dynamic_th":"7"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"4096",
"dynamic_th":"3"
},
"q_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"4096",
"dynamic_th":"3"
}
},
{%- endmacro %}

{%- macro generate_queue_buffers(port_names) %}
"BUFFER_QUEUE": {
"{{ port_names }}|3-4": {
"profile" : "egress_lossless_profile"
},
"{{ port_names }}|0-1": {
"profile" : "q_lossy_profile"
}
}
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
{% set default_cable = '5m' %}
{% set ingress_lossless_pool_size = '43067728' %}
{% set ingress_lossy_pool_size = '3520000' %}
{% set egress_lossless_pool_size = '46749824' %}
{% set egress_lossy_pool_size = '2463824' %}

{%- 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": "{{ ingress_lossless_pool_size }}",
{%- if dynamic_mode is defined %}
"xoff": "3153920",
{%- endif %}
"type": "ingress",
"mode": "dynamic"
},
"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":"ingress_lossy_pool",
"size":"4096",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"egress_lossless_pool",
"size":"0",
"dynamic_th":"7"
},
"egress_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"4096",
"dynamic_th":"3"
},
"q_lossy_profile": {
"pool":"egress_lossy_pool",
"size":"4096",
"dynamic_th":"3"
}
},
{%- endmacro %}

{%- macro generate_queue_buffers(port_names) %}
"BUFFER_QUEUE": {
{% for port in port_names.split(',') %}
"{{ port }}|0-2": {
"profile" : "q_lossy_profile"
},
{% endfor %}
{% for port in port_names.split(',') %}
"{{ port }}|3-4": {
"profile" : "egress_lossless_profile"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
{%- endmacro %}
132 changes: 132 additions & 0 deletions device/barefoot/x86_64-accton_as9526bf_32do-r0/davenport/hwsku.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
{
"interfaces": {
"Ethernet0": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet8": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet16": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet24": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet32": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet40": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet48": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet56": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet64": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet72": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet80": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet88": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet96": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet104": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet112": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet120": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet128": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet136": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet144": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet152": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet160": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet168": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet176": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet184": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet192": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet200": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet208": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet216": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet224": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet232": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet240": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
},
"Ethernet248": {
"default_brkout_mode": "1x400G[200G]",
"fec": "rs"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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
200000 5m 36864 18432 18432 7
400000 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
200000 40m 54272 18432 35840 7
400000 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
200000 300m 184320 18432 165888 7
400000 300m 184320 18432 165888 7
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# name lanes alias index speed autoneg fec
Ethernet0 0,1,2,3,4,5,6,7 Ethernet0 1 400000 off rs
Ethernet8 8,9,10,11,12,13,14,15 Ethernet8 2 400000 off rs
Ethernet16 16,17,18,19,20,21,22,23 Ethernet16 3 400000 off rs
Ethernet24 24,25,26,27,28,29,30,31 Ethernet24 4 400000 off rs
Ethernet32 32,33,34,35,36,37,38,39 Ethernet32 5 400000 off rs
Ethernet40 40,41,42,43,44,45,46,47 Ethernet40 6 400000 off rs
Ethernet48 48,49,50,51,52,53,54,55 Ethernet48 7 400000 off rs
Ethernet56 56,57,58,59,60,61,62,63 Ethernet56 8 400000 off rs
Ethernet64 64,65,66,67,68,69,70,71 Ethernet64 9 400000 off rs
Ethernet72 72,73,74,75,76,77,78,79 Ethernet72 10 400000 off rs
Ethernet80 80,81,82,83,84,85,86,87 Ethernet80 11 400000 off rs
Ethernet88 88,89,90,91,92,93,94,95 Ethernet80 12 400000 off rs
Ethernet96 96,98,100,102 Ethernet96 14 400000 off rs
Ethernet104 104,106,108,110 Ethernet104 14 400000 off rs
Ethernet112 112,114,116,118 Ethernet112 16 400000 off rs
Ethernet120 120,122,124,126 Ethernet120 16 400000 off rs
Ethernet128 128,130,132,134 Ethernet124 18 400000 off rs
Ethernet136 136,138,140,142 Ethernet124 18 400000 off rs
Ethernet144 144,146,148,150 Ethernet124 20 400000 off rs
Ethernet152 152,154,156,158 Ethernet124 20 400000 off rs
Ethernet160 160,161,162,163,164,165,166,167 Ethernet160 21 400000 off rs
Ethernet168 168,169,170,171,172,173,174,175 Ethernet168 22 400000 off rs
Ethernet176 176,177,178,179,180,181,182,183 Ethernet176 23 400000 off rs
Ethernet184 184,185,186,187,188,189,190,191 Ethernet184 24 400000 off rs
Ethernet192 192,193,194,195,196,197,198,199 Ethernet192 25 400000 off rs
Ethernet200 200,201,202,203,204,205,206,207 Ethernet200 26 400000 off rs
Ethernet208 208,209,210,211,212,213,214,215 Ethernet208 27 400000 off rs
Ethernet216 216,217,218,219,220,221,222,223 Ethernet216 28 400000 off rs
Ethernet224 224,225,226,227,228,229,230,231 Ethernet224 29 400000 off rs
Ethernet232 232,233,234,235,236,237,238,239 Ethernet232 30 400000 off rs
Ethernet240 240,241,242,243,244,245,246,247 Ethernet240 31 400000 off rs
Ethernet248 248,249,250,251,252,253,254,255 Ethernet248 32 400000 off rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{%- macro generate_tc_to_pg_map() %}
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"3": "3",
"4": "4"
}
},
{%- endmacro %}

{%- include 'qos_config.j2' %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
SAI_KEY_WARM_BOOT_WRITE_FILE=/var/warmboot/sai-warmboot.bin
SAI_KEY_WARM_BOOT_READ_FILE=/var/warmboot/sai-warmboot.bin

Loading