From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Ophir Munk <ophirmu@mellanox.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
Thomas Monjalon <thomas@monjalon.net>,
Pascal Mazon <pascal.mazon@6wind.com>,
Jan Viktorin <viktorin@rehivetech.com>,
Jianbo Liu <jianbo.liu@arm.com>
Subject: Re: [PATCH] net/tap: fix build issue with ARM32
Date: Wed, 31 Jan 2018 15:53:54 +0530 [thread overview]
Message-ID: <20180131102352.GA24477@jerin> (raw)
In-Reply-To: <AM0PR0502MB38753B66BE69D631E038A9C7D1FB0@AM0PR0502MB3875.eurprd05.prod.outlook.com>
-----Original Message-----
> Date: Wed, 31 Jan 2018 09:59:45 +0000
> From: Ophir Munk <ophirmu@mellanox.com>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>, "dev@dpdk.org"
> <dev@dpdk.org>
> CC: Thomas Monjalon <thomas@monjalon.net>, Pascal Mazon
> <pascal.mazon@6wind.com>, Jan Viktorin <viktorin@rehivetech.com>, Jianbo
> Liu <jianbo.liu@arm.com>
> Subject: RE: [dpdk-dev] [PATCH] net/tap: fix build issue with ARM32
>
> 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 <thomas@monjalon.net>; Jerin Jacob
> > <jerin.jacob@caviumnetworks.com>; Pascal Mazon
> > <pascal.mazon@6wind.com>; Jan Viktorin <viktorin@rehivetech.com>;
> > Jianbo Liu <jianbo.liu@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
By looking at Linux source code
http://elixir.free-electrons.com/linux/v4.15/source/tools/build/feature/test-bpf.c#L6
I am not sure, Is eBPF support available for arm32 support?
>
> It should work for you. Can you please try it?
I don't have access to an arm32 board. I was facing cross compilation
build issue with arm32.
> 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.
I guess, it is not just matter of enabling the build for arm32. It should work
at runtime too, If some can confirm following addition in the drivers/net/tap/tap_bpf.h
works then we can add it.
# elif defined(__arm__)
# define __NR_bpf 386
>
> > /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@6wind.com>
> > Cc: Jan Viktorin <viktorin@rehivetech.com>
> > Cc: Jianbo Liu <jianbo.liu@arm.com>
> >
> > Signed-off-by: Jerin Jacob <jerin.jacob@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
>
next prev parent reply other threads:[~2018-01-31 10:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-31 5:14 [PATCH] net/tap: fix build issue with ARM32 Jerin Jacob
2018-01-31 9:59 ` Ophir Munk
2018-01-31 10:23 ` Jerin Jacob [this message]
2018-01-31 10:38 ` Ophir Munk
2018-01-31 11:19 ` Thomas Monjalon
2018-01-31 11:30 ` Jerin Jacob
2018-01-31 11:57 ` Ophir Munk
2018-01-31 12:40 ` Jerin Jacob
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180131102352.GA24477@jerin \
--to=jerin.jacob@caviumnetworks.com \
--cc=dev@dpdk.org \
--cc=jianbo.liu@arm.com \
--cc=ophirmu@mellanox.com \
--cc=pascal.mazon@6wind.com \
--cc=thomas@monjalon.net \
--cc=viktorin@rehivetech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.