Skip to content

Commit

Permalink
DellEMC: N3248PXE Initial platform commit (#8562)
Browse files Browse the repository at this point in the history
Why I did it
Added support for the device N3248PXE

How I did it
Implemented the support for the platform N3248PXE
n3248pxe_unit_test_log.txt

Switch Vendor: DellEMC
* Switch SKU: N3248PXE
* ASIC Vendor: Broadcom
* SONiC Image: sonic-broadcom.bin

How to verify it
Verified the show platform commands
  • Loading branch information
arunlk-dell authored Sep 25, 2021
1 parent 5324ce8 commit b0b0ba8
Show file tree
Hide file tree
Showing 54 changed files with 6,876 additions and 1 deletion.
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,41 @@
{%- set default_cable = '5m' %}

{%- 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": "8192000",
"type": "ingress",
"mode": "dynamic",
"xoff": "196608"
},
"egress_lossless_pool": {
"size": "8388608",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"0",
"static_th":"8388608"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{%- 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": "8192000",
"type": "ingress",
"mode": "dynamic",
"xoff": "196608"
},
"egress_lossless_pool": {
"size": "8388608",
"type": "egress",
"mode": "static"
}
},
"BUFFER_PROFILE": {
"ingress_lossy_profile": {
"pool":"[BUFFER_POOL|ingress_lossless_pool]",
"size":"0",
"dynamic_th":"3"
},
"egress_lossless_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"0",
"static_th":"8388608"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossless_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# PG lossless profiles.
# speed cable size xon xoff threshold xon_offset
10000 5m 9427 0 50176 1 3584
25000 5m 9427 0 50176 1 3584
40000 5m 9427 0 50176 1 3584
50000 5m 9427 0 50176 1 3584
100000 5m 9427 0 50176 1 3584
10000 40m 9427 0 50176 1 3584
25000 40m 9427 0 50176 1 3584
40000 40m 9427 0 50176 1 3584
50000 40m 9427 0 50176 1 3584
100000 40m 9427 0 50176 1 3584
10000 300m 9427 0 50176 1 3584
25000 300m 9427 0 50176 1 3584
40000 300m 9427 0 50176 1 3584
50000 300m 9427 0 50176 1 3584
100000 300m 9427 0 50176 1 3584
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# name lanes alias index speed
Ethernet0 62 tenGigE1/1 1 10000
Ethernet1 61 tenGigE1/2 2 10000
Ethernet2 64 tenGigE1/3 3 10000
Ethernet3 63 tenGigE1/4 4 10000
Ethernet4 66 tenGigE1/5 5 10000
Ethernet5 65 tenGigE1/6 6 10000
Ethernet6 68 tenGigE1/7 7 10000
Ethernet7 67 tenGigE1/8 8 10000
Ethernet8 70 tenGigE1/9 9 10000
Ethernet9 69 tenGigE1/10 10 10000
Ethernet10 72 tenGigE1/11 11 10000
Ethernet11 71 tenGigE1/12 12 10000
Ethernet12 74 tenGigE1/13 13 10000
Ethernet13 73 tenGigE1/14 14 10000
Ethernet14 76 tenGigE1/15 15 10000
Ethernet15 75 tenGigE1/16 16 10000
Ethernet16 78 tenGigE1/17 17 10000
Ethernet17 77 tenGigE1/18 18 10000
Ethernet18 80 tenGigE1/19 19 10000
Ethernet19 79 tenGigE1/20 20 10000
Ethernet20 3 tenGigE1/21 21 10000
Ethernet21 4 tenGigE1/22 22 10000
Ethernet22 1 tenGigE1/23 23 10000
Ethernet23 2 tenGigE1/24 24 10000
Ethernet24 7 tenGigE1/25 25 10000
Ethernet25 8 tenGigE1/26 26 10000
Ethernet26 5 tenGigE1/27 27 10000
Ethernet27 6 tenGigE1/28 28 10000
Ethernet28 11 tenGigE1/29 29 10000
Ethernet29 12 tenGigE1/30 30 10000
Ethernet30 9 tenGigE1/31 31 10000
Ethernet31 10 tenGigE1/32 32 10000
Ethernet32 15 tenGigE1/33 33 10000
Ethernet33 16 tenGigE1/34 34 10000
Ethernet34 13 tenGigE1/35 35 10000
Ethernet35 14 tenGigE1/36 36 10000
Ethernet36 19 tenGigE1/37 37 10000
Ethernet37 20 tenGigE1/38 38 10000
Ethernet38 17 tenGigE1/39 39 10000
Ethernet39 18 tenGigE1/40 40 10000
Ethernet40 23 tenGigE1/41 41 10000
Ethernet41 24 tenGigE1/42 42 10000
Ethernet42 21 tenGigE1/43 43 10000
Ethernet43 22 tenGigE1/44 44 10000
Ethernet44 27 tenGigE1/45 45 10000
Ethernet45 28 tenGigE1/46 46 10000
Ethernet46 25 tenGigE1/47 47 10000
Ethernet47 26 tenGigE1/48 48 10000
Ethernet48 40 twentyfiveGigE1/49 49 25000
Ethernet49 39 twentyfiveGigE1/50 50 25000
Ethernet50 38 twentyfiveGigE1/51 51 25000
Ethernet51 37 twentyfiveGigE1/52 52 25000
Ethernet52 41,42,43,44 hundredGigE1/53 53 100000
Ethernet56 45,46,47,48 hundredGigE1/54 54 100000
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{%- include 'qos_config_t1.j2' %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
{%- set PORT_ALL = [] %}
{%- for port in PORT %}
{%- if PORT_ALL.append(port) %}{% endif %}
{%- endfor %}
{%- if PORT_ALL | sort_by_port_index %}{% endif %}

{%- set port_names_list_all = [] %}
{%- for port in PORT_ALL %}
{%- if port_names_list_all.append(port) %}{% endif %}
{%- endfor %}
{%- set port_names_all = port_names_list_all | join(',') -%}


{%- set PORT_ACTIVE = [] %}
{%- if DEVICE_NEIGHBOR is not defined %}
{%- set PORT_ACTIVE = PORT_ALL %}
{%- else %}
{%- for port in DEVICE_NEIGHBOR.keys() %}
{%- if PORT_ACTIVE.append(port) %}{%- endif %}
{%- endfor %}
{%- endif %}
{%- if PORT_ACTIVE | sort_by_port_index %}{% endif %}

{%- set port_names_list_active = [] %}
{%- for port in PORT_ACTIVE %}
{%- if port_names_list_active.append(port) %}{%- endif %}
{%- endfor %}
{%- set port_names_active = port_names_list_active | join(',') -%}


{%- set pfc_to_pg_map_supported_asics = ['mellanox', 'barefoot', 'marvell'] -%}


{
{% if generate_tc_to_pg_map is defined %}
{{- generate_tc_to_pg_map() }}
{% else %}
"TC_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"0": "0",
"1": "0",
"2": "0",
"3": "3",
"4": "4",
"5": "0",
"6": "0",
"7": "7"
}
},
{% endif %}
"MAP_PFC_PRIORITY_TO_QUEUE": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"TC_TO_QUEUE_MAP": {
"AZURE": {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7"
}
},
"DSCP_TO_TC_MAP": {
"AZURE": {
"0" : "1",
"1" : "1",
"2" : "1",
"3" : "3",
"4" : "4",
"5" : "2",
"6" : "1",
"7" : "1",
"8" : "0",
"9" : "1",
"10": "1",
"11": "1",
"12": "1",
"13": "1",
"14": "1",
"15": "1",
"16": "1",
"17": "1",
"18": "1",
"19": "1",
"20": "1",
"21": "1",
"22": "1",
"23": "1",
"24": "1",
"25": "1",
"26": "1",
"27": "1",
"28": "1",
"29": "1",
"30": "1",
"31": "1",
"32": "1",
"33": "1",
"34": "1",
"35": "1",
"36": "1",
"37": "1",
"38": "1",
"39": "1",
"40": "1",
"41": "1",
"42": "1",
"43": "1",
"44": "1",
"45": "1",
"46": "5",
"47": "1",
"48": "6",
"49": "1",
"50": "1",
"51": "1",
"52": "1",
"53": "1",
"54": "1",
"55": "1",
"56": "1",
"57": "1",
"58": "1",
"59": "1",
"60": "1",
"61": "1",
"62": "1",
"63": "1"
}
},
"SCHEDULER": {
"scheduler.0": {
"type" : "DWRR",
"weight": "14"
},
"scheduler.1": {
"type" : "DWRR",
"weight": "15"
}
},
{% if asic_type in pfc_to_pg_map_supported_asics %}
"PFC_PRIORITY_TO_PRIORITY_GROUP_MAP": {
"AZURE": {
"3": "3",
"4": "4"
}
},
{% endif %}
"PORT_QOS_MAP": {
{% for port in PORT_ACTIVE %}
"{{ port }}": {
"dscp_to_tc_map" : "[DSCP_TO_TC_MAP|AZURE]",
"tc_to_queue_map" : "[TC_TO_QUEUE_MAP|AZURE]",
"tc_to_pg_map" : "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
"pfc_to_queue_map": "[MAP_PFC_PRIORITY_TO_QUEUE|AZURE]",
{% if asic_type in pfc_to_pg_map_supported_asics %}
"pfc_to_pg_map" : "[PFC_PRIORITY_TO_PRIORITY_GROUP_MAP|AZURE]",
{% endif %}
"pfc_enable" : "3,4"
}{% if not loop.last %},{% endif %}
{% endfor %}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td3-x5-n3248pxe-48x10GCU+4x25G-2x100G.config.bcm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
m0 load 0 0x0 /usr/share/sonic/hwsku/linkscan_led_fw.bin
m0 load 0 0x3800 /usr/share/sonic/hwsku/custom_led.bin
Loading

0 comments on commit b0b0ba8

Please sign in to comment.