Thread (8 messages) 8 messages, 3 authors, 2018-01-31

Re: [PATCH] net/tap: fix build issue with ARM32

From: Ophir Munk <hidden>
Date: 2018-01-31 09:59:47

Hi,
Please see comments inline
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
Sent: Wednesday, January 31, 2018 7:14 AM
To: dev@dpdk.org
Cc: Thomas Monjalon <redacted>; Jerin Jacob
[off-list ref]; Pascal Mazon
[off-list ref]; Jan Viktorin [off-list ref];
Jianbo Liu [off-list ref]
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.
quoted hunk ↗ jump to hunk
/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 <redacted>
Cc: Jan Viktorin <redacted>
Cc: Jianbo Liu <redacted>

Signed-off-by: Jerin Jacob <redacted>
---
 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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help