<div dir="ltr">I'm using the Mellanox Connect X5:<div><br><div>pci@0000:3b:00.0  enp59s0f0np0   network        MT27800 Family [ConnectX-5]<br>pci@0000:3b:00.1  enp59s0f1np1   network        MT27800 Family [ConnectX-5]<br>pci@0000:3b:00.2  enp59s0f0v0    network        MT27800 Family [ConnectX-5 Virtual Function]<br>pci@0000:3b:00.3  enp59s0f0v1    network        MT27800 Family [ConnectX-5 Virtual Function]<br>pci@0000:3b:00.4  enp59s0f0v2    network        MT27800 Family [ConnectX-5 Virtual Function]<br>pci@0000:3b:00.5  enp59s0f0v3    network        MT27800 Family [ConnectX-5 Virtual Function]<br>pci@0000:3b:04.2  enp59s0f1v0    network        MT27800 Family [ConnectX-5 Virtual Function]<br>pci@0000:3b:04.3  enp59s0f1v1    network        MT27800 Family [ConnectX-5 Virtual Function]<br>pci@0000:3b:04.4  enp59s0f1v2    network        MT27800 Family [ConnectX-5 Virtual Function]<br>pci@0000:3b:04.5  enp59s0f1v3    network        MT27800 Family [ConnectX-5 Virtual Function]<br></div><div><br></div><div>This is the message:</div><div>lcore 6 called tx_pkt_burst for not ready port 0<br>8: [/lib/x86_64-linux-gnu/libc.so.6(+0x126a00) [0x7ffff7c77a00]]<br>7: [/lib/x86_64-linux-gnu/libc.so.6(+0x94b43) [0x7ffff7be5b43]]<br>6: [/usr/local/lib/librte_eal.so.22(+0x1559a) [0x7ffff7d8e59a]]<br>5: [build/simple_eth_tx_mp(+0x1a0c7) [0x55555556e0c7]]<br>4: [build/simple_eth_tx_mp(+0x19f89) [0x55555556df89]]<br>3: [build/simple_eth_tx_mp(+0x423c) [0x55555555823c]]<br>2: [/usr/local/lib/librte_ethdev.so.22(+0x7cbc) [0x7ffff7eb3cbc]]<br>1: [/usr/local/lib/librte_eal.so.22(rte_dump_stack+0x32) [0x7ffff7daf152]]<br></div><div><br></div><div>I'm having all sorts of problems with this Mellanox stuff, Intel cards are much more user friendly. </div><div><br></div><div>Just to recap:</div><div>* configure on primary and transmit on primary           ---> GOOD</div><div><br></div><div>* configure on secondary and transmit on secondary  ---> SIGSEGV  </div><div>Thread 4 "lcore-worker-6" received signal SIGSEGV, Segmentation fault.<br>[Switching to Thread 0x7ffff4346640 (LWP 7208)]<br>rte_eth_tx_burst (port_id=0, queue_id=0, tx_pkts=0x7ffff4344ac0, nb_pkts=1) at /usr/local/include/rte_ethdev.h:5650<br>5650            qd = p->txq.data[queue_id]; <br></div><div>(gdb) print p->txq<br>$2 = {data = 0x0, clbk = 0x7ffff7f21528 <rte_eth_devices+8296>} (data is NULL)<br></div><div><br></div><div><br></div><div>* configure on primary and transmit on secondary       ---> PORT NOT READY</div><div><br></div><div>Do you know who should be notified of this problem? Should I open a bug on DPDK bugzilla or file it to NVIDIA?</div><div><br></div><div>Thx.</div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno gio 1 set 2022 alle ore 03:25 Stephen Hemminger <<a href="mailto:stephen@networkplumber.org">stephen@networkplumber.org</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 31 Aug 2022 22:59:56 +0200<br>
Anna Tauzzi <<a href="mailto:admin@argonnetech.net" target="_blank">admin@argonnetech.net</a>> wrote:<br>
<br>
> I initialize a port with the following methods on a primary process:<br>
> <br>
> rte_dev_probe(vf)<br>
> <br>
> rte_eth_dev_configure(port_id, ... );<br>
> <br>
> rte_eth_dev_adjust_nb_rx_tx_desc(port_id, ... );<br>
> <br>
> rte_eth_rx_queue_setup(port_id, .... );<br>
> <br>
> rte_eth_tx_queue_setup(port_id, ... );<br>
> <br>
> rte_eth_dev_start(port_id ... );<br>
> <br>
> <br>
> <br>
> Then I use the rte_eth_tx_burst(port_id) in the secondary process but I get<br>
> this message:<br>
> <br>
> called tx_pkt_burst for not ready port 0<br>
> <br>
> Is this expected?<br>
<br>
No looks like a device driver bug. Which PMD?<br>
</blockquote></div>