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?


Thanks,
Xiaolong

Reply via email to