<div><span style="font-family:'courier new' , monospace">Hello!</span></div><div><span style="font-family:'courier new' , monospace">Now I  studying how to use RSS with DPDK. </span></div><div> </div><div><span style="font-family:'courier new' , monospace">Initialization part (stolen from DPDK examples) ...</span></div><div><pre style="margin:0px;text-indent:0px"><span style="font-family:'courier new' , monospace"><em style="color:#45c6d6;font-style:italic">static<span style="color:#bec0c2"> </span>struct</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#ff8080;font-family:'courier new' , monospace">rte_eth_conf</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">s_port_conf</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">{<!-- --></span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">     </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">rxmode</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">{<!-- --></span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">              </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">mq_mode</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">RTE_ETH_MQ_RX_RSS,</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">  </span><span style="font-family:'courier new' , monospace">},</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">  </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">rx_adv_conf</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">{<!-- --></span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">         </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">rss_conf</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">{<!-- --></span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">                    </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">rss_key</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">hash_key,</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">                   </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">rss_key_len</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#ff6aad;font-family:'courier new' , monospace">RSS_HASH_KEY_LENGTH</span><span style="font-family:'courier new' , monospace">,</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">                     </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">rss_hf</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#ff6aad;font-family:'courier new' , monospace">RTE_ETH_RSS_IP</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">|</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#ff6aad;font-family:'courier new' , monospace">RTE_ETH_RSS_UDP</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">|</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">                           </span><span style="color:#ff6aad;font-family:'courier new' , monospace">RTE_ETH_RSS_TCP</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">|</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#ff6aad;font-family:'courier new' , monospace">RTE_ETH_RSS_SCTP</span><span style="font-family:'courier new' , monospace">,</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">              </span><span style="font-family:'courier new' , monospace">},</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">  </span><span style="font-family:'courier new' , monospace">},

</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">     </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">txmode</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">{<!-- --></span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">              </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">mq_mode</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">RTE_ETH_MQ_TX_NONE,</span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace">},</span></pre><pre style="margin:0px;text-indent:0px"><span style="font-family:'courier new' , monospace">};</span></pre><pre style="margin:0px;text-indent:0px"> </pre></div><div><span style="font-family:'courier new' , monospace">...</span></div><div><pre style="margin:0px;text-indent:0px"><span style="font-family:'courier new' , monospace"><em style="color:#a8abb0;font-style:italic">/*<span style="color:#bec0c2"> </span>Ethdev</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace"><em style="color:#a8abb0;font-style:italic">port_id=0</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace"><em style="color:#a8abb0;font-style:italic">invalid</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace"><em style="color:#a8abb0;font-style:italic">rss_hf:</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace"><em style="color:#a8abb0;font-style:italic">0xa38c,</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace"><em style="color:#a8abb0;font-style:italic">valid</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace"><em style="color:#a8abb0;font-style:italic">value:</em></span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="font-family:'courier new' , monospace"><em style="color:#a8abb0;font-style:italic">0x38d34<span style="color:#bec0c2"> </span>*/</em></span></pre><pre style="margin:0px;text-indent:0px"><span style="color:#bec0c2;font-family:'courier new' , monospace">         </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">l_port_conf.</span><span style="font-family:'courier new' , monospace">rx_adv_conf</span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">rss_conf</span><span style="color:#d6bb9a;font-family:'courier new' , monospace">.</span><span style="font-family:'courier new' , monospace">rss_hf</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">&=</span><span style="color:#bec0c2;font-family:'courier new' , monospace"> </span><span style="color:#d6bb9a;font-family:'courier new' , monospace">l_dev_info.</span><span style="font-family:'courier new' , monospace">flow_type_rss_offloads;</span></pre><div><span style="font-family:'courier new' , monospace">...</span></div><div> </div><div> </div><div><span style="font-family:'courier new' , monospace">After that I running 1 or 2 workers on own LCore . Every worker #X  do receiving from port Y/queue#X . When I run single worker I see a valid ICMP Echo packet has been used for testing.</span></div><div><span style="font-family:'courier new' , monospace">When I run 2 and more workers I see a garbage instead of packet body, some see output listing at end of mail.</span></div><div><span style="font-family:'courier new' , monospace">Moreover every worker getting a copy of the packet. </span></div><div> </div><div><span style="font-family:'courier new' , monospace">Is there poor programming or something what I'm need to check in configuration vectors?</span></div><div> </div><div><span style="font-family:'courier new' , monospace">Thanks in advance!</span></div><div> </div><div> </div><div> </div><div> </div><div> </div><div><span style="font-family:'courier new' , monospace">Single worker</span></div><div> </div><div><div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:45:53.196 292717 [CGWPROC\s_proc_forward:1018]            QUE #0 --- 2PUZZLE-4/_PEA02: <--- src: 00:18:7D:FF:4A:EB dst: 6C:B3:11:0A:FC:28 EType:0800</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:45:53.196 292717 [COMMON\iphdr_print:367]                 IP Header: SIA: 10.0.136.11 DIA: 10.0.136.1, Id:62937, Len: 84, Proto:1, CKSum:c320]</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:45:53.196 292717 [COMMON\iphdr_print:386]                 ICMP [Type:8, Code:0, CKSum:24d1, Id:001c, Seq:5bfb]</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:45:53.196 [s_proc_forward:1025] Dump of 98 octets follows:</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0000:  6c b3 11 0a fc 28 00 18 7d ff 4a eb 08 00 45 00   l....(..}.J...E.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0010:  00 54 f5 d9 40 00 40 01 20 c3 0a 00 88 0b 0a 00   .T..@.@. .......</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0020:  88 01 08 00 24 d1 00 1c 5b fb e1 be d6 63 00 00   ....$...[....c..</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0030:  00 00 fd 21 03 00 00 00 00 00 10 11 12 13 14 15   ...!............</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0040:  16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25   .......... !"#$%</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0050:  26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35   &'()*+,-./012345</span></div><div> </div><div> </div><div><span style="font-family:'courier new' , monospace">Two workers</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:47:50.718 292752 [CGWPROC\s_proc_forward:1018]            QUE #0 --- 2PUZZLE-4/_PEA02: <--- src: 00:18:7D:FF:4A:EB dst: 00:18:7D:FF:4A:EB EType:0800</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:47:50.718 292753 [CGWPROC\s_proc_forward:1018]            QUE #1 --- 2PUZZLE-4/_PEA02: <--- src: 00:18:7D:FF:4A:EB dst: 00:18:7D:FF:4A:EB EType:0800</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:47:50.718 292752 [COMMON\iphdr_print:367]                 IP Header: SIA: 10.0.136.11 DIA: 84.17.53.155, Id:59137, Len: 165, Proto:17, CKSum:8f77]</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:47:50.718 292753 [COMMON\iphdr_print:367]                 IP Header: SIA: 10.0.136.11 DIA: 84.17.53.155, Id:59137, Len: 165, Proto:17, CKSum:8f77]</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:47:50.718 292752 [COMMON\iphdr_print:377]                 UDP [SPN:20375, DPN:9993, Len:145, CKSum:0000]</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:47:50.718 292753 [COMMON\iphdr_print:377]                 UDP [SPN:20375, DPN:9993, Len:145, CKSum:0000]</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:47:50.718 [s_proc_forward:1025] Dump of 179 octets follows:</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">29-01-2023 21:47:50.718 [s_proc_forward:1025] Dump of 179 octets follows:</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0000:  00 18 7d ff 4a eb 00 18 7d ff 4a eb 08 00 45 00   ..}.J...}.J...E.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0000:  00 18 7d ff 4a eb 00 18 7d ff 4a eb 08 00 45 00   ..}.J...}.J...E.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0010:  00 a5 e7 01 00 00 40 11 77 8f 0a 00 88 0b 54 11   ......@.w.....T.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0010:  00 a5 e7 01 00 00 40 11 77 8f 0a 00 88 0b 54 11   ......@.w.....T.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0020:  35 9b 4f 97 27 09 00 91 00 00 18 16 73 5c e7 0b   5.O.'.......s\..</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0020:  35 9b 4f 97 27 09 00 91 00 00 18 16 73 5c e7 0b   5.O.'.......s\..</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0030:  b9 37 ca fe 04 eb a9 46 3a f9 9a b7 00 61 03 72   .7.....F:....a.r</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0030:  b9 37 ca fe 04 eb a9 46 3a f9 9a b7 00 61 03 72   .7.....F:....a.r</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0040:  2d 07 57 53 dd 01 0c 01 0a 00 01 00 00 01 85 fe   -.WS............</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0040:  2d 07 57 53 dd 01 0c 01 0a 00 01 00 00 01 85 fe   -.WS............</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0050:  db 6a e0 46 3a f9 9a b7 00 a4 66 c0 83 bc 41 be   .j.F:.....f...A.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0050:  db 6a e0 46 3a f9 9a b7 00 a4 66 c0 83 bc 41 be   .j.F:.....f...A.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0060:  ce 72 27 9e 8d 95 3d f4 b6 5c aa 8a 15 e1 4e e7   .r'...=..\....N.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0060:  ce 72 27 9e 8d 95 3d f4 b6 5c aa 8a 15 e1 4e e7   .r'...=..\....N.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0070:  34 5c 51 28 e1 b1 52 55 00 78 38 13 85 9d bf 8e   4\Q(..RU.x8.....</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0070:  34 5c 51 28 e1 b1 52 55 00 78 38 13 85 9d bf 8e   4\Q(..RU.x8.....</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0080:  25 57 2a c3 5a 3b 97 fa fe 0d b2 fd 13 9b 12 02   %W*.Z;..........</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0080:  25 57 2a c3 5a 3b 97 fa fe 0d b2 fd 13 9b 12 02   %W*.Z;..........</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0090:  71 27 34 c0 f2 e1 1c dc 2c 00 04 54 11 35 9b 27   q'4.....,..T.5.'</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +0090:  71 27 34 c0 f2 e1 1c dc 2c 00 04 54 11 35 9b 27   q'4.....,..T.5.'</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +00a0:  09 00 00 00 00 08 ea c9 0a 00 00 01 7e e9 57 60   ............~.W`</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +00a0:  09 00 00 00 00 08 ea c9 0a 00 00 01 7e e9 57 60   ............~.W`</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +00b0:  cd 27 1f                                          .'.</span></div><div><span style="font-family:'courier new' , monospace;font-size:12px;line-height:18px">    +00b0:  cd 27 1f                                          .'.</span></div><div> </div></div></div><div> </div></div><div><span style="font-family:'georgia' , 'palatino'">--- </span></div><div><span style="font-family:'georgia' , 'palatino'">С уважением,<br />Ruslan R. Laishev</span></div><div><span style="font-family:'georgia' , 'palatino'">OpenVMS bigot, natural born system/network progger, C contractor.</span></div><div><span style="font-family:'georgia' , 'palatino'">+79013163222</span></div><div><span style="font-family:'georgia' , 'palatino'">+79910009922</span></div><div> </div>