From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luca Boccassi Subject: Re: [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver Date: Wed, 03 Apr 2019 11:42:53 +0100 Message-ID: <0dde8c20e9992047f29d39ad45dcf511244a5297.camel@debian.org> References: <20190301080947.91086-1-xiaolong.ye@intel.com> <20190402154653.711-1-xiaolong.ye@intel.com> <20190402154653.711-2-xiaolong.ye@intel.com> <20190403095939.GA32340@intel.com> <56ce5855b02d47a085a8d36451561c400f0b039c.camel@debian.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Cc: dev@dpdk.org, Karlsson Magnus , Topel Bjorn To: Ye Xiaolong Return-path: Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by dpdk.org (Postfix) with ESMTP id 6050E1B142 for ; Wed, 3 Apr 2019 12:42:55 +0200 (CEST) Received: by mail-wm1-f67.google.com with SMTP id h18so7582169wml.1 for ; Wed, 03 Apr 2019 03:42:55 -0700 (PDT) In-Reply-To: <56ce5855b02d47a085a8d36451561c400f0b039c.camel@debian.org> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, 2019-04-03 at 11:36 +0100, Luca Boccassi wrote: > On Wed, 2019-04-03 at 17:59 +0800, Ye Xiaolong wrote: > > Hi, Luca > >=20 > > On 04/02, Luca Boccassi wrote: > > > On Tue, 2019-04-02 at 23:46 +0800, Xiaolong Ye wrote: > > > > diff --git a/drivers/net/af_xdp/Makefile > > > > b/drivers/net/af_xdp/Makefile > > > > new file mode 100644 > > > > index 000000000..8343e3016 > > > > --- /dev/null > > > > +++ b/drivers/net/af_xdp/Makefile > > > > @@ -0,0 +1,32 @@ > > > > +# SPDX-License-Identifier: BSD-3-Clause > > > > +# Copyright(c) 2019 Intel Corporation > > > > + > > > > +include $(RTE_SDK)/mk/rte.vars.mk > > > > + > > > > +# > > > > +# library name > > > > +# > > > > +LIB =3D librte_pmd_af_xdp.a > > > > + > > > > +EXPORT_MAP :=3D rte_pmd_af_xdp_version.map > > > > + > > > > +LIBABIVER :=3D 1 > > > > + > > > > +CFLAGS +=3D -O3 > > > > + > > > > +# require kernel version >=3D v5.1-rc1 > > > > +CFLAGS +=3D -I$(RTE_KERNELDIR)/tools/include > > > > +CFLAGS +=3D -I$(RTE_KERNELDIR)/tools/lib/bpf > > >=20 > > > Sorry for not noticing this before, but doesn't this require the > > > full > > > kernel tree rather than just the typical headers package? > > > Requiring > > > the > > > full kernel tree to be available at build time will make this > > > unbuildable on distros that still use makefiles, like RHEL and > > > SUSE. At > > > least on Debian and Ubuntu, the kernel headers packages > > > distributed > > > do > > > not include the full kernel tree, only the headers, so there's no > > > tools/lib or tools/include. > >=20 > > Currently we do have dependencies on the kernel src tree, as xsk.h > > and > > asm/barrier wouldn't be installed by libbpf, so before libbpf > > handles > > these > > properly, can we keep the current RTE_KERNELDIR in Makefile for > > now, > > and mention > > the dependencies in document, also suggest users to config > > RTE_KERNELDIR to correct > > kernel src tree if they want to use af_xdp pmd? > >=20 > > Something like: > >=20 > > dependencies: > > - kernel source code (>=3D v5.1-rc1) > > - build libbfp and install > >=20 > > Thanks, > > Xiaolong >=20 > asm/barrier.h is installed by the kernel headers packages so it would > be fine (although not ideal) and not need the full source tree. > xsk.h is a bit more worrying, as it looks like an internal header > from > here. >=20 > Is it really necessary for external applications to use an internal- > only header and a kernel header to be able to use libbpf? Actually, xsk.h is now installed by the library makefile: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git/commit/?id=3D37= 9e2014c95b So the full kernel source tree is no longer required. Is asm/barrier.h really required? Isn't there an userspace alternative? Also, the license in asm/barrier.h is GPL-2.0 only. It is not a userspace header so it is not covered by the userspace exception, which means at the very least the af_xdp PMD shared object is also licensed under GPL-2.0 only, isn't it? --=20 Kind regards, Luca Boccassi