On Tue, Apr 02, 2019 at 08:43:48PM +0100, Ferruh Yigit wrote: > On 4/2/2019 4:46 PM, Xiaolong Ye wrote: > > Add a new PMD driver for AF_XDP which is a proposed faster version of > > AF_PACKET interface in Linux. More info about AF_XDP, please refer to [1] > > [2]. > > > > This is the vanilla version PMD which just uses a raw buffer registered as > > the umem. > > > > [1] https://fosdem.org/2018/schedule/event/af_xdp/ > > [2] https://lwn.net/Articles/745934/ > > > > Signed-off-by: Xiaolong Ye <xiaolong...@intel.com> > > <...> > > > @@ -0,0 +1,956 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(c) 2019 Intel Corporation. > > + */ > > > +#include <bpf/bpf.h> > > +#include <xsk.h> > > Under linux, both headers are in same 'bpf' folder, why one included as > 'bpf/bpf.h' but other 'xsk.h'? > > Perhaps this is not problem when headers are installed into system folders, > but > I am compiling using RTE_KERNELDIR, which used in Makefile as: > -I$(RTE_KERNELDIR)/tools/lib/bpf
When installed in system folders they will still need the "bpf" prefix. On my system after running "make headers_install" in libbpf folder, the headers are placed in "/usr/local/include/bpf/" > > This fails to find 'bpf/bpf.h' > > Also for '-lbpf', shouldn't need to add '-L$(RTE_KERNELDIR)/tools/lib/bpf', to > new added line in 'rte.app.mk', so that it can find the library? > > I assume you are building in a system with new kernel, I think you need this > for > functionality, where 'xsk.h' is located in that case? Because I was thinking > building and installing libbpf can solve the issue but it is not installing > 'xsk.h', not sure why, so not exactly solving. > > if you still need "CFLAGS += -I$(RTE_KERNELDIR)/tools/lib/bpf" for your case, > does it make sense update as following: > CFLAGS += -I$(RTE_KERNELDIR)/tools/lib > #include <bpf/xsk.h> We should not include in any driver a cflag or ldflag that points to the kernel dir. We should expect the headers for libbpf in a regular include folder and the library itself in /usr/lib or /usr/local/lib. /Bruce