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 18:10:44 +0530 [thread overview]
Message-ID: <20180131124042.GA5540@jerin> (raw)
In-Reply-To: <AM0PR0502MB387557E730E9D953FC088B88D1FB0@AM0PR0502MB3875.eurprd05.prod.outlook.com>
-----Original Message-----
> Date: Wed, 31 Jan 2018 11:57:10 +0000
> From: Ophir Munk <ophirmu@mellanox.com>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.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
>
>
>
> > -----Original Message-----
> > From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
> > Sent: Wednesday, January 31, 2018 1:31 PM
> > To: Ophir Munk <ophirmu@mellanox.com>
> > Cc: 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
> >
> > -----Original Message-----
> > > Date: Wed, 31 Jan 2018 10:38:32 +0000
> > > From: Ophir Munk <ophirmu@mellanox.com>
> > > To: Jerin Jacob <jerin.jacob@caviumnetworks.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
> > >
> > > Hi,
> > > Please see inline
> > >
> > > > -----Original Message-----
> > > > From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
> > > > Sent: Wednesday, January 31, 2018 12:24 PM
> > > > To: Ophir Munk <ophirmu@mellanox.com>
> > > > Cc: 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
> > > >
> > > > -----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
> > > >
> > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fel
> > > > ixi
> > > > r.free-
> > > >
> > electrons.com%2Flinux%2Fv4.15%2Fsource%2Ftools%2Fbuild%2Ffeature%2
> > > > Ftest-
> > > >
> > bpf.c%23L6&data=02%7C01%7Cophirmu%40mellanox.com%7C19f50ad7f27
> > > >
> > 34d00173808d56894c997%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%
> > > >
> > 7C0%7C636529910613736017&sdata=ynsxHG9fvao4LyfWLo4GVJjlKNmcF0q
> > > > 0BkFocJyarAE%3D&reserved=0
> > > > I am not sure, Is eBPF support available for arm32 support?
> > >
> > > TAP eBPF has a graceful approach: it must successfully compile on all
> > > Linux distributions. If a specific kernel cannot support eBPF it will
> > > gracefully refuse the eBPF netlink message sent to it.
> > > Thus, there is no harm even if there is no eBPF support available for arm32.
> >
> > OK. But, To enable grace full refuse, we should not any random system call
> > number like #define __NR_bpf 386.
> > It should at least unused for arm32.
> >
>
> For arm - system call 386 seems to be used only for eBPF
> http://elixir.free-electrons.com/linux/v4.15/source/arch/arm64/include/asm/unistd32.h#L796
>
>
> > >
> > > You should enable TAP compilation for cases where you only need TAP
> > without eBPF.
> >
> > Yes. It would have been better if new eBPF depended features would have
> > under conditional compilation flag so it it can be turned off selectively.
> >
>
> I am in favor of keeping configuration as simple as possible if possible.
> I will issue a PR which includes arm BPF definition
OK.
Looks like systemd is using the similar method.
https://github.com/systemd/systemd/blob/master/src/basic/missing_syscall.h#L334
prev parent reply other threads:[~2018-01-31 12:41 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
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 [this message]
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=20180131124042.GA5540@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.