[dpdk-dev] How to compile and run l2fwd/l3fwd on DPDK windows?

Pallavi Kadam pallavi.kadam at intel.com
Tue Feb 4 22:46:10 CET 2020


Hi William,

On 2/4/2020 1:25 PM, William Tu wrote:
> Hi,
>
> I'm able to follow the doc to run helloworld example
> https://doc.dpdk.org/guides/windows_gsg/build_dpdk.html#build-the-code
>
> I'm thinking about running l2fwd on my x710 card.
> Is there any step-by-step document to follow?

Currently, L2fwd/ L3fwd is WIP and does not have support on dpdk master branch.

But, you can refer to draft repository and checkout windpdk-v18.08-clang.
This has a Visual Studio solution file and you'll need Clang-llvm and Visual Studio
to build the project.
You can refer to dpdk-draft-windows\doc\guides\windows.md for more details.
However, you can use Clang compiler instead of ICC.
We are working on updating the doc to change it to Clang compiler and not ICC.

>
> So far I'm not able to compile the l3fwd and l2fwd.
> meson fails for l3fwd:
> c:\dpdk>meson --reconfigure -Dexamples=l3fwd build
> The Meson build system
> examples\meson.build:93:4: ERROR: Problem encountered: Missing
> dependency "hash" for example "l3fwd"
>
> ninja fails for l2fwd:
> c:\dpdk>meson --reconfigure -Dexamples=l2fwd build
> c:\dpdk\build>ninja -v
> [1/18] "C:/Python38/python.exe" "../buildtools/map_to_def.py"
> "C:/dpdk/lib/librte_kvargs/rte_kvargs_version.map"
> "lib/rte_kvargs_exports.def"
> [2/18] clang @lib/76b5a35@@rte_eal at sta/librte_eal_windows_eal_eal_debug.c.obj.rsp
> ../lib/librte_eal/windows/eal/eal_debug.c:16:42: warning: format
> string is not a string literal [-Wformat-nonliteral]
>          rte_vlog(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, format, ap);
>                                                  ^~~~~~
> ../lib/librte_eal/windows/eal/eal_debug.c:10:1: warning: no previous
> prototype for function '__rte_panic' [-Wmissing-prototypes]
> __rte_panic(const char *funcname, const char *format, ...)
> ^
> 2 warnings generated.
> [3/18] clang @lib/76b5a35@@rte_kvargs at sta/librte_kvargs_rte_kvargs.c.obj.rsp
> [4/18] clang @lib/76b5a35@@rte_eal at sta/librte_eal_common_eal_common_lcore.c.obj.rsp
> [5/18] llvm-ar "csrD" lib/librte_kvargs.a @lib/librte_kvargs.a.rsp
> [6/18] clang @lib/76b5a35@@rte_eal at sta/librte_eal_common_eal_common_launch.c.obj.rsp
> [7/18] clang @lib/librte_kvargs-0.200.dll.rsp
> clang.exe: warning: argument unused during compilation: '-pthread'
> [-Wunused-command-line-argument]
> LINK : warning LNK4044: unrecognized option '/-no-as-needed'; ignored
>     Creating library lib\librte_kvargs.dll.a and object lib\librte_kvargs.dll.exp
> [8/18] clang @lib/76b5a35@@rte_eal at sta/librte_eal_common_eal_common_log.c.obj.rsp
> [9/18] clang @lib/76b5a35@@rte_eal at sta/librte_eal_common_eal_common_errno.c.obj.rsp
> [10/18] "C:\Python38\Scripts\meson" --internal symbolextractor
> lib/librte_kvargs-0.200.dll
> lib/76b5a35@@rte_kvargs at sha/librte_kvargs-0.200.dll.symbols
> [11/18] "C:/Python38/python.exe" "../buildtools/map_to_def.py"
> "C:/dpdk/lib/librte_eal/rte_eal_version.map" "lib/rte_eal_exports.def"
> [12/18] clang @lib/76b5a35@@rte_eal at sta/librte_eal_windows_eal_eal.c.obj.rsp
> [13/18] clang @lib/76b5a35@@rte_eal at sta/librte_eal_windows_eal_eal_thread.c.obj.rsp
> [14/18] clang @examples/c590b3c@@dpdk-l2fwd at exe/l2fwd_main.c.obj.rsp
> FAILED: examples/c590b3c@@dpdk-l2fwd at exe/l2fwd_main.c.obj
> clang @examples/c590b3c@@dpdk-l2fwd at exe/l2fwd_main.c.obj.rsp
> ../examples/l2fwd/main.c:12:10: fatal error: 'netinet/in.h' file not found
> #include <netinet/in.h>
>           ^~~~~~~~~~~~~~
> 1 error generated.
>
> Thanks for your help
> William


More information about the dev mailing list