DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Shared library build is unable to parse device
@ 2019-05-08  8:24 Rik Huijzer
  2019-05-08  8:24 ` Rik Huijzer
  2019-05-09  8:58 ` Bruce Richardson
  0 siblings, 2 replies; 4+ messages in thread
From: Rik Huijzer @ 2019-05-08  8:24 UTC (permalink / raw)
  To: dev

Hi,

Amazed by the reported processing speed of DPDK, I'm trying to use DPDK as a shared library. Running the rxtx_callbacks (and possibly other) example(s) it exits on `unable to parse device` when enabling CONFIG_RTE_BUILD_SHARED_LIB. If this behavior is as expected for some reason I'm curious for some pointers into a direction I can take to have a shared library which can be called from another application.

The error can be reproduced as follows on Ubuntu 18.04.2.
1. Download DPDK 18.05 and 19.02 and use these to fill the folders dpdk-18.05, dpdk-18.05-shared, dpdk-19.02, and dpdk-19.02-shared. We refer to these folders as $RTE_SDK.
2. For all folders `make config T=x86_64-native-linuxapp-gcc` and `sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config`
3. For both shared folders enable CONFIG_RTE_BUILD_SHARED in build/config.
4. For both shared folders add $RTE/build/lib to /etc/ld.so.conf.d/dpdk.conf and update libraries by reboot or sudo ldconfig.
5. For all folders `cd $RTE_SDK/build/examples/rxtx_callbacks/build/app` and `sudo ./rxtx_callbacks --vdev=eth_pcap0,iface=lo --vdev=eth_pcap1,iface=eno1` where one might need to replace the iface depending on the system.

When doing step 5 both shared DPDK instances will fail with the error `unable to parse device` while the other two start processing packages.

Kind regards,

Rik Huijzer

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [dpdk-dev] Shared library build is unable to parse device
  2019-05-08  8:24 [dpdk-dev] Shared library build is unable to parse device Rik Huijzer
@ 2019-05-08  8:24 ` Rik Huijzer
  2019-05-09  8:58 ` Bruce Richardson
  1 sibling, 0 replies; 4+ messages in thread
From: Rik Huijzer @ 2019-05-08  8:24 UTC (permalink / raw)
  To: dev

Hi,

Amazed by the reported processing speed of DPDK, I'm trying to use DPDK as a shared library. Running the rxtx_callbacks (and possibly other) example(s) it exits on `unable to parse device` when enabling CONFIG_RTE_BUILD_SHARED_LIB. If this behavior is as expected for some reason I'm curious for some pointers into a direction I can take to have a shared library which can be called from another application.

The error can be reproduced as follows on Ubuntu 18.04.2.
1. Download DPDK 18.05 and 19.02 and use these to fill the folders dpdk-18.05, dpdk-18.05-shared, dpdk-19.02, and dpdk-19.02-shared. We refer to these folders as $RTE_SDK.
2. For all folders `make config T=x86_64-native-linuxapp-gcc` and `sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config`
3. For both shared folders enable CONFIG_RTE_BUILD_SHARED in build/config.
4. For both shared folders add $RTE/build/lib to /etc/ld.so.conf.d/dpdk.conf and update libraries by reboot or sudo ldconfig.
5. For all folders `cd $RTE_SDK/build/examples/rxtx_callbacks/build/app` and `sudo ./rxtx_callbacks --vdev=eth_pcap0,iface=lo --vdev=eth_pcap1,iface=eno1` where one might need to replace the iface depending on the system.

When doing step 5 both shared DPDK instances will fail with the error `unable to parse device` while the other two start processing packages.

Kind regards,

Rik Huijzer

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] Shared library build is unable to parse device
  2019-05-08  8:24 [dpdk-dev] Shared library build is unable to parse device Rik Huijzer
  2019-05-08  8:24 ` Rik Huijzer
@ 2019-05-09  8:58 ` Bruce Richardson
  2019-05-09  8:58   ` Bruce Richardson
  1 sibling, 1 reply; 4+ messages in thread
From: Bruce Richardson @ 2019-05-09  8:58 UTC (permalink / raw)
  To: Rik Huijzer; +Cc: dev

On Wed, May 08, 2019 at 08:24:35AM +0000, Rik Huijzer wrote:
> Hi,
> 
> Amazed by the reported processing speed of DPDK, I'm trying to use DPDK as a shared library. Running the rxtx_callbacks (and possibly other) example(s) it exits on `unable to parse device` when enabling CONFIG_RTE_BUILD_SHARED_LIB. If this behavior is as expected for some reason I'm curious for some pointers into a direction I can take to have a shared library which can be called from another application.
> 
> The error can be reproduced as follows on Ubuntu 18.04.2.
> 1. Download DPDK 18.05 and 19.02 and use these to fill the folders dpdk-18.05, dpdk-18.05-shared, dpdk-19.02, and dpdk-19.02-shared. We refer to these folders as $RTE_SDK.
> 2. For all folders `make config T=x86_64-native-linuxapp-gcc` and `sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config`
> 3. For both shared folders enable CONFIG_RTE_BUILD_SHARED in build/config.
> 4. For both shared folders add $RTE/build/lib to /etc/ld.so.conf.d/dpdk.conf and update libraries by reboot or sudo ldconfig.
> 5. For all folders `cd $RTE_SDK/build/examples/rxtx_callbacks/build/app` and `sudo ./rxtx_callbacks --vdev=eth_pcap0,iface=lo --vdev=eth_pcap1,iface=eno1` where one might need to replace the iface depending on the system.
> 
> When doing step 5 both shared DPDK instances will fail with the error `unable to parse device` while the other two start processing packages.
>
For shared library builds, the driver libraries are not explicitly linked
into the apps, so you need to either:
1. have the drivers put into the folder given by EAL_PMD_PATH during the
   build so that EAL finds and loads them automatically.
2. Use the -d flag at runtime to tell EAL to load a driver or a folder of
   drivers on init.

Regards,
/Bruce

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] Shared library build is unable to parse device
  2019-05-09  8:58 ` Bruce Richardson
@ 2019-05-09  8:58   ` Bruce Richardson
  0 siblings, 0 replies; 4+ messages in thread
From: Bruce Richardson @ 2019-05-09  8:58 UTC (permalink / raw)
  To: Rik Huijzer; +Cc: dev

On Wed, May 08, 2019 at 08:24:35AM +0000, Rik Huijzer wrote:
> Hi,
> 
> Amazed by the reported processing speed of DPDK, I'm trying to use DPDK as a shared library. Running the rxtx_callbacks (and possibly other) example(s) it exits on `unable to parse device` when enabling CONFIG_RTE_BUILD_SHARED_LIB. If this behavior is as expected for some reason I'm curious for some pointers into a direction I can take to have a shared library which can be called from another application.
> 
> The error can be reproduced as follows on Ubuntu 18.04.2.
> 1. Download DPDK 18.05 and 19.02 and use these to fill the folders dpdk-18.05, dpdk-18.05-shared, dpdk-19.02, and dpdk-19.02-shared. We refer to these folders as $RTE_SDK.
> 2. For all folders `make config T=x86_64-native-linuxapp-gcc` and `sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config`
> 3. For both shared folders enable CONFIG_RTE_BUILD_SHARED in build/config.
> 4. For both shared folders add $RTE/build/lib to /etc/ld.so.conf.d/dpdk.conf and update libraries by reboot or sudo ldconfig.
> 5. For all folders `cd $RTE_SDK/build/examples/rxtx_callbacks/build/app` and `sudo ./rxtx_callbacks --vdev=eth_pcap0,iface=lo --vdev=eth_pcap1,iface=eno1` where one might need to replace the iface depending on the system.
> 
> When doing step 5 both shared DPDK instances will fail with the error `unable to parse device` while the other two start processing packages.
>
For shared library builds, the driver libraries are not explicitly linked
into the apps, so you need to either:
1. have the drivers put into the folder given by EAL_PMD_PATH during the
   build so that EAL finds and loads them automatically.
2. Use the -d flag at runtime to tell EAL to load a driver or a folder of
   drivers on init.

Regards,
/Bruce

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-05-09  8:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-08  8:24 [dpdk-dev] Shared library build is unable to parse device Rik Huijzer
2019-05-08  8:24 ` Rik Huijzer
2019-05-09  8:58 ` Bruce Richardson
2019-05-09  8:58   ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).