DPDK patches and discussions
 help / color / mirror / Atom feed
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: [dpdk-dev] [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
> 

  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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).