From 6556ff2bb1e1fc2d9867b9d8518d1dd14cee6838 Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Thu, 24 Jun 2021 05:48:38 +0300 Subject: [PATCH 01/10] [201911]: Adding SKU Mellanox-SN3800-D100C12S2 --- .../Mellanox-SN3800-D100C12S2/buffers.json.j2 | 1 + .../buffers_defaults_t0.j2 | 100 ++++ .../buffers_defaults_t1.j2 | 100 ++++ .../pg_profile_lookup.ini | 17 + .../Mellanox-SN3800-D100C12S2/port_config.ini | 115 +++++ .../Mellanox-SN3800-D100C12S2/qos.json.j2 | 1 + .../Mellanox-SN3800-D100C12S2/sai.profile | 2 + .../sai_3800_2x10g_100x50g_12x100g.xml | 484 ++++++++++++++++++ 8 files changed, 820 insertions(+) create mode 120000 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers.json.j2 create mode 100644 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 create mode 100644 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 create mode 100644 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini create mode 100644 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini create mode 120000 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/qos.json.j2 create mode 100644 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai.profile create mode 100644 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers.json.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers.json.j2 new file mode 120000 index 000000000000..add8bf8bb7c2 --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers.json.j2 @@ -0,0 +1 @@ +../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers.json.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 new file mode 100644 index 000000000000..3d3750e4a235 --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 @@ -0,0 +1,100 @@ +{% set default_cable = '5m' %} +{% set ingress_lossless_pool_size = '47194112' %} +{% set ingress_lossless_pool_xoff = '47194112' %} +{% set egress_lossless_pool_size = '60817408' %} +{% set egress_lossy_pool_size = '47194112' %} + +{%- 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)) %}{%- endif %} + {%- endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "{{ ingress_lossless_pool_size }}", + "xoff": "{{ ingress_lossless_pool_xoff }}", + "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_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "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", + "dynamic_th":"7" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"9216", + "dynamic_th":"7" + }, + "q_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"0", + "dynamic_th":"3" + } + }, +{%- endmacro %} + +{%- macro generate_profile_lists(port_names) %} + "BUFFER_PORT_INGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} + +{%- macro generate_queue_buffers(port_names) %} + "BUFFER_QUEUE": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 new file mode 100644 index 000000000000..3e988a42b83b --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 @@ -0,0 +1,100 @@ +{% set default_cable = '5m' %} +{% set ingress_lossless_pool_size = '46133248' %} +{% set ingress_lossless_pool_xoff = '46133248' %} +{% set egress_lossless_pool_size = '60817408' %} +{% set egress_lossy_pool_size = '46133248' %} + +{%- 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)) %}{%- endif %} + {%- endfor %} +{%- endmacro %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "{{ ingress_lossless_pool_size }}", + "xoff": "{{ ingress_lossless_pool_xoff }}", + "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_lossless_profile": { + "pool":"[BUFFER_POOL|ingress_lossless_pool]", + "size":"0", + "dynamic_th":"7" + }, + "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", + "dynamic_th":"7" + }, + "egress_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"9216", + "dynamic_th":"7" + }, + "q_lossy_profile": { + "pool":"[BUFFER_POOL|egress_lossy_pool]", + "size":"0", + "dynamic_th":"3" + } + }, +{%- endmacro %} + +{%- macro generate_profile_lists(port_names) %} + "BUFFER_PORT_INGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|ingress_lossless_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + }, + "BUFFER_PORT_EGRESS_PROFILE_LIST": { +{% for port in port_names.split(',') %} + "{{ port }}": { + "profile_list" : "[BUFFER_PROFILE|egress_lossless_profile],[BUFFER_PROFILE|egress_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} + +{%- macro generate_queue_buffers(port_names) %} + "BUFFER_QUEUE": { +{% for port in port_names.split(',') %} + "{{ port }}|3-4": { + "profile" : "[BUFFER_PROFILE|egress_lossless_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|0-2": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }, +{% endfor %} +{% for port in port_names.split(',') %} + "{{ port }}|5-6": { + "profile" : "[BUFFER_PROFILE|q_lossy_profile]" + }{% if not loop.last %},{% endif %} + +{% endfor %} + } +{%- endmacro %} diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini new file mode 100644 index 000000000000..810d7e77e61f --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini @@ -0,0 +1,17 @@ +# PG lossless profiles. +# speed cable size xon xoff threshold + 10000 5m 19456 19456 25600 0 + 25000 5m 19456 19456 28672 0 + 40000 5m 19456 19456 30720 0 + 50000 5m 19456 19456 32768 0 + 100000 5m 19456 19456 40960 0 + 10000 40m 19456 19456 26624 0 + 25000 40m 19456 19456 30720 0 + 40000 40m 19456 19456 33792 0 + 50000 40m 19456 19456 36864 0 + 100000 40m 19456 19456 48128 0 + 10000 300m 19456 19456 31744 0 + 25000 300m 19456 19456 44032 0 + 40000 300m 19456 19456 55296 0 + 50000 300m 19456 19456 63488 0 + 100000 300m 19456 19456 102400 0 diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini new file mode 100644 index 000000000000..5769be43177c --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini @@ -0,0 +1,115 @@ +# name lanes alias index speed +Ethernet0 0,1 etp1a 1 50000 +Ethernet2 2,3 etp1b 1 50000 +Ethernet4 4,5 etp2a 2 50000 +Ethernet4 6,7 etp2b 2 50000 +Ethernet8 8,9 etp3a 3 50000 +Ethernet10 10,11 etp3b 3 50000 +Ethernet12 12,13 etp4a 4 50000 +Ethernet14 14,15 etp4b 4 50000 +Ethernet16 16,17 etp5a 5 50000 +Ethernet18 18,19 etp5b 5 50000 +Ethernet20 20,21 etp6a 6 50000 +Ethernet22 22,23 etp6b 6 50000 +Ethernet24 24,25 etp7a 7 50000 +Ethernet26 26,27 etp7b 7 50000 +Ethernet28 28,29 etp8a 8 50000 +Ethernet30 30,31 etp8b 8 50000 +Ethernet32 32,33 etp9a 9 50000 +Ethernet34 34,35 etp9b 9 50000 +Ethernet36 36,37 etp10a 10 50000 +Ethernet38 38,39 etp10b 10 50000 +Ethernet40 40,41 etp11a 11 50000 +Ethernet42 42,43 etp11b 11 50000 +Ethernet44 44,45 etp12a 12 50000 +Ethernet46 46,47 etp12b 12 50000 +Ethernet48 48,49 etp13a 13 50000 +Ethernet50 50,51 etp13b 13 50000 +Ethernet52 52,53 etp14a 14 50000 +Ethernet54 54,55 etp14b 14 50000 +Ethernet56 56,57 etp15a 15 50000 +Ethernet58 58,59 etp15b 15 50000 +Ethernet60 60,61 etp16a 16 50000 +Ethernet62 62,63 etp16b 16 50000 +Ethernet64 64,65 etp17a 17 50000 +Ethernet66 66,67 etp17b 17 50000 +Ethernet68 68,69 etp18a 18 50000 +Ethernet70 70,71 etp18b 18 50000 +Ethernet72 72,73 etp19a 19 50000 +Ethernet74 74,75 etp19b 19 50000 +Ethernet76 76,77 etp20a 20 50000 +Ethernet78 78,79 etp20b 20 50000 +Ethernet80 80,81 etp21a 21 50000 +Ethernet82 82,83 etp21b 21 50000 +Ethernet84 84,85 etp22a 22 50000 +Ethernet86 86,87 etp22b 22 50000 +Ethernet88 88,89 etp23a 23 50000 +Ethernet90 90,91 etp23b 23 50000 +Ethernet92 92,93 etp24a 24 50000 +Ethernet94 94,95 etp24b 24 50000 +Ethernet96 96,97 etp25a 25 50000 +Ethernet98 98,99 etp25b 25 50000 +Ethernet100 100,101 etp26a 26 50000 +Ethernet102 102,103 etp26b 26 50000 +Ethernet104 104,105 etp27a 27 50000 +Ethernet106 106,107 etp27b 27 50000 +Ethernet108 108,109 etp28a 28 50000 +Ethernet110 110,111 etp28b 28 50000 +Ethernet112 112,113 etp29a 29 50000 +Ethernet114 114,115 etp29b 29 50000 +Ethernet116 116,117 etp30a 30 50000 +Ethernet118 118,119 etp30b 30 50000 +Ethernet120 120,121 etp31a 31 50000 +Ethernet122 122,123 etp31b 31 50000 +Ethernet124 124,125 etp32a 32 50000 +Ethernet126 126,127 etp32b 32 50000 +Ethernet128 128,129 etp33a 33 50000 +Ethernet130 130,131 etp33b 33 50000 +Ethernet132 132,133 etp34a 34 50000 +Ethernet134 134,135 etp34b 34 50000 +Ethernet136 136,137 etp35a 35 50000 +Ethernet138 138,139 etp35b 35 50000 +Ethernet140 140,141 etp36a 36 50000 +Ethernet142 142,143 etp36b 36 50000 +Ethernet144 144,145,146,147 etp37 37 10000 +Ethernet148 148,149 etp38a 38 50000 +Ethernet150 150,151 etp38b 38 50000 +Ethernet152 152,153 etp39a 38 50000 +Ethernet154 154,155 etp39b 38 50000 +Ethernet156 156,157,158,159 etp40 40 10000 +Ethernet160 160,161 etp41a 41 50000 +Ethernet162 162,163 etp41b 41 50000 +Ethernet164 164,165 etp42a 42 50000 +Ethernet166 166,167 etp42b 42 50000 +Ethernet168 168,169 etp43a 43 50000 +Ethernet170 170,171 etp43b 43 50000 +Ethernet172 172,173 etp44a 44 50000 +Ethernet174 174,175 etp44b 44 50000 +Ethernet176 176,177 etp45a 45 50000 +Ethernet178 178,179 etp45b 45 50000 +Ethernet180 180,181 etp46a 46 50000 +Ethernet182 182,183 etp46b 46 50000 +Ethernet184 184,185 etp47a 47 50000 +Ethernet186 186,187 etp47b 47 50000 +Ethernet188 188,189 etp48a 48 50000 +Ethernet190 190,191 etp48b 48 50000 +Ethernet192 192,193 etp49a 49 50000 +Ethernet194 194,195 etp49b 49 50000 +Ethernet196 196,197 etp50a 50 50000 +Ethernet198 198,199 etp50b 50 50000 +Ethernet200 200,201 etp51a 51 50000 +Ethernet202 202,203 etp51b 51 50000 +Ethernet204 204,205 etp52a 52 50000 +Ethernet206 206,207 etp52b 52 50000 +Ethernet208 208,209,210,211 etp53 53 100000 +Ethernet212 212,213,214,215 etp54 54 100000 +Ethernet216 216,217,218,219 etp55 55 100000 +Ethernet220 220,221,222,223 etp56 56 100000 +Ethernet224 224,225,226,227 etp57 57 100000 +Ethernet228 228,229,230,231 etp58 58 100000 +Ethernet232 232,233,234,235 etp59 59 100000 +Ethernet236 236,237,238,239 etp60 60 100000 +Ethernet240 240,241,242,243 etp61 61 100000 +Ethernet244 244,245,246,247 etp62 62 100000 +Ethernet248 248,249,250,251 etp63 63 100000 +Ethernet252 252,253,254,255 etp64 64 100000 diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/qos.json.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/qos.json.j2 new file mode 120000 index 000000000000..eccf286dc879 --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/qos.json.j2 @@ -0,0 +1 @@ +../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/qos.json.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai.profile b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai.profile new file mode 100644 index 000000000000..bf9c27505caa --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai.profile @@ -0,0 +1,2 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_3800_2x10g_28x50g_48x100g.xml +SAI_VXLAN_SRCPORT_RANGE_ENABLE=1 diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml new file mode 100644 index 000000000000..d15dc6871546 --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml @@ -0,0 +1,484 @@ + + + + + + 00:02:03:04:05:00 + + + 1 + + + 64 + + + + + 1 + 4 + 48 + + + 3 + + + 384 + + + 3 + 4 + 49 + 1 + 384 + + + 5 + 4 + 50 + 3 + 384 + + + 7 + 4 + 51 + 1 + 384 + + + 9 + 4 + 52 + 3 + 384 + + + 11 + 4 + 53 + 1 + 384 + + + 13 + 4 + 54 + 3 + 384 + + + 15 + 4 + 55 + 1 + 384 + + + 17 + 4 + 56 + 3 + 384 + 2 + + + 19 + 4 + 57 + 1 + 384 + 2 + + + 21 + 4 + 58 + 3 + 384 + 2 + + + 23 + 4 + 59 + 1 + 384 + 2 + + + 25 + 4 + 60 + 3 + 384 + + + 27 + 4 + 61 + 1 + 384 + + + 29 + 4 + 62 + 3 + 384 + + + 31 + 4 + 63 + 1 + 384 + + + 33 + 4 + 12 + 3 + 384 + + + 35 + 4 + 13 + 1 + 384 + + + 37 + 4 + 14 + 3 + 384 + + + 39 + 4 + 15 + 1 + 384 + + + 41 + 4 + 8 + 3 + 384 + + + 43 + 4 + 9 + 1 + 384 + + + 45 + 4 + 10 + 3 + 384 + + + 47 + 4 + 11 + 1 + 384 + + + 49 + 4 + 4 + 3 + 384 + + + 51 + 4 + 5 + 1 + 384 + + + 53 + 4 + 6 + 3 + 384 + 2 + + + 55 + 4 + 7 + 1 + 384 + 2 + + + 57 + 4 + 0 + 3 + 384 + + + 59 + 4 + 1 + 1 + 384 + + + 61 + 4 + 2 + 3 + 384 + + + 63 + 4 + 3 + 1 + 384 + + + 65 + 4 + 44 + 3 + 384 + + + 67 + 4 + 45 + 1 + 384 + + + 69 + 4 + 46 + 3 + 384 + + + 71 + 4 + 47 + 1 + 384 + + + 73 + 4 + 40 + 3 + 16 + + + 75 + 4 + 41 + 1 + 384 + + + 77 + 4 + 42 + 3 + 384 + + + 79 + 4 + 43 + 1 + 16 + + + 81 + 4 + 36 + 3 + 384 + + + 83 + 4 + 37 + 1 + 384 + 2 + + + 85 + 4 + 38 + 3 + 384 + + + 87 + 4 + 39 + 1 + 384 + + + 89 + 4 + 32 + 3 + 384 + 2 + + + 91 + 4 + 33 + 1 + 384 + 2 + + + 93 + 4 + 34 + 3 + 384 + 2 + + + 95 + 4 + 35 + 1 + 384 + 2 + + + 97 + 4 + 16 + 3 + 384 + + + 99 + 4 + 17 + 1 + 384 + + + 101 + 4 + 18 + 3 + 384 + + + 103 + 4 + 19 + 1 + 384 + + + 105 + 4 + 20 + 3 + 1536 + + + 107 + 4 + 21 + 1 + 1536 + + + 109 + 4 + 22 + 3 + 1536 + + + 111 + 4 + 23 + 1 + 1536 + + + 113 + 4 + 24 + 3 + 1536 + + + 115 + 4 + 25 + 1 + 1536 + + + 117 + 4 + 26 + 3 + 1536 + + + 119 + 4 + 27 + 1 + 1536 + + + 121 + 4 + 28 + 3 + 1536 + 2 + + + 123 + 4 + 29 + 1 + 1536 + 2 + + + 125 + 4 + 30 + 3 + 1536 + 2 + + + 127 + 4 + 31 + 1 + 1536 + + + + From f883fd9176435eb54678275cd5565dfe28f60cce Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Thu, 24 Jun 2021 15:41:16 +0300 Subject: [PATCH 02/10] modified buffers defaults t0 and t1 config values --- .../Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 | 8 ++++---- .../Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 index 3d3750e4a235..66baa27a644d 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '47194112' %} -{% set ingress_lossless_pool_xoff = '47194112' %} -{% set egress_lossless_pool_size = '60817408' %} -{% set egress_lossy_pool_size = '47194112' %} +{% set ingress_lossless_pool_size = '20664320' %} +{% set ingress_lossless_pool_xoff = '20664320' %} +{% set egress_lossless_pool_size = '3321856' %} +{% set egress_lossy_pool_size = '20664320' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 index 3e988a42b83b..e4c5835e7281 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '46133248' %} -{% set ingress_lossless_pool_xoff = '46133248' %} -{% set egress_lossless_pool_size = '60817408' %} -{% set egress_lossy_pool_size = '46133248' %} +{% set ingress_lossless_pool_size = '19601408' %} +{% set ingress_lossless_pool_xoff = '19601408' %} +{% set egress_lossless_pool_size = '4384768' %} +{% set egress_lossy_pool_size = '19601408' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} From 79c1da33ec0d22d66f9c48e0496dec081d194609 Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Thu, 24 Jun 2021 16:32:13 +0300 Subject: [PATCH 03/10] modified buffer values and made pg_profile_lookup.ini as a symbolic file --- .../buffers_defaults_t0.j2 | 4 ++-- .../buffers_defaults_t1.j2 | 4 ++-- .../pg_profile_lookup.ini | 18 +----------------- 3 files changed, 5 insertions(+), 21 deletions(-) mode change 100644 => 120000 device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 index 66baa27a644d..569d8f116b3d 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 @@ -1,7 +1,7 @@ {% set default_cable = '5m' %} {% set ingress_lossless_pool_size = '20664320' %} -{% set ingress_lossless_pool_xoff = '20664320' %} -{% set egress_lossless_pool_size = '3321856' %} +{% set ingress_lossless_pool_xoff = '3321856' %} +{% set egress_lossless_pool_size = '34287552' %} {% set egress_lossy_pool_size = '20664320' %} {%- macro generate_port_lists(PORT_ALL) %} diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 index e4c5835e7281..8b61c1772179 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 @@ -1,7 +1,7 @@ {% set default_cable = '5m' %} {% set ingress_lossless_pool_size = '19601408' %} -{% set ingress_lossless_pool_xoff = '19601408' %} -{% set egress_lossless_pool_size = '4384768' %} +{% set ingress_lossless_pool_xoff = '4384768' %} +{% set egress_lossless_pool_size = '34287552' %} {% set egress_lossy_pool_size = '19601408' %} {%- macro generate_port_lists(PORT_ALL) %} diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini deleted file mode 100644 index 810d7e77e61f..000000000000 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini +++ /dev/null @@ -1,17 +0,0 @@ -# PG lossless profiles. -# speed cable size xon xoff threshold - 10000 5m 19456 19456 25600 0 - 25000 5m 19456 19456 28672 0 - 40000 5m 19456 19456 30720 0 - 50000 5m 19456 19456 32768 0 - 100000 5m 19456 19456 40960 0 - 10000 40m 19456 19456 26624 0 - 25000 40m 19456 19456 30720 0 - 40000 40m 19456 19456 33792 0 - 50000 40m 19456 19456 36864 0 - 100000 40m 19456 19456 48128 0 - 10000 300m 19456 19456 31744 0 - 25000 300m 19456 19456 44032 0 - 40000 300m 19456 19456 55296 0 - 50000 300m 19456 19456 63488 0 - 100000 300m 19456 19456 102400 0 diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini new file mode 120000 index 000000000000..ccbbfa44cd9c --- /dev/null +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/pg_profile_lookup.ini @@ -0,0 +1 @@ +../Mellanox-SN3800-D112C8/pg_profile_lookup.ini \ No newline at end of file From 26bccc1c0310c7e9753d007a0a659252386e18f2 Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Thu, 24 Jun 2021 19:46:41 +0300 Subject: [PATCH 04/10] Addressed comments in port_config.ini --- .../Mellanox-SN3800-D100C12S2/port_config.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini index 5769be43177c..00ba954c1ae6 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini @@ -2,7 +2,7 @@ Ethernet0 0,1 etp1a 1 50000 Ethernet2 2,3 etp1b 1 50000 Ethernet4 4,5 etp2a 2 50000 -Ethernet4 6,7 etp2b 2 50000 +Ethernet6 6,7 etp2b 2 50000 Ethernet8 8,9 etp3a 3 50000 Ethernet10 10,11 etp3b 3 50000 Ethernet12 12,13 etp4a 4 50000 From d9e813f71654996dab33847239d434fefaccd66e Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Thu, 24 Jun 2021 22:42:02 +0300 Subject: [PATCH 05/10] modifing SAI XML file value in SAI Profile file --- .../Mellanox-SN3800-D100C12S2/sai.profile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai.profile b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai.profile index bf9c27505caa..5543225b55f5 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai.profile +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai.profile @@ -1,2 +1,2 @@ -SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_3800_2x10g_28x50g_48x100g.xml +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_3800_2x10g_100x50g_12x100g.xml SAI_VXLAN_SRCPORT_RANGE_ENABLE=1 From 8718c1e2273a3634bfa1b949832021e486f35a6b Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Thu, 24 Jun 2021 23:39:53 +0300 Subject: [PATCH 06/10] fixed index value of 39 for etp39a and etp39b ports in port_config.ini --- .../Mellanox-SN3800-D100C12S2/port_config.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini index 00ba954c1ae6..ee8851face92 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini @@ -74,8 +74,8 @@ Ethernet142 142,143 etp36b 36 50000 Ethernet144 144,145,146,147 etp37 37 10000 Ethernet148 148,149 etp38a 38 50000 Ethernet150 150,151 etp38b 38 50000 -Ethernet152 152,153 etp39a 38 50000 -Ethernet154 154,155 etp39b 38 50000 +Ethernet152 152,153 etp39a 39 50000 +Ethernet154 154,155 etp39b 39 50000 Ethernet156 156,157,158,159 etp40 40 10000 Ethernet160 160,161 etp41a 41 50000 Ethernet162 162,163 etp41b 41 50000 From 888839587e6131149bb528e2b474b22b5de543fe Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Fri, 25 Jun 2021 02:25:16 +0300 Subject: [PATCH 07/10] changed buffer config values due to removing 4 50G ports due to retimer mode of 10G ports --- .../Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 | 8 ++++---- .../Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 index 569d8f116b3d..d890fdb06cb3 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '20664320' %} -{% set ingress_lossless_pool_xoff = '3321856' %} -{% set egress_lossless_pool_size = '34287552' %} -{% set egress_lossy_pool_size = '20664320' %} +{% set ingress_lossless_pool_size = '21127168' %} +{% set ingress_lossless_pool_xoff = '3211264' %} +{% set egress_lossless_pool_size = '34287616' %} +{% set egress_lossy_pool_size = '21127168' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 index 8b61c1772179..186d94064239 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '19601408' %} -{% set ingress_lossless_pool_xoff = '4384768' %} -{% set egress_lossless_pool_size = '34287552' %} -{% set egress_lossy_pool_size = '19601408' %} +{% set ingress_lossless_pool_size = '20080640' %} +{% set ingress_lossless_pool_xoff = '4257792' %} +{% set egress_lossless_pool_size = '34287616' %} +{% set egress_lossy_pool_size = '20080640' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} From 1ea2d7bd3a1633d6a1b12fb6dafb8341f93f6c2a Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Fri, 25 Jun 2021 04:53:26 +0300 Subject: [PATCH 08/10] reverted back buffer values to previous values accounting all the ports --- .../Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 | 8 ++++---- .../Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 index d890fdb06cb3..569d8f116b3d 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t0.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '21127168' %} -{% set ingress_lossless_pool_xoff = '3211264' %} -{% set egress_lossless_pool_size = '34287616' %} -{% set egress_lossy_pool_size = '21127168' %} +{% set ingress_lossless_pool_size = '20664320' %} +{% set ingress_lossless_pool_xoff = '3321856' %} +{% set egress_lossless_pool_size = '34287552' %} +{% set egress_lossy_pool_size = '20664320' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 index 186d94064239..8b61c1772179 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/buffers_defaults_t1.j2 @@ -1,8 +1,8 @@ {% set default_cable = '5m' %} -{% set ingress_lossless_pool_size = '20080640' %} -{% set ingress_lossless_pool_xoff = '4257792' %} -{% set egress_lossless_pool_size = '34287616' %} -{% set egress_lossy_pool_size = '20080640' %} +{% set ingress_lossless_pool_size = '19601408' %} +{% set ingress_lossless_pool_xoff = '4384768' %} +{% set egress_lossless_pool_size = '34287552' %} +{% set egress_lossy_pool_size = '19601408' %} {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} From 345caf8fce38f4d424930c60b9cb8e3d2000ebd0 Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Fri, 25 Jun 2021 07:03:44 +0300 Subject: [PATCH 09/10] fixed the SAI XML file for 50G with split 2 tag --- .../sai_3800_2x10g_100x50g_12x100g.xml | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml index d15dc6871546..cd9c9443d99e 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml @@ -23,6 +23,7 @@ 384 + 2 3 @@ -30,6 +31,7 @@ 49 1 384 + 2 5 @@ -37,6 +39,7 @@ 50 3 384 + 2 7 @@ -44,6 +47,7 @@ 51 1 384 + 2 9 @@ -51,6 +55,7 @@ 52 3 384 + 2 11 @@ -58,6 +63,7 @@ 53 1 384 + 2 13 @@ -65,6 +71,7 @@ 54 3 384 + 2 15 @@ -72,6 +79,7 @@ 55 1 384 + 2 17 @@ -111,6 +119,7 @@ 60 3 384 + 2 27 @@ -118,6 +127,7 @@ 61 1 384 + 2 29 @@ -125,6 +135,7 @@ 62 3 384 + 2 31 @@ -132,6 +143,7 @@ 63 1 384 + 2 33 @@ -139,6 +151,7 @@ 12 3 384 + 2 35 @@ -146,6 +159,7 @@ 13 1 384 + 2 37 @@ -153,6 +167,7 @@ 14 3 384 + 2 39 @@ -160,6 +175,7 @@ 15 1 384 + 2 41 @@ -167,6 +183,7 @@ 8 3 384 + 2 43 @@ -174,6 +191,7 @@ 9 1 384 + 2 45 @@ -181,6 +199,7 @@ 10 3 384 + 2 47 @@ -188,6 +207,7 @@ 11 1 384 + 2 49 @@ -195,6 +215,7 @@ 4 3 384 + 2 51 @@ -202,6 +223,7 @@ 5 1 384 + 2 53 @@ -225,6 +247,7 @@ 0 3 384 + 2 59 @@ -232,6 +255,7 @@ 1 1 384 + 2 61 @@ -239,6 +263,7 @@ 2 3 384 + 2 63 @@ -246,6 +271,7 @@ 3 1 384 + 2 65 @@ -253,6 +279,7 @@ 44 3 384 + 2 67 @@ -260,6 +287,7 @@ 45 1 384 + 2 69 @@ -267,6 +295,7 @@ 46 3 384 + 2 71 @@ -274,6 +303,7 @@ 47 1 384 + 2 73 @@ -288,6 +318,7 @@ 41 1 384 + 2 77 @@ -295,6 +326,7 @@ 42 3 384 + 2 79 @@ -309,6 +341,7 @@ 36 3 384 + 2 83 @@ -324,6 +357,7 @@ 38 3 384 + 2 87 @@ -331,6 +365,7 @@ 39 1 384 + 2 89 @@ -370,6 +405,7 @@ 16 3 384 + 2 99 @@ -377,6 +413,7 @@ 17 1 384 + 2 101 @@ -384,6 +421,7 @@ 18 3 384 + 2 103 @@ -391,6 +429,7 @@ 19 1 384 + 2 105 @@ -454,7 +493,6 @@ 28 3 1536 - 2 123 @@ -462,7 +500,6 @@ 29 1 1536 - 2 125 @@ -470,7 +507,6 @@ 30 3 1536 - 2 127 From fd1607cd155948449d2ba838d884a3e4cb8d5dc9 Mon Sep 17 00:00:00 2001 From: Madhan Babu Date: Wed, 30 Jun 2021 02:19:19 +0300 Subject: [PATCH 10/10] modified 10G ports according to HW restrictions --- .../Mellanox-SN3800-D100C12S2/port_config.ini | 6 +++--- .../sai_3800_2x10g_100x50g_12x100g.xml | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini index ee8851face92..535556ebfb3b 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/port_config.ini @@ -71,9 +71,9 @@ Ethernet136 136,137 etp35a 35 50000 Ethernet138 138,139 etp35b 35 50000 Ethernet140 140,141 etp36a 36 50000 Ethernet142 142,143 etp36b 36 50000 -Ethernet144 144,145,146,147 etp37 37 10000 -Ethernet148 148,149 etp38a 38 50000 -Ethernet150 150,151 etp38b 38 50000 +Ethernet144 144,145 etp37a 37 50000 +Ethernet146 146,147 etp37b 37 50000 +Ethernet148 148,149,150,151 etp38 38 10000 Ethernet152 152,153 etp39a 39 50000 Ethernet154 154,155 etp39b 39 50000 Ethernet156 156,157,158,159 etp40 40 10000 diff --git a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml index cd9c9443d99e..bf0fa4ca6909 100644 --- a/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml +++ b/device/mellanox/x86_64-mlnx_msn3800-r0/Mellanox-SN3800-D100C12S2/sai_3800_2x10g_100x50g_12x100g.xml @@ -310,15 +310,15 @@ 4 40 3 - 16 + 384 + 2 75 4 41 1 - 384 - 2 + 16 77 @@ -518,3 +518,4 @@ +