Skip to content

Commit

Permalink
[devices]: Add new SKU for SONiC VM (#8971)
Browse files Browse the repository at this point in the history
The default ethernet port naming style is Ethernet0, Ethernet4...Ethernet(i*4) which isn't compatible with EOS's style Ethernet1,Ethernet2...Etherent(i+1)
SONiC-mgmt usually use EOS as neighbor devices. To relieve the compatible issue on SONiC as neighbor devices, This PR introduces a new SKU SONiC VM.

Signed-off-by: Ze Gan <[email protected]>
  • Loading branch information
Pterosaur authored Oct 14, 2021
1 parent b9366f3 commit f4f6955
Show file tree
Hide file tree
Showing 13 changed files with 901 additions and 0 deletions.
3 changes: 3 additions & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/buffers.json.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{%- set default_topo = 't1' %}
{%- include 'buffers_config.j2' %}

Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{%- set default_cable = '0m' %}

{%- 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 + 1)) %}{% endif %}
{% endfor %}
{%- endmacro %}

{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "12766208",
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "12766208",
"type": "egress",
"mode": "static"
},
"egress_lossy_pool": {
"size": "7326924",
"type": "egress",
"mode": "dynamic"
}
},
"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":"12766208"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{%- set default_cable = '0m' %}

{%- 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 + 1)) %}{% endif %}
{% endfor %}
{%- endmacro %}

{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "12766208",
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "12766208",
"type": "egress",
"mode": "static"
},
"egress_lossy_pool": {
"size": "7326924",
"type": "egress",
"mode": "dynamic"
}
},
"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":"12766208"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{%- set default_cable = '0m' %}

{%- 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 + 1)) %}{% endif %}
{% endfor %}
{%- endmacro %}

{%- macro generate_buffer_pool_and_profiles() %}
"BUFFER_POOL": {
"ingress_lossless_pool": {
"size": "12766208",
"type": "ingress",
"mode": "dynamic"
},
"egress_lossless_pool": {
"size": "12766208",
"type": "egress",
"mode": "static"
},
"egress_lossy_pool": {
"size": "7326924",
"type": "egress",
"mode": "dynamic"
}
},
"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":"12766208"
},
"egress_lossy_profile": {
"pool":"[BUFFER_POOL|egress_lossy_pool]",
"size":"1518",
"dynamic_th":"3"
}
},
{%- endmacro %}
16 changes: 16 additions & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/fabriclanemap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
fabric1:1
fabric2:2
fabric3:3
fabric4:4
fabric5:5
fabric6:6
fabric7:7
fabric8:8
fabric9:9
fabric10:10
fabric11:11
fabric12:12
fabric13:13
fabric14:14
fabric15:15
fabric16:16
32 changes: 32 additions & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/lanemap.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
eth1:25,26,27,28
eth2:29,30,31,32
eth3:33,34,35,36
eth4:37,38,39,40
eth5:45,46,47,48
eth6:41,42,43,44
eth7:1,2,3,4
eth8:5,6,7,8
eth9:13,14,15,16
eth10:9,10,11,12
eth11:17,18,19,20
eth12:21,22,23,24
eth13:53,54,55,56
eth14:49,50,51,52
eth15:57,58,59,60
eth16:61,62,63,64
eth17:69,70,71,72
eth18:65,66,67,68
eth19:73,74,75,76
eth20:77,78,79,80
eth21:109,110,111,112
eth22:105,106,107,108
eth23:113,114,115,116
eth24:117,118,119,120
eth25:125,126,127,128
eth26:121,122,123,124
eth27:81,82,83,84
eth28:85,86,87,88
eth29:93,94,95,96
eth30:89,90,91,92
eth31:101,102,103,104
eth32:97,98,99,100
5 changes: 5 additions & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/pai.profile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM81724
SAI_VS_SAI_SWITCH_TYPE=SAI_SWITCH_TYPE_PHY
SAI_VS_HOSTIF_USE_TAP_DEVICE=false
SAI_VS_USE_BCMSIM_LINK_MON=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
17 changes: 17 additions & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/pg_profile_lookup.ini
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 56368 18432 55120 -3 2496
25000 5m 56368 18432 55120 -3 2496
40000 5m 56368 18432 55120 -3 2496
50000 5m 56368 18432 55120 -3 2496
100000 5m 56368 18432 55120 -3 2496
10000 40m 56368 18432 55120 -3 2496
25000 40m 56368 18432 55120 -3 2496
40000 40m 56368 18432 55120 -3 2496
50000 40m 56368 18432 55120 -3 2496
100000 40m 56368 18432 55120 -3 2496
10000 300m 56368 18432 55120 -3 2496
25000 300m 56368 18432 55120 -3 2496
40000 300m 56368 18432 55120 -3 2496
50000 300m 56368 18432 55120 -3 2496
100000 300m 56368 18432 55120 -3 2496
33 changes: 33 additions & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/port_config.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# name lanes alias index speed
Ethernet1 25,26,27,28 fortyGigE0/0 0 40000
Ethernet2 29,30,31,32 fortyGigE0/4 1 40000
Ethernet3 33,34,35,36 fortyGigE0/8 2 40000
Ethernet4 37,38,39,40 fortyGigE0/12 3 40000
Ethernet5 45,46,47,48 fortyGigE0/16 4 40000
Ethernet6 41,42,43,44 fortyGigE0/20 5 40000
Ethernet7 1,2,3,4 fortyGigE0/24 6 40000
Ethernet8 5,6,7,8 fortyGigE0/28 7 40000
Ethernet9 13,14,15,16 fortyGigE0/32 8 40000
Ethernet10 9,10,11,12 fortyGigE0/36 9 40000
Ethernet11 17,18,19,20 fortyGigE0/40 10 40000
Ethernet12 21,22,23,24 fortyGigE0/44 11 40000
Ethernet13 53,54,55,56 fortyGigE0/48 12 40000
Ethernet14 49,50,51,52 fortyGigE0/52 13 40000
Ethernet15 57,58,59,60 fortyGigE0/56 14 40000
Ethernet16 61,62,63,64 fortyGigE0/60 15 40000
Ethernet17 69,70,71,72 fortyGigE0/64 16 40000
Ethernet18 65,66,67,68 fortyGigE0/68 17 40000
Ethernet19 73,74,75,76 fortyGigE0/72 18 40000
Ethernet20 77,78,79,80 fortyGigE0/76 19 40000
Ethernet21 109,110,111,112 fortyGigE0/80 20 40000
Ethernet22 105,106,107,108 fortyGigE0/84 21 40000
Ethernet23 113,114,115,116 fortyGigE0/88 22 40000
Ethernet24 117,118,119,120 fortyGigE0/92 23 40000
Ethernet25 125,126,127,128 fortyGigE0/96 24 40000
Ethernet26 121,122,123,124 fortyGigE0/100 25 40000
Ethernet27 81,82,83,84 fortyGigE0/104 26 40000
Ethernet28 85,86,87,88 fortyGigE0/108 27 40000
Ethernet29 93,94,95,96 fortyGigE0/112 28 40000
Ethernet30 89,90,91,92 fortyGigE0/116 29 40000
Ethernet31 101,102,103,104 fortyGigE0/120 30 40000
Ethernet32 97,98,99,100 fortyGigE0/124 31 40000
1 change: 1 addition & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/qos.json.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{%- include 'qos_config.j2' %}
5 changes: 5 additions & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/sai.profile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_BCM56850
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
SAI_VS_CORE_PORT_INDEX_MAP_FILE=/usr/share/sonic/hwsku/coreportindexmap.ini
SAI_VS_INTERFACE_FABRIC_LANE_MAP_FILE=/usr/share/sonic/hwsku/fabriclanemap.ini
5 changes: 5 additions & 0 deletions device/virtual/x86_64-kvm_x86_64-r0/SONiC-VM/sai_mlnx.profile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
SAI_VS_SWITCH_TYPE=SAI_VS_SWITCH_TYPE_MLNX2700
SAI_VS_HOSTIF_USE_TAP_DEVICE=true
SAI_VS_INTERFACE_LANE_MAP_FILE=/usr/share/sonic/hwsku/lanemap.ini
SAI_VS_CORE_PORT_INDEX_MAP_FILE=/usr/share/sonic/hwsku/coreportindexmap.ini
SAI_VS_INTERFACE_FABRIC_LANE_MAP_FILE=/usr/share/sonic/hwsku/fabriclanemap.ini
Loading

0 comments on commit f4f6955

Please sign in to comment.