-----Original Message----- From: Bruce Richardson <bruce.richard...@intel.com> Sent: Tuesday, May 9, 2023 3:43 AM To: Gilbert Carrillo <gcarri...@ampex.com> Cc: dev@dpdk.org Subject: Re: DPDK 22.11 Troubleshooting On Mon, May 08, 2023 at 11:26:59PM +0000, Gilbert Carrillo wrote: > > > -----Original Message----- > From: Bruce Richardson <bruce.richard...@intel.com> > Sent: Wednesday, May 3, 2023 11:18 AM > To: Gilbert Carrillo <gcarri...@ampex.com> > Cc: dev@dpdk.org > Subject: Re: DPDK 22.11 Troubleshooting > > On Wed, May 03, 2023 at 04:53:20PM +0000, Gilbert Carrillo wrote: > > Make static returns an error (see attached). > > > > v/R, > > Gilbert > > > > To help investigate this issue, can you perhaps include the text of the full > build output when you run "make static". On my system I see libelf listed on > the linker flags when I run "make static", and things link properly. I'm > wondering how my setup may differ from yours. > > /Bruce > > > -----Original Message----- > > From: Bruce Richardson <bruce.richard...@intel.com> > > Sent: Wednesday, May 3, 2023 10:35 AM > > To: Gilbert Carrillo <gcarri...@ampex.com> > > Cc: dev@dpdk.org > > Subject: Re: DPDK 22.11 Troubleshooting > > > > On Wed, May 03, 2023 at 04:22:05PM +0000, Gilbert Carrillo wrote: > > > Hi Bruce, > > > > > > Thank you for the response. > > > > > > There is no errors when I run the makefile, however I do see a difference > > > in the programs. I don't believe the makefile is linking all the > > > libraries together as intended. > > > > > > For example, when I run the ethtool sample program and compile it using > > > meson, it works fine and rte_eth_dev_count_avail() returns the correct > > > amount. However, when I compile ethtool with the makefile and run it > > > rte_eth_dev_count_avail() returns 0. > > > > > > > Note that by default the meson build will statically link the examples, > > while the makefile will dynamically load the drivers at runtime. That may > > explain the difference. Can you try building and running using "make > > static" rather than just "make". > > > > /Bruce > > Bruce, > > I had multiple versions of DPDK installed and I was linking the wrong one. I > was able to compile my application with CMAKE successfully. > > I had one last quick question. I am trying to achieve zero copy DMA from my > FPGA to my external buffer. Is this possible? I saw methods such as attaching > an mbuf to the external buffer? But I wasn't sure if this was truly zero copy. > Attaching an mbuf to an external buffer would not involve any copy of the data itself, so should be zero-copy. Each mbuf header contains a buffer pointer, which normally points just to the end of the header structure, but which can point to any other location in memory. /Bruce Thank you, Bruce. Is attaching an mbuf to my external buffer the only way to achieve this zero copy DMA? I also read that there is a function rte_pktmbuf_read() that can read the data from my FPGA directly to my external buffer, but I don't think this method is zero copy since it requires the CPU to copy the data. /Gilbert