On Wed, 2019-04-03 at 17:59 +0800, Ye Xiaolong wrote: > Hi, Luca > > 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 = librte_pmd_af_xdp.a > > > + > > > +EXPORT_MAP := rte_pmd_af_xdp_version.map > > > + > > > +LIBABIVER := 1 > > > + > > > +CFLAGS += -O3 > > > + > > > +# require kernel version >= v5.1-rc1 > > > +CFLAGS += -I$(RTE_KERNELDIR)/tools/include > > > +CFLAGS += -I$(RTE_KERNELDIR)/tools/lib/bpf > > > > 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. > > 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? > > Something like: > > dependencies: > - kernel source code (>= v5.1-rc1) > - build libbfp and install > > Thanks, > Xiaolong
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. Is it really necessary for external applications to use an internal- only header and a kernel header to be able to use libbpf? -- Kind regards, Luca Boccassi