Hi David,
I decided to upgrade the DPDK static libraries and header files to 22.11.5 and 
rebuild our application.  Using dpdk-dumpcap from DPDK 22.11.5 the utility does 
not complain about the tailq names missing.

Thanks,
Ed

-----Original Message-----
From: David Marchand <[email protected]> 
Sent: Monday, July 8, 2024 4:28 AM
To: Lombardo, Ed <[email protected]>
Cc: [email protected]
Subject: Re: dpdk-dumpcap

External Email: This message originated outside of NETSCOUT. Do not click links 
or open attachments unless you recognize the sender and know the content is 
safe.

On Sun, Jul 7, 2024 at 10:59 PM Lombardo, Ed <[email protected]> wrote:
>
> Hi,
> I am looking to debug my issue with dpdk and E810 NIC for transmit with GRE 
> header.  The dpdk-dumpcap utility is my focus to see what dpdk is 
> transmitting.  I have carefully studied the mbufs for the packet and looks 
> correct.
> I built dpdk-dumpcap utility with debug enabled in meson in dpdk.22.11 and 
> copied dpdk-dumpcap to the VM running our application.
> Our application is using the same version of dpdk 22.11 and built with static 
> libraries. Also rebuilt our application with the EAL argument of 
> “proc-type=primary”.
> When I run dpdk-dumpcap I get errors for RTE_FIB tailq.  I don’t understand 
> this error, why tailq for RTE_FIB is not created in the dpdk-dumpcap 
> application.  Do I need the RTE_FIB for packet capture, can I bypass the need 
> for RTE_FIB?
>
> EAL: Cannot initialize tailq: RTE_FIB
> Tailq 0: qname:<RTE_DIST_BURST>, tqh_first:(nil), tqh_last:0x100000198 
> Tailq 1: qname:<RTE_DISTRIBUTOR>, tqh_first:(nil), 
> tqh_last:0x1000001c8 Tailq 2: qname:<RTE_REORDER>, tqh_first:(nil), 
> tqh_last:0x1000001f8 Tailq 3: qname:<RTE_SWX_PIPELINE>, 
> tqh_first:(nil), tqh_last:0x100000228 Tailq 4: 
> qname:<RTE_SWX_CTL_PIPELINE>, tqh_first:(nil), tqh_last:0x100000258 
> Tailq 5: qname:<RTE_HASH>, tqh_first:(nil), tqh_last:0x100000288 Tailq 
> 6: qname:<RTE_FBK_HASH>, tqh_first:(nil), tqh_last:0x1000002b8 Tailq 
> 7: qname:<RTE_THASH>, tqh_first:(nil), tqh_last:0x1000002e8 Tailq 8: 
> qname:<RTE_LPM>, tqh_first:(nil), tqh_last:0x100000318 Tailq 9: 
> qname:<RTE_LPM6>, tqh_first:(nil), tqh_last:0x100000348 Tailq 10: 
> qname:<RTE_ACL>, tqh_first:(nil), tqh_last:0x100000378 Tailq 11: 
> qname:<RTE_MEMPOOL>, tqh_first:0x1bff3b580, tqh_last:0x1bff3b580 Tailq 
> 12: qname:<RTE_RING>, tqh_first:0x1bff3b4c0, tqh_last:0x1bff41f40 
> Tailq 13: qname:<RTE_MBUF_DYNFIELD>, tqh_first:0x1bff3b800, 
> tqh_last:0x1504000c0 Tailq 14: qname:<RTE_MBUF_DYNFLAG>, 
> tqh_first:(nil), tqh_last:0x100000438 Tailq 15: 
> qname:<UIO_RESOURCE_LIST>, tqh_first:0x1bffd8dc0, tqh_last:0x1bff37dc0 
> Tailq 16: qname:<VFIO_RESOURCE_LIST>, tqh_first:(nil), 
> tqh_last:0x100000498 Tailq 17: qname:<>, tqh_first:(nil), 
> tqh_last:(nil) Tailq 18: qname:<>, tqh_first:(nil), tqh_last:(nil) 
> Tailq 19: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 20: 
> qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 21: qname:<>, 
> tqh_first:(nil), tqh_last:(nil) Tailq 22: qname:<>, tqh_first:(nil), 
> tqh_last:(nil) Tailq 23: qname:<>, tqh_first:(nil), tqh_last:(nil) 
> Tailq 24: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 25: 
> qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 26: qname:<>, 
> tqh_first:(nil), tqh_last:(nil) Tailq 27: qname:<>, tqh_first:(nil), 
> tqh_last:(nil) Tailq 28: qname:<>, tqh_first:(nil), tqh_last:(nil) 
> Tailq 29: qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 30: 
> qname:<>, tqh_first:(nil), tqh_last:(nil) Tailq 31: qname:<>, 
> tqh_first:(nil), tqh_last:(nil)
> EAL: FATAL: Cannot init tail queues for objects
> EAL: Cannot init tail queues for objects
> EAL: Error - exiting with code: 1
>   Cause: EAL init failed: is primary process running?

This means that the primary process binary (your application) does not have the 
FIB library builtin.
Since v22.11, I see no fix in main that could explain this.

Did you perhaps link your application manually? (I mean, not using pkg-config)


--
David Marchand

Reply via email to