From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 7F1171B535 for ; Fri, 5 Apr 2019 17:23:33 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Apr 2019 08:23:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,313,1549958400"; d="scan'208";a="161757489" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.35]) by fmsmga001.fm.intel.com with SMTP; 05 Apr 2019 08:23:28 -0700 Received: by (sSMTP sendmail emulation); Fri, 05 Apr 2019 16:23:28 +0100 Date: Fri, 5 Apr 2019 16:23:27 +0100 From: Bruce Richardson To: Ye Xiaolong Cc: Ferruh Yigit , dev@dpdk.org, Stephen Hemminger , Luca Boccassi , Qi Zhang , Karlsson Magnus , Topel Bjorn , Maxime Coquelin , Ananyev Konstantin , David Marchand , Andrew Rybchenko , Olivier Matz Message-ID: <20190405152327.GB1710@bricha3-MOBL.ger.corp.intel.com> References: <20190301080947.91086-1-xiaolong.ye@intel.com> <20190404085113.16732-1-xiaolong.ye@intel.com> <20190404085113.16732-2-xiaolong.ye@intel.com> <20190405150525.GA41807@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190405150525.GA41807@intel.com> User-Agent: Mutt/1.11.4 (2019-03-13) Subject: Re: [dpdk-dev] [PATCH v11 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: Fri, 05 Apr 2019 15:23:34 -0000 On Fri, Apr 05, 2019 at 11:05:25PM +0800, Ye Xiaolong wrote: > Hi, Ferruh > > On 04/05, Ferruh Yigit wrote: > >On 4/4/2019 9:51 AM, 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 > > > ><...> > > > >> diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build > >> new file mode 100644 > >> index 000000000..840c93728 > >> --- /dev/null > >> +++ b/drivers/net/af_xdp/meson.build > >> @@ -0,0 +1,19 @@ > >> +# SPDX-License-Identifier: BSD-3-Clause > >> +# Copyright(c) 2019 Intel Corporation > >> + > >> +if host_machine.system() == 'linux' > >> + bpf_dep = dependency('libbpf', required: false) > >> + if bpf_dep.found() > >> + build = true > >> + else > >> + bpf_dep = cc.find_library('bpf', required: false) > >> + if bpf_dep.found() and cc.has_header('bpf/xsk.h', dependencies: bpf_dep) and cc.has_header('linux/if_xdp.h') > >> + build = true > >> + pkgconfig_extra_libs += '-lbpf' > >> + else > >> + build = false > >> + endif > >> + endif > >> + ext_deps += bpf_dep > >> +endif > >> +sources = files('rte_eth_af_xdp.c') > > > >if system is not 'linux', by default build will be 'true', right, so will it try > >to build the driver in that case? > >What about setting "build = false" before the linux check, so won't need to set > >it false again in the if block, only set it true if dependencies found? > > This is a good catch, we do need to initialize build = false first, otherwise > meson/ninja would just try to build af_xdp pmd if system is not linux, which is > undesired. Do I need to send a separate patch for this so you can squash it into > af_xdp pmd patch? > > >And can 'ext_deps' go out of if block? > > If we move `ext_deps += bpf_dep` out of if block and build system is not linux, there > would be error "ERROR: Unknown variable "bpf_dep".", so we need either initialize > bpf_dep (to value like NULL?) first or keep `ext_deps += bpf_dep` inside the if > block, I'd prefer keep it as it is, what's you opinion? Actually, a suggestion - rather than limiting the build to linux, why not just limit the build to the presence of libbpf, and not bother checking the OS? /Bruce 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 CEF81A0679 for ; Fri, 5 Apr 2019 17:23:35 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D96B71B53A; Fri, 5 Apr 2019 17:23:34 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 7F1171B535 for ; Fri, 5 Apr 2019 17:23:33 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Apr 2019 08:23:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,313,1549958400"; d="scan'208";a="161757489" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.35]) by fmsmga001.fm.intel.com with SMTP; 05 Apr 2019 08:23:28 -0700 Received: by (sSMTP sendmail emulation); Fri, 05 Apr 2019 16:23:28 +0100 Date: Fri, 5 Apr 2019 16:23:27 +0100 From: Bruce Richardson To: Ye Xiaolong Cc: Ferruh Yigit , dev@dpdk.org, Stephen Hemminger , Luca Boccassi , Qi Zhang , Karlsson Magnus , Topel Bjorn , Maxime Coquelin , Ananyev Konstantin , David Marchand , Andrew Rybchenko , Olivier Matz Message-ID: <20190405152327.GB1710@bricha3-MOBL.ger.corp.intel.com> References: <20190301080947.91086-1-xiaolong.ye@intel.com> <20190404085113.16732-1-xiaolong.ye@intel.com> <20190404085113.16732-2-xiaolong.ye@intel.com> <20190405150525.GA41807@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline In-Reply-To: <20190405150525.GA41807@intel.com> User-Agent: Mutt/1.11.4 (2019-03-13) Subject: Re: [dpdk-dev] [PATCH v11 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: <20190405152327.UDnPRCc6I3zhp67Y4d85dOoGVztfY5fvRVKNlwCDJTA@z> On Fri, Apr 05, 2019 at 11:05:25PM +0800, Ye Xiaolong wrote: > Hi, Ferruh > > On 04/05, Ferruh Yigit wrote: > >On 4/4/2019 9:51 AM, 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 > > > ><...> > > > >> diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build > >> new file mode 100644 > >> index 000000000..840c93728 > >> --- /dev/null > >> +++ b/drivers/net/af_xdp/meson.build > >> @@ -0,0 +1,19 @@ > >> +# SPDX-License-Identifier: BSD-3-Clause > >> +# Copyright(c) 2019 Intel Corporation > >> + > >> +if host_machine.system() == 'linux' > >> + bpf_dep = dependency('libbpf', required: false) > >> + if bpf_dep.found() > >> + build = true > >> + else > >> + bpf_dep = cc.find_library('bpf', required: false) > >> + if bpf_dep.found() and cc.has_header('bpf/xsk.h', dependencies: bpf_dep) and cc.has_header('linux/if_xdp.h') > >> + build = true > >> + pkgconfig_extra_libs += '-lbpf' > >> + else > >> + build = false > >> + endif > >> + endif > >> + ext_deps += bpf_dep > >> +endif > >> +sources = files('rte_eth_af_xdp.c') > > > >if system is not 'linux', by default build will be 'true', right, so will it try > >to build the driver in that case? > >What about setting "build = false" before the linux check, so won't need to set > >it false again in the if block, only set it true if dependencies found? > > This is a good catch, we do need to initialize build = false first, otherwise > meson/ninja would just try to build af_xdp pmd if system is not linux, which is > undesired. Do I need to send a separate patch for this so you can squash it into > af_xdp pmd patch? > > >And can 'ext_deps' go out of if block? > > If we move `ext_deps += bpf_dep` out of if block and build system is not linux, there > would be error "ERROR: Unknown variable "bpf_dep".", so we need either initialize > bpf_dep (to value like NULL?) first or keep `ext_deps += bpf_dep` inside the if > block, I'd prefer keep it as it is, what's you opinion? Actually, a suggestion - rather than limiting the build to linux, why not just limit the build to the presence of libbpf, and not bother checking the OS? /Bruce