From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id AB54F5B40 for ; Wed, 3 Apr 2019 12:04:33 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2019 03:04:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,304,1549958400"; d="scan'208";a="288304077" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.110.206]) by orsmga004.jf.intel.com with ESMTP; 03 Apr 2019 03:04:30 -0700 Date: Wed, 3 Apr 2019 17:59:39 +0800 From: Ye Xiaolong To: Luca Boccassi Cc: dev@dpdk.org, Stephen Hemminger , Ferruh Yigit , Qi Zhang , Karlsson Magnus , Topel Bjorn , Maxime Coquelin , Bruce Richardson , Ananyev Konstantin , David Marchand , Andrew Rybchenko , Olivier Matz Message-ID: <20190403095939.GA32340@intel.com> References: <20190301080947.91086-1-xiaolong.ye@intel.com> <20190402154653.711-1-xiaolong.ye@intel.com> <20190402154653.711-2-xiaolong.ye@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Apr 2019 10:04:34 -0000 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 > >Like other dependencies, this should assume they are installed as >regular libraries, eg: > >CFLAGS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --cflags libbpf || echo "-I/usr/include/bpf") > >> +CFLAGS += $(WERROR_FLAGS) >> +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring >> +LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs >> +LDLIBS += -lrte_bus_vdev >> +LDLIBS += -lbpf > >LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs libbpf || echo "-lbpf") > >-- >Kind regards, >Luca Boccassi From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 94EF6A0679 for ; Wed, 3 Apr 2019 12:04:35 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B6950D0B2; Wed, 3 Apr 2019 12:04:34 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id AB54F5B40 for ; Wed, 3 Apr 2019 12:04:33 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2019 03:04:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,304,1549958400"; d="scan'208";a="288304077" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.110.206]) by orsmga004.jf.intel.com with ESMTP; 03 Apr 2019 03:04:30 -0700 Date: Wed, 3 Apr 2019 17:59:39 +0800 From: Ye Xiaolong To: Luca Boccassi Cc: dev@dpdk.org, Stephen Hemminger , Ferruh Yigit , Qi Zhang , Karlsson Magnus , Topel Bjorn , Maxime Coquelin , Bruce Richardson , Ananyev Konstantin , David Marchand , Andrew Rybchenko , Olivier Matz Message-ID: <20190403095939.GA32340@intel.com> References: <20190301080947.91086-1-xiaolong.ye@intel.com> <20190402154653.711-1-xiaolong.ye@intel.com> <20190402154653.711-2-xiaolong.ye@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH v9 1/1] net/af_xdp: introduce AF XDP PMD driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190403095939.uBPyDPMZmdXPz_7qCl1fNAfS5tAKVc6LzKGuZehmozw@z> 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 > >Like other dependencies, this should assume they are installed as >regular libraries, eg: > >CFLAGS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --cflags libbpf || echo "-I/usr/include/bpf") > >> +CFLAGS += $(WERROR_FLAGS) >> +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring >> +LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs >> +LDLIBS += -lrte_bus_vdev >> +LDLIBS += -lbpf > >LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs libbpf || echo "-lbpf") > >-- >Kind regards, >Luca Boccassi