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 <xiaolong...@intel.com>
> >
> ><...>
> >
> >> 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

Reply via email to