usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

DPDK support not built in with X310

JV
Jérémy Vezinet
Fri, Jun 12, 2020 5:32 PM

Hi all,

I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ Network
Interface Card (the one recommended on the Ettus Website).

I first set my connections and a benchmark test shows a lot of dropped
samples and some overflows.
So i decided to try using dpdk to improve my setup.
I have UHD 3.14.1.1 and I installed dpdk with my apt package manager (dpdk
version 17.11.9).
I followed this guide https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD
and when I run the benchmark with use_dpdk argument, I got the following:
[WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not built in.

I really don't understand what's wrong. I tried so many things. I tried
with dpdk 18 and went back to 17 because it didn't solve anything.

Could anyone help me with that please ?

Jeremy

Hi all, I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ Network Interface Card (the one recommended on the Ettus Website). I first set my connections and a benchmark test shows a lot of dropped samples and some overflows. So i decided to try using dpdk to improve my setup. I have UHD 3.14.1.1 and I installed dpdk with my apt package manager (dpdk version 17.11.9). I followed this guide https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD and when I run the benchmark with use_dpdk argument, I got the following: [WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not built in. I really don't understand what's wrong. I tried so many things. I tried with dpdk 18 and went back to 17 because it didn't solve anything. Could anyone help me with that please ? Jeremy
CR
Carmichael, Ryan
Fri, Jun 12, 2020 5:37 PM

Jeremy,

I went through this recently and I believe you need to build UHD manually, assuming you are using pre-built UHD binaries. If you’ve installed it, DPDK support should be detected when you build the UHD driver (the output of cmake should indicate if it finds it or not).

  •      Ryan
    

I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ Network Interface Card (the one recommended on the Ettus Website).

I first set my connections and a benchmark test shows a lot of dropped samples and some overflows.
So i decided to try using dpdk to improve my setup.
I have UHD 3.14.1.1 and I installed dpdk with my apt package manager (dpdk version 17.11.9).
I followed this guide https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD and when I run the benchmark with use_dpdk argument, I got the following:
[WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not built in.

I really don't understand what's wrong. I tried so many things. I tried with dpdk 18 and went back to 17 because it didn't solve anything.

Could anyone help me with that please ?

Jeremy


The information contained in this message, and any attachments, may contain privileged and/or proprietary information that is intended solely for the person or entity to which it is addressed. Moreover, it may contain export restricted technical data controlled by Export Administration Regulations (EAR) or the International Traffic in Arms Regulations (ITAR). Any review, retransmission, dissemination, or re-export to foreign or domestic entities by anyone other than the intended recipient in accordance with EAR and/or ITAR regulations is prohibited.

Jeremy, I went through this recently and I believe you need to build UHD manually, assuming you are using pre-built UHD binaries. If you’ve installed it, DPDK support should be detected when you build the UHD driver (the output of cmake should indicate if it finds it or not). - Ryan I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ Network Interface Card (the one recommended on the Ettus Website). I first set my connections and a benchmark test shows a lot of dropped samples and some overflows. So i decided to try using dpdk to improve my setup. I have UHD 3.14.1.1 and I installed dpdk with my apt package manager (dpdk version 17.11.9). I followed this guide https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD and when I run the benchmark with use_dpdk argument, I got the following: [WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not built in. I really don't understand what's wrong. I tried so many things. I tried with dpdk 18 and went back to 17 because it didn't solve anything. Could anyone help me with that please ? Jeremy ________________________________ The information contained in this message, and any attachments, may contain privileged and/or proprietary information that is intended solely for the person or entity to which it is addressed. Moreover, it may contain export restricted technical data controlled by Export Administration Regulations (EAR) or the International Traffic in Arms Regulations (ITAR). Any review, retransmission, dissemination, or re-export to foreign or domestic entities by anyone other than the intended recipient in accordance with EAR and/or ITAR regulations is prohibited.
MD
Marcus D. Leech
Fri, Jun 12, 2020 7:34 PM

On 06/12/2020 01:37 PM, Carmichael, Ryan via USRP-users wrote:

Jeremy,

I went through this recently and I believe you need to build UHD
manually, assuming you are using pre-built UHD binaries. If you’ve
installed it, DPDK support should be detected when you build the UHD
driver (the output of cmake should indicate if it finds it or not).

-Ryan

I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+
Network Interface Card (the one recommended on the Ettus Website).

I first set my connections and a benchmark test shows a lot of dropped
samples and some overflows.
So i decided to try using dpdk to improve my setup.
I have UHD 3.14.1.1 and I installed dpdk with my apt package manager
(dpdk version 17.11.9).
I followed this guide
https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD
https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD and when I
run the benchmark with use_dpdk argument, I got the following:
|[WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not
built in.|

I really don't understand what's wrong. I tried so many things. I
tried with dpdk 18 and went back to 17 because it didn't solve anything.

Could anyone help me with that please ?

Jeremy

I don't think the DPDK support in UHD is "mainstream" yet (perhaps in
3.15?) so the packaged binaries don't have support for it.

On 06/12/2020 01:37 PM, Carmichael, Ryan via USRP-users wrote: > > Jeremy, > > I went through this recently and I believe you need to build UHD > manually, assuming you are using pre-built UHD binaries. If you’ve > installed it, DPDK support should be detected when you build the UHD > driver (the output of cmake should indicate if it finds it or not). > > -Ryan > > I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ > Network Interface Card (the one recommended on the Ettus Website). > > I first set my connections and a benchmark test shows a lot of dropped > samples and some overflows. > So i decided to try using dpdk to improve my setup. > I have UHD 3.14.1.1 and I installed dpdk with my apt package manager > (dpdk version 17.11.9). > I followed this guide > https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD > <https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD> and when I > run the benchmark with use_dpdk argument, I got the following: > |[WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not > built in.| > > I really don't understand what's wrong. I tried so many things. I > tried with dpdk 18 and went back to 17 because it didn't solve anything. > > Could anyone help me with that please ? > > Jeremy > > I don't think the DPDK support in UHD is "mainstream" yet (perhaps in 3.15?) so the packaged binaries don't have support for it.
JV
Jérémy Vezinet
Fri, Jun 12, 2020 8:54 PM

Hi Ryan,

Thanks for that.

So, I tried to build UHD manually and now when I generate the MakeFile,
DPDK support is detected.
But when I try to build UHD, I got an error when linking shared library
libuhd.so:

/usr/bin/ld: //usr/local/lib/librte_eal.a(eal_thread.o): relocation
R_X86_64_TPOFF32 against per_lcore__thread_id.8433' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_vfio.o): relocation R_X86_64_TPOFF32 against per_lcore__thread_id.6718' can not be used when
making a shared object; recompile with -fPIC
/usr/bin/ld: //usr/local/lib/librte_eal.a(eal_interrupts.o): relocation
R_X86_64_TPOFF32 against per_lcore__epfd' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_common_log.o): relocation R_X86_64_TPOFF32 against per_lcore_log_cur_msg' can not be used when
making a shared object; recompile with -fPIC
/usr/bin/ld: //usr/local/lib/librte_eal.a(eal_common_errno.o): relocation
R_X86_64_TPOFF32 against per_lcore_retval.3874' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_debug.o): relocation R_X86_64_PC32 against symbol rte_dump_stack' can not be used when making a
shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
lib/CMakeFiles/uhd.dir/build.make:7976: recipe for target
'lib/libuhd.so.4.0.0' failed
make[2]: *** [lib/libuhd.so.4.0.0] Error 1
CMakeFiles/Makefile2:123: recipe for target 'lib/CMakeFiles/uhd.dir/all'
failed
make[1]: *** [lib/CMakeFiles/uhd.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2

I've read somewhere it's because librte_eal is not compiled as a shared
library. But I changed when CONFIG_RTE_BUILD_SHARED_LIB=n building dpdk.

Did you go through this issue too ?

Le ven. 12 juin 2020 à 19:37, Carmichael, Ryan Ryan.Carmichael@dynetics.com
a écrit :

Jeremy,

I went through this recently and I believe you need to build UHD manually,
assuming you are using pre-built UHD binaries. If you’ve installed it, DPDK
support should be detected when you build the UHD driver (the output of
cmake should indicate if it finds it or not).

  •      Ryan
    

I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ Network
Interface Card (the one recommended on the Ettus Website).

I first set my connections and a benchmark test shows a lot of dropped
samples and some overflows.
So i decided to try using dpdk to improve my setup.
I have UHD 3.14.1.1 and I installed dpdk with my apt package manager (dpdk
version 17.11.9).
I followed this guide
https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD and when I run the
benchmark with use_dpdk argument, I got the following:
[WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not built in.

I really don't understand what's wrong. I tried so many things. I tried
with dpdk 18 and went back to 17 because it didn't solve anything.

Could anyone help me with that please ?

Jeremy

  • ------------------------------ The information contained in this
    message, and any attachments, may contain privileged and/or proprietary
    information that is intended solely for the person or entity to which it is
    addressed. Moreover, it may contain export restricted technical data
    controlled by Export Administration Regulations (EAR) or the International
    Traffic in Arms Regulations (ITAR). Any review, retransmission,
    dissemination, or re-export to foreign or domestic entities by anyone other
    than the intended recipient in accordance with EAR and/or ITAR regulations
    is prohibited. *
Hi Ryan, Thanks for that. So, I tried to build UHD manually and now when I generate the MakeFile, DPDK support is detected. But when I try to build UHD, I got an error when linking shared library libuhd.so: /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_thread.o): relocation R_X86_64_TPOFF32 against `per_lcore__thread_id.8433' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_vfio.o): relocation R_X86_64_TPOFF32 against `per_lcore__thread_id.6718' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_interrupts.o): relocation R_X86_64_TPOFF32 against `per_lcore__epfd' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_common_log.o): relocation R_X86_64_TPOFF32 against `per_lcore_log_cur_msg' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_common_errno.o): relocation R_X86_64_TPOFF32 against `per_lcore_retval.3874' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_debug.o): relocation R_X86_64_PC32 against symbol `rte_dump_stack' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status lib/CMakeFiles/uhd.dir/build.make:7976: recipe for target 'lib/libuhd.so.4.0.0' failed make[2]: *** [lib/libuhd.so.4.0.0] Error 1 CMakeFiles/Makefile2:123: recipe for target 'lib/CMakeFiles/uhd.dir/all' failed make[1]: *** [lib/CMakeFiles/uhd.dir/all] Error 2 Makefile:162: recipe for target 'all' failed make: *** [all] Error 2 I've read somewhere it's because librte_eal is not compiled as a shared library. But I changed when CONFIG_RTE_BUILD_SHARED_LIB=n building dpdk. Did you go through this issue too ? Le ven. 12 juin 2020 à 19:37, Carmichael, Ryan <Ryan.Carmichael@dynetics.com> a écrit : > Jeremy, > > > > I went through this recently and I believe you need to build UHD manually, > assuming you are using pre-built UHD binaries. If you’ve installed it, DPDK > support should be detected when you build the UHD driver (the output of > cmake should indicate if it finds it or not). > > > > - Ryan > > > > > > I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ Network > Interface Card (the one recommended on the Ettus Website). > > I first set my connections and a benchmark test shows a lot of dropped > samples and some overflows. > So i decided to try using dpdk to improve my setup. > I have UHD 3.14.1.1 and I installed dpdk with my apt package manager (dpdk > version 17.11.9). > I followed this guide > https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD and when I run the > benchmark with use_dpdk argument, I got the following: > [WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not built in. > > I really don't understand what's wrong. I tried so many things. I tried > with dpdk 18 and went back to 17 because it didn't solve anything. > > Could anyone help me with that please ? > > Jeremy > > * ------------------------------ The information contained in this > message, and any attachments, may contain privileged and/or proprietary > information that is intended solely for the person or entity to which it is > addressed. Moreover, it may contain export restricted technical data > controlled by Export Administration Regulations (EAR) or the International > Traffic in Arms Regulations (ITAR). Any review, retransmission, > dissemination, or re-export to foreign or domestic entities by anyone other > than the intended recipient in accordance with EAR and/or ITAR regulations > is prohibited. * >
CR
Carmichael, Ryan
Mon, Jun 15, 2020 1:12 PM

Jeremy,

Sorry, I did not get that error. I would recommend building UHD-3.15-LTS branch, if that’s not what you were using already. Also, I did experience some issues with g++ 4.8.5 and had to go to a more recent version when building UHD with DPDK.

  •      Ryan
    

From: Jérémy Vezinet jeremy.vezinet@gmail.com
Sent: Friday, June 12, 2020 3:54 PM
To: usrp-users@lists.ettus.com
Cc: Carmichael, Ryan Ryan.Carmichael@dynetics.com
Subject: [EXTERNAL] Re: [USRP-users] DPDK support not built in with X310

Hi Ryan,

Thanks for that.

So, I tried to build UHD manually and now when I generate the MakeFile, DPDK support is detected.
But when I try to build UHD, I got an error when linking shared library libuhd.so:

/usr/bin/ld: //usr/local/lib/librte_eal.a(eal_thread.o): relocation R_X86_64_TPOFF32 against per_lcore__thread_id.8433' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_vfio.o): relocation R_X86_64_TPOFF32 against per_lcore__thread_id.6718' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: //usr/local/lib/librte_eal.a(eal_interrupts.o): relocation R_X86_64_TPOFF32 against per_lcore__epfd' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_common_log.o): relocation R_X86_64_TPOFF32 against per_lcore_log_cur_msg' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: //usr/local/lib/librte_eal.a(eal_common_errno.o): relocation R_X86_64_TPOFF32 against per_lcore_retval.3874' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_debug.o): relocation R_X86_64_PC32 against symbol rte_dump_stack' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
lib/CMakeFiles/uhd.dir/build.make:7976: recipe for target 'lib/libuhd.so.4.0.0' failed
make[2]: *** [lib/libuhd.so.4.0.0] Error 1
CMakeFiles/Makefile2:123: recipe for target 'lib/CMakeFiles/uhd.dir/all' failed
make[1]: *** [lib/CMakeFiles/uhd.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2

I've read somewhere it's because librte_eal is not compiled as a shared library. But I changed when CONFIG_RTE_BUILD_SHARED_LIB=n building dpdk.

Did you go through this issue too ?

Le ven. 12 juin 2020 à 19:37, Carmichael, Ryan <Ryan.Carmichael@dynetics.commailto:Ryan.Carmichael@dynetics.com> a écrit :
Jeremy,

I went through this recently and I believe you need to build UHD manually, assuming you are using pre-built UHD binaries. If you’ve installed it, DPDK support should be detected when you build the UHD driver (the output of cmake should indicate if it finds it or not).

  •      Ryan
    

I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ Network Interface Card (the one recommended on the Ettus Website).

I first set my connections and a benchmark test shows a lot of dropped samples and some overflows.
So i decided to try using dpdk to improve my setup.
I have UHD 3.14.1.1 and I installed dpdk with my apt package manager (dpdk version 17.11.9).
I followed this guide https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD and when I run the benchmark with use_dpdk argument, I got the following:
[WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not built in.

I really don't understand what's wrong. I tried so many things. I tried with dpdk 18 and went back to 17 because it didn't solve anything.

Could anyone help me with that please ?

Jeremy


The information contained in this message, and any attachments, may contain privileged and/or proprietary information that is intended solely for the person or entity to which it is addressed. Moreover, it may contain export restricted technical data controlled by Export Administration Regulations (EAR) or the International Traffic in Arms Regulations (ITAR). Any review, retransmission, dissemination, or re-export to foreign or domestic entities by anyone other than the intended recipient in accordance with EAR and/or ITAR regulations is prohibited.

Jeremy, Sorry, I did not get that error. I would recommend building UHD-3.15-LTS branch, if that’s not what you were using already. Also, I did experience some issues with g++ 4.8.5 and had to go to a more recent version when building UHD with DPDK. - Ryan From: Jérémy Vezinet <jeremy.vezinet@gmail.com> Sent: Friday, June 12, 2020 3:54 PM To: usrp-users@lists.ettus.com Cc: Carmichael, Ryan <Ryan.Carmichael@dynetics.com> Subject: [EXTERNAL] Re: [USRP-users] DPDK support not built in with X310 Hi Ryan, Thanks for that. So, I tried to build UHD manually and now when I generate the MakeFile, DPDK support is detected. But when I try to build UHD, I got an error when linking shared library libuhd.so: /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_thread.o): relocation R_X86_64_TPOFF32 against `per_lcore__thread_id.8433' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_vfio.o): relocation R_X86_64_TPOFF32 against `per_lcore__thread_id.6718' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_interrupts.o): relocation R_X86_64_TPOFF32 against `per_lcore__epfd' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_common_log.o): relocation R_X86_64_TPOFF32 against `per_lcore_log_cur_msg' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_common_errno.o): relocation R_X86_64_TPOFF32 against `per_lcore_retval.3874' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: //usr/local/lib/librte_eal.a(eal_debug.o): relocation R_X86_64_PC32 against symbol `rte_dump_stack' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status lib/CMakeFiles/uhd.dir/build.make:7976: recipe for target 'lib/libuhd.so.4.0.0' failed make[2]: *** [lib/libuhd.so.4.0.0] Error 1 CMakeFiles/Makefile2:123: recipe for target 'lib/CMakeFiles/uhd.dir/all' failed make[1]: *** [lib/CMakeFiles/uhd.dir/all] Error 2 Makefile:162: recipe for target 'all' failed make: *** [all] Error 2 I've read somewhere it's because librte_eal is not compiled as a shared library. But I changed when CONFIG_RTE_BUILD_SHARED_LIB=n building dpdk. Did you go through this issue too ? Le ven. 12 juin 2020 à 19:37, Carmichael, Ryan <Ryan.Carmichael@dynetics.com<mailto:Ryan.Carmichael@dynetics.com>> a écrit : Jeremy, I went through this recently and I believe you need to build UHD manually, assuming you are using pre-built UHD binaries. If you’ve installed it, DPDK support should be detected when you build the UHD driver (the output of cmake should indicate if it finds it or not). - Ryan I recently bought a X310 usrp and a 82599ES 10-Gigabit SFI/SFP+ Network Interface Card (the one recommended on the Ettus Website). I first set my connections and a benchmark test shows a lot of dropped samples and some overflows. So i decided to try using dpdk to improve my setup. I have UHD 3.14.1.1 and I installed dpdk with my apt package manager (dpdk version 17.11.9). I followed this guide https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD and when I run the benchmark with use_dpdk argument, I got the following: [WARNING] [DPDK] Detected use_dpdk argument, but DPDK support not built in. I really don't understand what's wrong. I tried so many things. I tried with dpdk 18 and went back to 17 because it didn't solve anything. Could anyone help me with that please ? Jeremy ________________________________ The information contained in this message, and any attachments, may contain privileged and/or proprietary information that is intended solely for the person or entity to which it is addressed. Moreover, it may contain export restricted technical data controlled by Export Administration Regulations (EAR) or the International Traffic in Arms Regulations (ITAR). Any review, retransmission, dissemination, or re-export to foreign or domestic entities by anyone other than the intended recipient in accordance with EAR and/or ITAR regulations is prohibited.