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 88FA9A0679 for ; Fri, 5 Apr 2019 17:27:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E81781B53A; Fri, 5 Apr 2019 17:27:28 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id B75E11B535 for ; Fri, 5 Apr 2019 17:27:27 +0200 (CEST) X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Apr 2019 08:27:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,313,1549958400"; d="scan'208";a="133276255" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.110.206]) by orsmga006.jf.intel.com with ESMTP; 05 Apr 2019 08:27:24 -0700 Date: Fri, 5 Apr 2019 23:22:25 +0800 From: Ye Xiaolong To: Ferruh Yigit Cc: dev@dpdk.org, Stephen Hemminger , Luca Boccassi , Qi Zhang , Karlsson Magnus , Topel Bjorn , Maxime Coquelin , Bruce Richardson , Ananyev Konstantin , David Marchand , Andrew Rybchenko , Olivier Matz Message-ID: <20190405152225.GA47997@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> <98ef279a-2902-bce5-88a6-59972d855b7b@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline In-Reply-To: <98ef279a-2902-bce5-88a6-59972d855b7b@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) 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: <20190405152225.bGuZahRtdvL8wYtxU8BT0hXZ6l7FO7n-0vAaHKulbF0@z> On 04/05, Ferruh Yigit wrote: >On 4/5/2019 4:05 PM, 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? > >If you are agree with the change, I can send the patch and squash it into the >original af_xdp commit: > > diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build > index 840c93728..e3d86c39a 100644 > --- a/drivers/net/af_xdp/meson.build > +++ b/drivers/net/af_xdp/meson.build > @@ -1,6 +1,7 @@ > # SPDX-License-Identifier: BSD-3-Clause > # Copyright(c) 2019 Intel Corporation > > +build = false > if host_machine.system() == 'linux' > bpf_dep = dependency('libbpf', required: false) > if bpf_dep.found() > @@ -10,8 +11,6 @@ if host_machine.system() == 'linux' > 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 > Looks good to me, thanks for the fix. Thanks, Xiaolong >> >>> 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? > >OK to keep as it is.