[dpdk-dev] [PATCH] net/tap: fix build issue with ARM32

Ophir Munk ophirmu at mellanox.com
Wed Jan 31 10:59:45 CET 2018


Hi,
Please see comments inline

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jerin Jacob
> Sent: Wednesday, January 31, 2018 7:14 AM
> To: dev at dpdk.org
> Cc: Thomas Monjalon <thomas at monjalon.net>; Jerin Jacob
> <jerin.jacob at caviumnetworks.com>; Pascal Mazon
> <pascal.mazon at 6wind.com>; Jan Viktorin <viktorin at rehivetech.com>;
> Jianbo Liu <jianbo.liu at arm.com>
> Subject: [dpdk-dev] [PATCH] net/tap: fix build issue with ARM32
> 
> arm32 Linux does not support eBPF interface.
> Since tap PMD driver has a dependency on eBPF(the symbol __NR_bpf),
> disabling it armv7 config.
> 
> compilation error log:
> In file included from /tmp/dpdk/drivers/net/tap/tap_bpf_api.c:15:0:
> /tmp/dpdk/drivers/net/tap/tap_bpf.h:103:4: error: #error __NR_bpf not
> defined  #  error __NR_bpf not defined
>     ^

arm architecture is missing is file drivers/tap/tap_bpf.h
I suggest adding it, for example

# elif defined(__arm__)
#  define __NR_bpf 386

It should work for you. Can you please try it?
If it doesn't work for you, please have a look in this link:
 https://sourceforge.net/p/predef/wiki/Architectures/
where you can see more arm architecture definitions.
You should find the one suitable for you.

> /tmp/dpdk/drivers/net/tap/tap_bpf_api.c: In function ‘sys_bpf’:
> /tmp/dpdk/drivers/net/tap/tap_bpf_api.c:92:17: error: ‘__NR_bpf’
> undeclared (first use in this function)
>   return syscall(__NR_bpf, cmd, attr, size);
>                  ^
> /tmp/dpdk/drivers/net/tap/tap_bpf_api.c:92:17: note: each undeclared
> identifier is reported only once for each function it appears in
> /tmp/dpdk/drivers/net/tap/tap_bpf_api.c:93:1: error: control reaches end of
> non-void function [-Werror=return-type]  }  ^
> cc1: all warnings being treated as errors
> 
> Fixes: b02d85e1 ("net/tap: add eBPF API")
> 
> Cc: Pascal Mazon <pascal.mazon at 6wind.com>
> Cc: Jan Viktorin <viktorin at rehivetech.com>
> Cc: Jianbo Liu <jianbo.liu at arm.com>
> 
> Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> ---
>  config/defconfig_arm-armv7a-linuxapp-gcc | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/config/defconfig_arm-armv7a-linuxapp-gcc
> b/config/defconfig_arm-armv7a-linuxapp-gcc
> index a20b7a85f..4a55bb397 100644
> --- a/config/defconfig_arm-armv7a-linuxapp-gcc
> +++ b/config/defconfig_arm-armv7a-linuxapp-gcc
> @@ -80,3 +80,4 @@ CONFIG_RTE_LIBRTE_BNX2X_PMD=n
> CONFIG_RTE_LIBRTE_QEDE_PMD=n  CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
> CONFIG_RTE_LIBRTE_AVP_PMD=n
> +CONFIG_RTE_LIBRTE_PMD_TAP=n
> --

I suggest fixing the compilation issue by adding the missing architecture system call number
(as suggested above) instead of disabling TAP compilation by default

> 2.16.1



More information about the dev mailing list