drivers: change indentation in build files

Switch from using tabs to 4 spaces for meson.build indentation.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
Bruce Richardson 2021-04-20 11:22:25 +01:00 committed by Thomas Monjalon
parent cf995efc53
commit 4ad4b20a79
134 changed files with 1974 additions and 1872 deletions

View File

@ -6,34 +6,34 @@ path = get_option('flexran_sdk')
# check for FlexRAN SDK libraries for AVX2 # check for FlexRAN SDK libraries for AVX2
lib4g = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false) lib4g = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false)
if lib4g.found() if lib4g.found()
ext_deps += cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: true) ext_deps += cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: true)
ext_deps += cc.find_library('libcrc', dirs: [path + '/lib_crc'], required: true) ext_deps += cc.find_library('libcrc', dirs: [path + '/lib_crc'], required: true)
ext_deps += cc.find_library('librate_matching', dirs: [path + '/lib_rate_matching'], required: true) ext_deps += cc.find_library('librate_matching', dirs: [path + '/lib_rate_matching'], required: true)
ext_deps += cc.find_library('libcommon', dirs: [path + '/lib_common'], required: true) ext_deps += cc.find_library('libcommon', dirs: [path + '/lib_common'], required: true)
ext_deps += cc.find_library('libstdc++', required: true) ext_deps += cc.find_library('libstdc++', required: true)
ext_deps += cc.find_library('libirc', required: true) ext_deps += cc.find_library('libirc', required: true)
ext_deps += cc.find_library('libimf', required: true) ext_deps += cc.find_library('libimf', required: true)
ext_deps += cc.find_library('libipps', required: true) ext_deps += cc.find_library('libipps', required: true)
ext_deps += cc.find_library('libsvml', required: true) ext_deps += cc.find_library('libsvml', required: true)
includes += include_directories(path + '/lib_turbo') includes += include_directories(path + '/lib_turbo')
includes += include_directories(path + '/lib_crc') includes += include_directories(path + '/lib_crc')
includes += include_directories(path + '/lib_rate_matching') includes += include_directories(path + '/lib_rate_matching')
includes += include_directories(path + '/lib_common') includes += include_directories(path + '/lib_common')
cflags += ['-DRTE_BBDEV_SDK_AVX2'] cflags += ['-DRTE_BBDEV_SDK_AVX2']
endif endif
# check for FlexRAN SDK libraries for AVX512 # check for FlexRAN SDK libraries for AVX512
lib5g = cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: false) lib5g = cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: false)
if lib5g.found() if lib5g.found()
ext_deps += cc.find_library('libldpc_encoder_5gnr', dirs: [path + '/lib_ldpc_encoder_5gnr'], required: true) ext_deps += cc.find_library('libldpc_encoder_5gnr', dirs: [path + '/lib_ldpc_encoder_5gnr'], required: true)
ext_deps += cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: true) ext_deps += cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: true)
ext_deps += cc.find_library('libLDPC_ratematch_5gnr', dirs: [path + '/lib_LDPC_ratematch_5gnr'], required: true) ext_deps += cc.find_library('libLDPC_ratematch_5gnr', dirs: [path + '/lib_LDPC_ratematch_5gnr'], required: true)
ext_deps += cc.find_library('librate_dematching_5gnr', dirs: [path + '/lib_rate_dematching_5gnr'], required: true) ext_deps += cc.find_library('librate_dematching_5gnr', dirs: [path + '/lib_rate_dematching_5gnr'], required: true)
includes += include_directories(path + '/lib_ldpc_encoder_5gnr') includes += include_directories(path + '/lib_ldpc_encoder_5gnr')
includes += include_directories(path + '/lib_ldpc_decoder_5gnr') includes += include_directories(path + '/lib_ldpc_decoder_5gnr')
includes += include_directories(path + '/lib_LDPC_ratematch_5gnr') includes += include_directories(path + '/lib_LDPC_ratematch_5gnr')
includes += include_directories(path + '/lib_rate_dematching_5gnr') includes += include_directories(path + '/lib_rate_dematching_5gnr')
cflags += ['-DRTE_BBDEV_SDK_AVX512'] cflags += ['-DRTE_BBDEV_SDK_AVX512']
endif endif
deps += ['bbdev', 'bus_vdev', 'ring'] deps += ['bbdev', 'bus_vdev', 'ring']

View File

@ -2,28 +2,30 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['common_dpaax', 'eventdev'] deps += ['common_dpaax', 'eventdev']
sources = files('base/fman/fman.c', sources = files(
'base/fman/fman_hw.c', 'base/fman/fman.c',
'base/fman/netcfg_layer.c', 'base/fman/fman_hw.c',
'base/qbman/bman.c', 'base/fman/netcfg_layer.c',
'base/qbman/bman_driver.c', 'base/qbman/bman.c',
'base/qbman/dpaa_alloc.c', 'base/qbman/bman_driver.c',
'base/qbman/dpaa_sys.c', 'base/qbman/dpaa_alloc.c',
'base/qbman/process.c', 'base/qbman/dpaa_sys.c',
'base/qbman/qman.c', 'base/qbman/process.c',
'base/qbman/qman_driver.c', 'base/qbman/qman.c',
'dpaa_bus.c') 'base/qbman/qman_driver.c',
'dpaa_bus.c',
)
if cc.has_argument('-Wno-cast-qual') if cc.has_argument('-Wno-cast-qual')
cflags += '-Wno-cast-qual' cflags += '-Wno-cast-qual'
endif endif
if cc.has_argument('-Wno-pointer-arith') if cc.has_argument('-Wno-pointer-arith')
cflags += '-Wno-pointer-arith' cflags += '-Wno-pointer-arith'
endif endif
includes += include_directories('include', 'base/qbman') includes += include_directories('include', 'base/qbman')

View File

@ -2,24 +2,26 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['common_dpaax', 'eventdev', 'kvargs'] deps += ['common_dpaax', 'eventdev', 'kvargs']
sources = files('fslmc_bus.c', sources = files(
'fslmc_vfio.c', 'fslmc_bus.c',
'mc/dpbp.c', 'fslmc_vfio.c',
'mc/dpci.c', 'mc/dpbp.c',
'mc/dpcon.c', 'mc/dpci.c',
'mc/dpdmai.c', 'mc/dpcon.c',
'mc/dpio.c', 'mc/dpdmai.c',
'mc/dpmng.c', 'mc/dpio.c',
'mc/mc_sys.c', 'mc/dpmng.c',
'portal/dpaa2_hw_dpbp.c', 'mc/mc_sys.c',
'portal/dpaa2_hw_dpci.c', 'portal/dpaa2_hw_dpbp.c',
'portal/dpaa2_hw_dpio.c', 'portal/dpaa2_hw_dpci.c',
'qbman/qbman_portal.c', 'portal/dpaa2_hw_dpio.c',
'qbman/qbman_debug.c') 'qbman/qbman_portal.c',
'qbman/qbman_debug.c'
)
includes += include_directories('mc', 'qbman/include', 'portal') includes += include_directories('mc', 'qbman/include', 'portal')

View File

@ -2,9 +2,9 @@
# Copyright(c) 2010-2018 Intel Corporation # Copyright(c) 2010-2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
deps += ['pci', 'kvargs', 'rawdev'] deps += ['pci', 'kvargs', 'rawdev']

View File

@ -4,23 +4,29 @@
deps += ['pci'] deps += ['pci']
headers = files('rte_bus_pci.h') headers = files('rte_bus_pci.h')
sources = files('pci_common.c', sources = files('pci_common.c',
'pci_params.c') 'pci_params.c')
if is_linux if is_linux
sources += files('pci_common_uio.c', sources += files(
'linux/pci.c', 'pci_common_uio.c',
'linux/pci_uio.c', 'linux/pci.c',
'linux/pci_vfio.c') 'linux/pci_uio.c',
includes += include_directories('linux') 'linux/pci_vfio.c',
)
includes += include_directories('linux')
endif endif
if is_freebsd if is_freebsd
sources += files('pci_common_uio.c', sources += files(
'bsd/pci.c') 'pci_common_uio.c',
includes += include_directories('bsd') 'bsd/pci.c',
)
includes += include_directories('bsd')
endif endif
if is_windows if is_windows
sources += files('windows/pci.c', sources += files(
'windows/pci_netuio.c') 'windows/pci.c',
includes += include_directories('windows') 'windows/pci_netuio.c',
)
includes += include_directories('windows')
endif endif
deps += ['kvargs'] deps += ['kvargs']

View File

@ -1,8 +1,10 @@
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
sources = files('vdev.c', sources = files(
'vdev_params.c') 'vdev.c',
'vdev_params.c',
)
headers = files('rte_bus_vdev.h') headers = files('rte_bus_vdev.h')
deps += ['kvargs'] deps += ['kvargs']

View File

@ -1,24 +1,26 @@
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
headers = files('rte_bus_vmbus.h','rte_vmbus_reg.h') headers = files('rte_bus_vmbus.h','rte_vmbus_reg.h')
sources = files('vmbus_common.c', sources = files(
'vmbus_channel.c', 'vmbus_bufring.c',
'vmbus_bufring.c', 'vmbus_channel.c',
'vmbus_common_uio.c') 'vmbus_common.c',
'vmbus_common_uio.c',
)
if is_linux if is_linux
sources += files('linux/vmbus_bus.c', sources += files('linux/vmbus_bus.c',
'linux/vmbus_uio.c') 'linux/vmbus_uio.c')
includes += include_directories('linux') includes += include_directories('linux')
else else
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif

View File

@ -3,46 +3,48 @@
# #
if not is_linux or not dpdk_conf.get('RTE_ARCH_64') if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
build = false build = false
reason = 'only supported on 64-bit Linux' reason = 'only supported on 64-bit Linux'
subdir_done() subdir_done()
endif endif
config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON' config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
deps = ['eal', 'pci', 'bus_pci', 'mbuf'] deps = ['eal', 'pci', 'bus_pci', 'mbuf']
sources = files('roc_dev.c', sources = files(
'roc_idev.c', 'roc_dev.c',
'roc_irq.c', 'roc_idev.c',
'roc_mbox.c', 'roc_irq.c',
'roc_model.c', 'roc_mbox.c',
'roc_nix.c', 'roc_model.c',
'roc_nix_debug.c', 'roc_nix.c',
'roc_nix_fc.c', 'roc_nix_debug.c',
'roc_nix_irq.c', 'roc_nix_fc.c',
'roc_nix_mac.c', 'roc_nix_irq.c',
'roc_nix_mcast.c', 'roc_nix_mac.c',
'roc_nix_npc.c', 'roc_nix_mcast.c',
'roc_nix_ops.c', 'roc_nix_npc.c',
'roc_nix_ptp.c', 'roc_nix_ops.c',
'roc_nix_queue.c', 'roc_nix_ptp.c',
'roc_nix_rss.c', 'roc_nix_queue.c',
'roc_nix_stats.c', 'roc_nix_rss.c',
'roc_nix_tm.c', 'roc_nix_stats.c',
'roc_nix_tm_ops.c', 'roc_nix_tm.c',
'roc_nix_tm_utils.c', 'roc_nix_tm_ops.c',
'roc_nix_vlan.c', 'roc_nix_tm_utils.c',
'roc_npa.c', 'roc_nix_vlan.c',
'roc_npa_debug.c', 'roc_npa.c',
'roc_npa_irq.c', 'roc_npa_debug.c',
'roc_npc.c', 'roc_npa_irq.c',
'roc_npc_mcam.c', 'roc_npc.c',
'roc_npc_parse.c', 'roc_npc_mcam.c',
'roc_npc_utils.c', 'roc_npc_parse.c',
'roc_platform.c', 'roc_npc_utils.c',
'roc_sso.c', 'roc_platform.c',
'roc_sso_debug.c', 'roc_sso.c',
'roc_sso_irq.c', 'roc_sso_debug.c',
'roc_tim.c', 'roc_sso_irq.c',
'roc_tim_irq.c', 'roc_tim.c',
'roc_utils.c') 'roc_tim_irq.c',
'roc_utils.c',
)
includes += include_directories('../../bus/pci') includes += include_directories('../../bus/pci')

View File

@ -2,13 +2,12 @@
# Copyright(c) 2018 Cavium, Inc # Copyright(c) 2018 Cavium, Inc
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files('cpt_fpm_tables.c', sources = files('cpt_fpm_tables.c', 'cpt_pmd_ops_helper.c')
'cpt_pmd_ops_helper.c')
deps = ['kvargs', 'pci', 'cryptodev'] deps = ['kvargs', 'pci', 'cryptodev']
includes += include_directories('../../crypto/octeontx') includes += include_directories('../../crypto/octeontx')

View File

@ -2,8 +2,8 @@
# Copyright(c) 2018 NXP # Copyright(c) 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
sources = files('dpaax_iova_table.c', 'dpaa_of.c', 'caamflib.c') sources = files('dpaax_iova_table.c', 'dpaa_of.c', 'caamflib.c')
@ -11,8 +11,8 @@ sources = files('dpaax_iova_table.c', 'dpaa_of.c', 'caamflib.c')
includes += include_directories('caamflib') includes += include_directories('caamflib')
if cc.has_argument('-Wno-cast-qual') if cc.has_argument('-Wno-cast-qual')
cflags += '-Wno-cast-qual' cflags += '-Wno-cast-qual'
endif endif
if cc.has_argument('-Wno-pointer-arith') if cc.has_argument('-Wno-pointer-arith')
cflags += '-Wno-pointer-arith' cflags += '-Wno-pointer-arith'
endif endif

View File

@ -9,48 +9,47 @@ LIB_GLUE_BASE = 'librte_common_mlx5_glue.so'
LIB_GLUE_VERSION = abi_version LIB_GLUE_VERSION = abi_version
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
if dlopen_ibverbs if dlopen_ibverbs
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1) dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
cflags += [ cflags += [
'-DMLX5_GLUE="@0@"'.format(LIB_GLUE), '-DMLX5_GLUE="@0@"'.format(LIB_GLUE),
'-DMLX5_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION), '-DMLX5_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION),
] ]
endif endif
libnames = [ 'mlx5', 'ibverbs' ] libnames = [ 'mlx5', 'ibverbs' ]
libs = [] libs = []
foreach libname:libnames foreach libname:libnames
lib = dependency('lib' + libname, static:static_ibverbs, lib = dependency('lib' + libname, static:static_ibverbs, required:false, method: 'pkg-config')
required:false, method: 'pkg-config') if not lib.found() and not static_ibverbs
if not lib.found() and not static_ibverbs lib = cc.find_library(libname, required:false)
lib = cc.find_library(libname, required:false) endif
endif if lib.found()
if lib.found() libs += lib
libs += lib if not static_ibverbs and not dlopen_ibverbs
if not static_ibverbs and not dlopen_ibverbs ext_deps += lib
ext_deps += lib endif
endif else
else build = false
build = false reason = 'missing dependency, "' + libname + '"'
reason = 'missing dependency, "' + libname + '"' subdir_done()
subdir_done() endif
endif
endforeach endforeach
if static_ibverbs or dlopen_ibverbs if static_ibverbs or dlopen_ibverbs
# Build without adding shared libs to Requires.private # Build without adding shared libs to Requires.private
ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout() ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
ext_deps += declare_dependency(compile_args: ibv_cflags.split()) ext_deps += declare_dependency(compile_args: ibv_cflags.split())
endif endif
if static_ibverbs if static_ibverbs
# Add static deps ldflags to internal apps and Libs.private # Add static deps ldflags to internal apps and Libs.private
ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout() ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout()
ext_deps += declare_dependency(link_args:ibv_ldflags.split()) ext_deps += declare_dependency(link_args:ibv_ldflags.split())
endif endif
sources += files('mlx5_nl.c') sources += files('mlx5_nl.c')
sources += files('mlx5_common_os.c') sources += files('mlx5_common_os.c')
sources += files('mlx5_common_verbs.c') sources += files('mlx5_common_verbs.c')
if not dlopen_ibverbs if not dlopen_ibverbs
sources += files('mlx5_glue.c') sources += files('mlx5_glue.c')
endif endif
# To maintain the compatibility with the make build system # To maintain the compatibility with the make build system
@ -59,171 +58,167 @@ endif
# [ "MACRO to define if found", "header for the search", # [ "MACRO to define if found", "header for the search",
# "symbol to search", "struct member to search" ] # "symbol to search", "struct member to search" ]
has_member_args = [ has_member_args = [
[ 'HAVE_IBV_MLX5_MOD_SWP', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_MLX5_MOD_SWP', 'infiniband/mlx5dv.h',
'struct mlx5dv_sw_parsing_caps', 'sw_parsing_offloads' ], 'struct mlx5dv_sw_parsing_caps', 'sw_parsing_offloads' ],
[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V42', 'infiniband/verbs.h', [ 'HAVE_IBV_DEVICE_COUNTERS_SET_V42', 'infiniband/verbs.h',
'struct ibv_counter_set_init_attr', 'counter_set_id' ], 'struct ibv_counter_set_init_attr', 'counter_set_id' ],
[ 'HAVE_IBV_DEVICE_COUNTERS_SET_V45', 'infiniband/verbs.h', [ 'HAVE_IBV_DEVICE_COUNTERS_SET_V45', 'infiniband/verbs.h',
'struct ibv_counters_init_attr', 'comp_mask' ], 'struct ibv_counters_init_attr', 'comp_mask' ],
[ 'HAVE_MLX5DV_DEVX_UAR_OFFSET', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_DEVX_UAR_OFFSET', 'infiniband/mlx5dv.h',
'struct mlx5dv_devx_uar', 'mmap_off' ], 'struct mlx5dv_devx_uar', 'mmap_off' ],
] ]
# input array for meson symbol search: # input array for meson symbol search:
# [ "MACRO to define if found", "header for the search", # [ "MACRO to define if found", "header for the search",
# "symbol to search" ] # "symbol to search" ]
has_sym_args = [ has_sym_args = [
[ 'HAVE_IBV_RELAXED_ORDERING', 'infiniband/verbs.h', [ 'HAVE_IBV_RELAXED_ORDERING', 'infiniband/verbs.h',
'IBV_ACCESS_RELAXED_ORDERING ' ], 'IBV_ACCESS_RELAXED_ORDERING ' ],
[ 'HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT', 'infiniband/mlx5dv.h',
'MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX' ], 'MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX' ],
[ 'HAVE_IBV_DEVICE_TUNNEL_SUPPORT', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_DEVICE_TUNNEL_SUPPORT', 'infiniband/mlx5dv.h',
'MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS' ], 'MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS' ],
[ 'HAVE_IBV_MLX5_MOD_MPW', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_MLX5_MOD_MPW', 'infiniband/mlx5dv.h',
'MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED' ], 'MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED' ],
[ 'HAVE_IBV_MLX5_MOD_CQE_128B_COMP', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_MLX5_MOD_CQE_128B_COMP', 'infiniband/mlx5dv.h',
'MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP' ], 'MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP' ],
[ 'HAVE_IBV_MLX5_MOD_CQE_128B_PAD', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_MLX5_MOD_CQE_128B_PAD', 'infiniband/mlx5dv.h',
'MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD' ], 'MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD' ],
[ 'HAVE_IBV_FLOW_DV_SUPPORT', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_FLOW_DV_SUPPORT', 'infiniband/mlx5dv.h',
'mlx5dv_create_flow_action_packet_reformat' ], 'mlx5dv_create_flow_action_packet_reformat' ],
[ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h', [ 'HAVE_IBV_DEVICE_MPLS_SUPPORT', 'infiniband/verbs.h',
'IBV_FLOW_SPEC_MPLS' ], 'IBV_FLOW_SPEC_MPLS' ],
[ 'HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING', 'infiniband/verbs.h', [ 'HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING', 'infiniband/verbs.h',
'IBV_WQ_FLAGS_PCI_WRITE_END_PADDING' ], 'IBV_WQ_FLAGS_PCI_WRITE_END_PADDING' ],
[ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING', 'infiniband/verbs.h', [ 'HAVE_IBV_WQ_FLAG_RX_END_PADDING', 'infiniband/verbs.h',
'IBV_WQ_FLAG_RX_END_PADDING' ], 'IBV_WQ_FLAG_RX_END_PADDING' ],
[ 'HAVE_MLX5DV_DR_DEVX_PORT', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_DR_DEVX_PORT', 'infiniband/mlx5dv.h',
'mlx5dv_query_devx_port' ], 'mlx5dv_query_devx_port' ],
[ 'HAVE_IBV_DEVX_OBJ', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_DEVX_OBJ', 'infiniband/mlx5dv.h',
'mlx5dv_devx_obj_create' ], 'mlx5dv_devx_obj_create' ],
[ 'HAVE_IBV_FLOW_DEVX_COUNTERS', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_FLOW_DEVX_COUNTERS', 'infiniband/mlx5dv.h',
'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ], 'MLX5DV_FLOW_ACTION_COUNTERS_DEVX' ],
[ 'HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS', 'infiniband/mlx5dv.h',
'MLX5DV_FLOW_ACTION_DEFAULT_MISS' ], 'MLX5DV_FLOW_ACTION_DEFAULT_MISS' ],
[ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_DEVX_ASYNC', 'infiniband/mlx5dv.h',
'mlx5dv_devx_obj_query_async' ], 'mlx5dv_devx_obj_query_async' ],
[ 'HAVE_IBV_DEVX_QP', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_DEVX_QP', 'infiniband/mlx5dv.h',
'mlx5dv_devx_qp_query' ], 'mlx5dv_devx_qp_query' ],
[ 'HAVE_MLX5DV_PP_ALLOC', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_PP_ALLOC', 'infiniband/mlx5dv.h',
'mlx5dv_pp_alloc' ], 'mlx5dv_pp_alloc' ],
[ 'HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR', 'infiniband/mlx5dv.h',
'mlx5dv_dr_action_create_dest_devx_tir' ], 'mlx5dv_dr_action_create_dest_devx_tir' ],
[ 'HAVE_IBV_DEVX_EVENT', 'infiniband/mlx5dv.h', [ 'HAVE_IBV_DEVX_EVENT', 'infiniband/mlx5dv.h',
'mlx5dv_devx_get_event' ], 'mlx5dv_devx_get_event' ],
[ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER', 'infiniband/mlx5dv.h',
'mlx5dv_dr_action_create_flow_meter' ], 'mlx5dv_dr_action_create_flow_meter' ],
[ 'HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD', 'infiniband/mlx5dv.h',
'MLX5_MMAP_GET_NC_PAGES_CMD' ], 'MLX5_MMAP_GET_NC_PAGES_CMD' ],
[ 'HAVE_MLX5DV_DR', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_DR', 'infiniband/mlx5dv.h',
'MLX5DV_DR_DOMAIN_TYPE_NIC_RX' ], 'MLX5DV_DR_DOMAIN_TYPE_NIC_RX' ],
[ 'HAVE_MLX5DV_DR_ESWITCH', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_DR_ESWITCH', 'infiniband/mlx5dv.h',
'MLX5DV_DR_DOMAIN_TYPE_FDB' ], 'MLX5DV_DR_DOMAIN_TYPE_FDB' ],
[ 'HAVE_MLX5DV_DR_VLAN', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_DR_VLAN', 'infiniband/mlx5dv.h',
'mlx5dv_dr_action_create_push_vlan' ], 'mlx5dv_dr_action_create_push_vlan' ],
[ 'HAVE_IBV_VAR', 'infiniband/mlx5dv.h', 'mlx5dv_alloc_var' ], [ 'HAVE_IBV_VAR', 'infiniband/mlx5dv.h', 'mlx5dv_alloc_var' ],
[ 'HAVE_MLX5_OPCODE_ENHANCED_MPSW', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_OPCODE_ENHANCED_MPSW', 'infiniband/mlx5dv.h',
'MLX5_OPCODE_ENHANCED_MPSW' ], 'MLX5_OPCODE_ENHANCED_MPSW' ],
[ 'HAVE_MLX5_OPCODE_SEND_EN', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_OPCODE_SEND_EN', 'infiniband/mlx5dv.h',
'MLX5_OPCODE_SEND_EN' ], 'MLX5_OPCODE_SEND_EN' ],
[ 'HAVE_MLX5_OPCODE_WAIT', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_OPCODE_WAIT', 'infiniband/mlx5dv.h',
'MLX5_OPCODE_WAIT' ], 'MLX5_OPCODE_WAIT' ],
[ 'HAVE_MLX5_OPCODE_ACCESS_ASO', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_OPCODE_ACCESS_ASO', 'infiniband/mlx5dv.h',
'MLX5_OPCODE_ACCESS_ASO' ], 'MLX5_OPCODE_ACCESS_ASO' ],
[ 'HAVE_SUPPORTED_40000baseKR4_Full', 'linux/ethtool.h', [ 'HAVE_SUPPORTED_40000baseKR4_Full', 'linux/ethtool.h',
'SUPPORTED_40000baseKR4_Full' ], 'SUPPORTED_40000baseKR4_Full' ],
[ 'HAVE_SUPPORTED_40000baseCR4_Full', 'linux/ethtool.h', [ 'HAVE_SUPPORTED_40000baseCR4_Full', 'linux/ethtool.h',
'SUPPORTED_40000baseCR4_Full' ], 'SUPPORTED_40000baseCR4_Full' ],
[ 'HAVE_SUPPORTED_40000baseSR4_Full', 'linux/ethtool.h', [ 'HAVE_SUPPORTED_40000baseSR4_Full', 'linux/ethtool.h',
'SUPPORTED_40000baseSR4_Full' ], 'SUPPORTED_40000baseSR4_Full' ],
[ 'HAVE_SUPPORTED_40000baseLR4_Full', 'linux/ethtool.h', [ 'HAVE_SUPPORTED_40000baseLR4_Full', 'linux/ethtool.h',
'SUPPORTED_40000baseLR4_Full' ], 'SUPPORTED_40000baseLR4_Full' ],
[ 'HAVE_SUPPORTED_56000baseKR4_Full', 'linux/ethtool.h', [ 'HAVE_SUPPORTED_56000baseKR4_Full', 'linux/ethtool.h',
'SUPPORTED_56000baseKR4_Full' ], 'SUPPORTED_56000baseKR4_Full' ],
[ 'HAVE_SUPPORTED_56000baseCR4_Full', 'linux/ethtool.h', [ 'HAVE_SUPPORTED_56000baseCR4_Full', 'linux/ethtool.h',
'SUPPORTED_56000baseCR4_Full' ], 'SUPPORTED_56000baseCR4_Full' ],
[ 'HAVE_SUPPORTED_56000baseSR4_Full', 'linux/ethtool.h', [ 'HAVE_SUPPORTED_56000baseSR4_Full', 'linux/ethtool.h',
'SUPPORTED_56000baseSR4_Full' ], 'SUPPORTED_56000baseSR4_Full' ],
[ 'HAVE_SUPPORTED_56000baseLR4_Full', 'linux/ethtool.h', [ 'HAVE_SUPPORTED_56000baseLR4_Full', 'linux/ethtool.h',
'SUPPORTED_56000baseLR4_Full' ], 'SUPPORTED_56000baseLR4_Full' ],
[ 'HAVE_ETHTOOL_LINK_MODE_25G', 'linux/ethtool.h', [ 'HAVE_ETHTOOL_LINK_MODE_25G', 'linux/ethtool.h',
'ETHTOOL_LINK_MODE_25000baseCR_Full_BIT' ], 'ETHTOOL_LINK_MODE_25000baseCR_Full_BIT' ],
[ 'HAVE_ETHTOOL_LINK_MODE_50G', 'linux/ethtool.h', [ 'HAVE_ETHTOOL_LINK_MODE_50G', 'linux/ethtool.h',
'ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT' ], 'ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT' ],
[ 'HAVE_ETHTOOL_LINK_MODE_100G', 'linux/ethtool.h', [ 'HAVE_ETHTOOL_LINK_MODE_100G', 'linux/ethtool.h',
'ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT' ], 'ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT' ],
[ 'HAVE_IFLA_NUM_VF', 'linux/if_link.h', [ 'HAVE_IFLA_NUM_VF', 'linux/if_link.h',
'IFLA_NUM_VF' ], 'IFLA_NUM_VF' ],
[ 'HAVE_IFLA_EXT_MASK', 'linux/if_link.h', [ 'HAVE_IFLA_EXT_MASK', 'linux/if_link.h',
'IFLA_EXT_MASK' ], 'IFLA_EXT_MASK' ],
[ 'HAVE_IFLA_PHYS_SWITCH_ID', 'linux/if_link.h', [ 'HAVE_IFLA_PHYS_SWITCH_ID', 'linux/if_link.h',
'IFLA_PHYS_SWITCH_ID' ], 'IFLA_PHYS_SWITCH_ID' ],
[ 'HAVE_IFLA_PHYS_PORT_NAME', 'linux/if_link.h', [ 'HAVE_IFLA_PHYS_PORT_NAME', 'linux/if_link.h',
'IFLA_PHYS_PORT_NAME' ], 'IFLA_PHYS_PORT_NAME' ],
[ 'HAVE_RDMA_NL_NLDEV', 'rdma/rdma_netlink.h', [ 'HAVE_RDMA_NL_NLDEV', 'rdma/rdma_netlink.h',
'RDMA_NL_NLDEV' ], 'RDMA_NL_NLDEV' ],
[ 'HAVE_RDMA_NLDEV_CMD_GET', 'rdma/rdma_netlink.h', [ 'HAVE_RDMA_NLDEV_CMD_GET', 'rdma/rdma_netlink.h',
'RDMA_NLDEV_CMD_GET' ], 'RDMA_NLDEV_CMD_GET' ],
[ 'HAVE_RDMA_NLDEV_CMD_PORT_GET', 'rdma/rdma_netlink.h', [ 'HAVE_RDMA_NLDEV_CMD_PORT_GET', 'rdma/rdma_netlink.h',
'RDMA_NLDEV_CMD_PORT_GET' ], 'RDMA_NLDEV_CMD_PORT_GET' ],
[ 'HAVE_RDMA_NLDEV_ATTR_DEV_INDEX', 'rdma/rdma_netlink.h', [ 'HAVE_RDMA_NLDEV_ATTR_DEV_INDEX', 'rdma/rdma_netlink.h',
'RDMA_NLDEV_ATTR_DEV_INDEX' ], 'RDMA_NLDEV_ATTR_DEV_INDEX' ],
[ 'HAVE_RDMA_NLDEV_ATTR_DEV_NAME', 'rdma/rdma_netlink.h', [ 'HAVE_RDMA_NLDEV_ATTR_DEV_NAME', 'rdma/rdma_netlink.h',
'RDMA_NLDEV_ATTR_DEV_NAME' ], 'RDMA_NLDEV_ATTR_DEV_NAME' ],
[ 'HAVE_RDMA_NLDEV_ATTR_PORT_INDEX', 'rdma/rdma_netlink.h', [ 'HAVE_RDMA_NLDEV_ATTR_PORT_INDEX', 'rdma/rdma_netlink.h',
'RDMA_NLDEV_ATTR_PORT_INDEX' ], 'RDMA_NLDEV_ATTR_PORT_INDEX' ],
[ 'HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX', 'rdma/rdma_netlink.h', [ 'HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX', 'rdma/rdma_netlink.h',
'RDMA_NLDEV_ATTR_NDEV_INDEX' ], 'RDMA_NLDEV_ATTR_NDEV_INDEX' ],
[ 'HAVE_MLX5_DR_FLOW_DUMP', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_DR_FLOW_DUMP', 'infiniband/mlx5dv.h',
'mlx5dv_dump_dr_domain'], 'mlx5dv_dump_dr_domain'],
[ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_SAMPLE', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_DR_CREATE_ACTION_FLOW_SAMPLE', 'infiniband/mlx5dv.h',
'mlx5dv_dr_action_create_flow_sampler'], 'mlx5dv_dr_action_create_flow_sampler'],
[ 'HAVE_MLX5DV_DR_MEM_RECLAIM', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5DV_DR_MEM_RECLAIM', 'infiniband/mlx5dv.h',
'mlx5dv_dr_domain_set_reclaim_device_memory'], 'mlx5dv_dr_domain_set_reclaim_device_memory'],
[ 'HAVE_MLX5_DR_CREATE_ACTION_DEST_ARRAY', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_DR_CREATE_ACTION_DEST_ARRAY', 'infiniband/mlx5dv.h',
'mlx5dv_dr_action_create_dest_array'], 'mlx5dv_dr_action_create_dest_array'],
[ 'HAVE_DEVLINK', 'linux/devlink.h', 'DEVLINK_GENL_NAME' ], [ 'HAVE_DEVLINK', 'linux/devlink.h', 'DEVLINK_GENL_NAME' ],
[ 'HAVE_MLX5_DR_CREATE_ACTION_ASO', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_DR_CREATE_ACTION_ASO', 'infiniband/mlx5dv.h',
'mlx5dv_dr_action_create_aso' ], 'mlx5dv_dr_action_create_aso' ],
[ 'HAVE_INFINIBAND_VERBS_H', 'infiniband/verbs.h', [ 'HAVE_INFINIBAND_VERBS_H', 'infiniband/verbs.h',
'INFINIBAND_VERBS_H' ], 'INFINIBAND_VERBS_H' ],
[ 'HAVE_MLX5_UMR_IMKEY', 'infiniband/mlx5dv.h', [ 'HAVE_MLX5_UMR_IMKEY', 'infiniband/mlx5dv.h',
'MLX5_WQE_UMR_CTRL_FLAG_INLINE' ], 'MLX5_WQE_UMR_CTRL_FLAG_INLINE' ],
] ]
config = configuration_data() config = configuration_data()
foreach arg:has_sym_args foreach arg:has_sym_args
config.set(arg[0], cc.has_header_symbol(arg[1], arg[2], config.set(arg[0], cc.has_header_symbol(arg[1], arg[2], dependencies: libs))
dependencies: libs))
endforeach endforeach
foreach arg:has_member_args foreach arg:has_member_args
file_prefix = '#include <' + arg[1] + '>' file_prefix = '#include <' + arg[1] + '>'
config.set(arg[0], cc.has_member(arg[2], arg[3], config.set(arg[0], cc.has_member(arg[2], arg[3], prefix : file_prefix, dependencies: libs))
prefix : file_prefix, dependencies: libs))
endforeach endforeach
configure_file(output : 'mlx5_autoconf.h', configuration : config) configure_file(output : 'mlx5_autoconf.h', configuration : config)
# Build Glue Library # Build Glue Library
if dlopen_ibverbs if dlopen_ibverbs
dlopen_name = 'mlx5_glue' dlopen_name = 'mlx5_glue'
dlopen_lib_name = 'rte_common_' + dlopen_name dlopen_lib_name = 'rte_common_' + dlopen_name
dlopen_so_version = LIB_GLUE_VERSION dlopen_so_version = LIB_GLUE_VERSION
dlopen_sources = files('mlx5_glue.c') dlopen_sources = files('mlx5_glue.c')
dlopen_install_dir = [ eal_pmd_path + '-glue' ] dlopen_install_dir = [ eal_pmd_path + '-glue' ]
dlopen_includes = [global_inc] dlopen_includes = [global_inc]
dlopen_includes += include_directories( dlopen_includes += include_directories('../../../../lib/librte_eal/include/generic')
'../../../../lib/librte_eal/include/generic', shared_lib = shared_library(
) dlopen_lib_name,
shared_lib = shared_library( dlopen_sources,
dlopen_lib_name, include_directories: dlopen_includes,
dlopen_sources, c_args: cflags,
include_directories: dlopen_includes, dependencies: libs,
c_args: cflags, link_args: [
dependencies: libs, '-Wl,-export-dynamic',
link_args: [ '-Wl,-h,@0@'.format(LIB_GLUE),
'-Wl,-export-dynamic', ],
'-Wl,-h,@0@'.format(LIB_GLUE), soversion: dlopen_so_version,
], install: true,
soversion: dlopen_so_version, install_dir: dlopen_install_dir,
install: true, )
install_dir: dlopen_install_dir,
)
endif endif

View File

@ -2,38 +2,38 @@
# Copyright 2019 Mellanox Technologies, Ltd # Copyright 2019 Mellanox Technologies, Ltd
if not (is_linux or (is_windows and is_ms_linker)) if not (is_linux or (is_windows and is_ms_linker))
build = false build = false
reason = 'only supported on Linux and Windows build with clang' reason = 'only supported on Linux and Windows build with clang'
subdir_done() subdir_done()
endif endif
deps += ['hash', 'pci', 'bus_pci', 'net', 'eal', 'kvargs'] deps += ['hash', 'pci', 'bus_pci', 'net', 'eal', 'kvargs']
sources += files( sources += files(
'mlx5_devx_cmds.c', 'mlx5_devx_cmds.c',
'mlx5_common.c', 'mlx5_common.c',
'mlx5_common_mp.c', 'mlx5_common_mp.c',
'mlx5_common_mr.c', 'mlx5_common_mr.c',
'mlx5_malloc.c', 'mlx5_malloc.c',
'mlx5_common_pci.c', 'mlx5_common_pci.c',
'mlx5_common_devx.c', 'mlx5_common_devx.c',
) )
cflags_options = [ cflags_options = [
'-std=c11', '-std=c11',
'-Wno-strict-prototypes', '-Wno-strict-prototypes',
'-D_BSD_SOURCE', '-D_BSD_SOURCE',
'-D_DEFAULT_SOURCE', '-D_DEFAULT_SOURCE',
'-D_XOPEN_SOURCE=600' '-D_XOPEN_SOURCE=600'
] ]
foreach option:cflags_options foreach option:cflags_options
if cc.has_argument(option) if cc.has_argument(option)
cflags += option cflags += option
endif endif
endforeach endforeach
if get_option('buildtype').contains('debug') if get_option('buildtype').contains('debug')
cflags += [ '-pedantic', '-DPEDANTIC' ] cflags += [ '-pedantic', '-DPEDANTIC' ]
else else
cflags += [ '-UPEDANTIC' ] cflags += [ '-UPEDANTIC' ]
endif endif
subdir(exec_env) subdir(exec_env)

View File

@ -4,17 +4,17 @@
includes += include_directories('.') includes += include_directories('.')
sources += files( sources += files(
'mlx5_glue.c', 'mlx5_glue.c',
'mlx5_common_os.c', 'mlx5_common_os.c',
) )
res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_PATH"])') res_lib = run_command(python3, '-c', 'import os; print(os.environ["DEVX_LIB_PATH"])')
res_inc = run_command(python3, '-c', 'import os; print(os.environ["DEVX_INC_PATH"])') res_inc = run_command(python3, '-c', 'import os; print(os.environ["DEVX_INC_PATH"])')
if (res_lib.returncode() != 0 or res_inc.returncode() != 0) if (res_lib.returncode() != 0 or res_inc.returncode() != 0)
build = false build = false
reason = 'DevX environment variables are not set, DEVX_LIB_PATH and DEVX_INC_PATH vars must be exported' reason = 'DevX environment variables are not set, DEVX_LIB_PATH and DEVX_INC_PATH vars must be exported'
subdir_done() subdir_done()
endif endif
devx_lib_dir = res_lib.stdout().strip() devx_lib_dir = res_lib.stdout().strip()
@ -23,21 +23,21 @@ devx_inc_dir = res_inc.stdout().strip()
ext_deps += cc.find_library('mlx5devx', dirs: devx_lib_dir, required: true) ext_deps += cc.find_library('mlx5devx', dirs: devx_lib_dir, required: true)
includes += include_directories(devx_inc_dir) includes += include_directories(devx_inc_dir)
cflags_options = [ cflags_options = [
'-std=c11', '-std=c11',
'-Wno-strict-prototypes', '-Wno-strict-prototypes',
'-D_BSD_SOURCE', '-D_BSD_SOURCE',
'-D_DEFAULT_SOURCE', '-D_DEFAULT_SOURCE',
'-D_XOPEN_SOURCE=600' '-D_XOPEN_SOURCE=600',
] ]
foreach option:cflags_options foreach option:cflags_options
if cc.has_argument(option) if cc.has_argument(option)
cflags += option cflags += option
endif endif
endforeach endforeach
if get_option('buildtype').contains('debug') if get_option('buildtype').contains('debug')
cflags += [ '-pedantic', '-DPEDANTIC' ] cflags += [ '-pedantic', '-DPEDANTIC' ]
else else
cflags += [ '-UPEDANTIC' ] cflags += [ '-UPEDANTIC' ]
endif endif
# Generate an empty mlx5_autoconf.h file for compatibility with Linux # Generate an empty mlx5_autoconf.h file for compatibility with Linux

View File

@ -5,16 +5,16 @@
# #
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
dep = dependency('libmusdk', required: false, method: 'pkg-config') dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "libmusdk"' reason = 'missing dependency, "libmusdk"'
subdir_done() subdir_done()
endif endif
ext_deps += dep ext_deps += dep

View File

@ -3,9 +3,9 @@
# #
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files('octeontx_mbox.c') sources = files('octeontx_mbox.c')

View File

@ -3,24 +3,28 @@
# #
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
if not dpdk_conf.get('RTE_ARCH_64') if not dpdk_conf.get('RTE_ARCH_64')
build = false build = false
reason = 'only supported on 64-bit' reason = 'only supported on 64-bit'
subdir_done() subdir_done()
endif endif
sources= files('otx2_dev.c', sources= files(
'otx2_irq.c', 'otx2_common.c',
'otx2_mbox.c', 'otx2_dev.c',
'otx2_common.c', 'otx2_irq.c',
'otx2_sec_idev.c', 'otx2_mbox.c',
) 'otx2_sec_idev.c',
)
deps = ['eal', 'pci', 'ethdev', 'kvargs'] deps = ['eal', 'pci', 'ethdev', 'kvargs']
includes += include_directories('../../common/octeontx2', includes += include_directories(
'../../mempool/octeontx2', '../../bus/pci') '../../common/octeontx2',
'../../mempool/octeontx2',
'../../bus/pci',
)

View File

@ -2,9 +2,9 @@
# Copyright(c) 2017-2018 Intel Corporation # Copyright(c) 2017-2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
qat_crypto = true qat_crypto = true
@ -15,55 +15,59 @@ qat_compress_path = 'compress/qat'
qat_compress_relpath = '../../' + qat_compress_path qat_compress_relpath = '../../' + qat_compress_path
if disable_drivers.contains(qat_crypto_path) if disable_drivers.contains(qat_crypto_path)
qat_crypto = false qat_crypto = false
dpdk_drvs_disabled += qat_crypto_path dpdk_drvs_disabled += qat_crypto_path
set_variable(qat_crypto_path.underscorify() + '_disable_reason', set_variable(qat_crypto_path.underscorify() + '_disable_reason',
'Explicitly disabled via build config') 'Explicitly disabled via build config')
endif endif
if disable_drivers.contains(qat_compress_path) if disable_drivers.contains(qat_compress_path)
qat_compress = false qat_compress = false
dpdk_drvs_disabled += qat_compress_path dpdk_drvs_disabled += qat_compress_path
set_variable(qat_compress_path.underscorify() + '_disable_reason', set_variable(qat_compress_path.underscorify() + '_disable_reason',
'Explicitly disabled via build config') 'Explicitly disabled via build config')
endif endif
libcrypto = dependency('libcrypto', required: false, method: 'pkg-config') libcrypto = dependency('libcrypto', required: false, method: 'pkg-config')
if qat_crypto and not libcrypto.found() if qat_crypto and not libcrypto.found()
qat_crypto = false qat_crypto = false
dpdk_drvs_disabled += qat_crypto_path dpdk_drvs_disabled += qat_crypto_path
set_variable(qat_crypto_path.underscorify() + '_disable_reason', set_variable(qat_crypto_path.underscorify() + '_disable_reason',
'missing dependency, libcrypto') 'missing dependency, libcrypto')
endif endif
# The driver should not build if both compression and crypto are disabled # The driver should not build if both compression and crypto are disabled
#FIXME common code depends on compression files so check only compress! #FIXME common code depends on compression files so check only compress!
if not qat_compress # and not qat_crypto if not qat_compress # and not qat_crypto
build = false build = false
reason = '' # rely on reason for compress/crypto above reason = '' # rely on reason for compress/crypto above
subdir_done() subdir_done()
endif endif
deps += ['bus_pci', 'cryptodev', 'net', 'compressdev'] deps += ['bus_pci', 'cryptodev', 'net', 'compressdev']
sources += files('qat_common.c', sources += files(
'qat_qp.c', 'qat_common.c',
'qat_device.c', 'qat_qp.c',
'qat_logs.c') 'qat_device.c',
includes += include_directories('qat_adf', 'qat_logs.c',
qat_crypto_relpath, )
qat_compress_relpath) includes += include_directories(
'qat_adf',
qat_crypto_relpath,
qat_compress_relpath,
)
if qat_compress if qat_compress
foreach f: ['qat_comp_pmd.c', 'qat_comp.c'] foreach f: ['qat_comp_pmd.c', 'qat_comp.c']
sources += files(join_paths(qat_compress_relpath, f)) sources += files(join_paths(qat_compress_relpath, f))
endforeach endforeach
endif endif
if qat_crypto if qat_crypto
foreach f: ['qat_sym_pmd.c', 'qat_sym.c', 'qat_sym_session.c', foreach f: ['qat_sym_pmd.c', 'qat_sym.c', 'qat_sym_session.c',
'qat_sym_hw_dp.c', 'qat_asym_pmd.c', 'qat_asym.c'] 'qat_sym_hw_dp.c', 'qat_asym_pmd.c', 'qat_asym.c']
sources += files(join_paths(qat_crypto_relpath, f)) sources += files(join_paths(qat_crypto_relpath, f))
endforeach endforeach
deps += ['security'] deps += ['security']
ext_deps += libcrypto ext_deps += libcrypto
cflags += ['-DBUILD_QAT_SYM', '-DBUILD_QAT_ASYM'] cflags += ['-DBUILD_QAT_SYM', '-DBUILD_QAT_ASYM']
endif endif

View File

@ -6,87 +6,87 @@
# for Solarflare) and Solarflare Communications, Inc. # for Solarflare) and Solarflare Communications, Inc.
sources = [ sources = [
'efx_bootcfg.c', 'efx_bootcfg.c',
'efx_crc32.c', 'efx_crc32.c',
'efx_ev.c', 'efx_ev.c',
'efx_evb.c', 'efx_evb.c',
'efx_filter.c', 'efx_filter.c',
'efx_hash.c', 'efx_hash.c',
'efx_intr.c', 'efx_intr.c',
'efx_lic.c', 'efx_lic.c',
'efx_mac.c', 'efx_mac.c',
'efx_mae.c', 'efx_mae.c',
'efx_mcdi.c', 'efx_mcdi.c',
'efx_mon.c', 'efx_mon.c',
'efx_nic.c', 'efx_nic.c',
'efx_nvram.c', 'efx_nvram.c',
'efx_pci.c', 'efx_pci.c',
'efx_phy.c', 'efx_phy.c',
'efx_port.c', 'efx_port.c',
'efx_proxy.c', 'efx_proxy.c',
'efx_rx.c', 'efx_rx.c',
'efx_sram.c', 'efx_sram.c',
'efx_tunnel.c', 'efx_tunnel.c',
'efx_tx.c', 'efx_tx.c',
'efx_vpd.c', 'efx_vpd.c',
'efx_virtio.c', 'efx_virtio.c',
'mcdi_mon.c', 'mcdi_mon.c',
'siena_mac.c', 'siena_mac.c',
'siena_mcdi.c', 'siena_mcdi.c',
'siena_nic.c', 'siena_nic.c',
'siena_nvram.c', 'siena_nvram.c',
'siena_phy.c', 'siena_phy.c',
'siena_sram.c', 'siena_sram.c',
'siena_vpd.c', 'siena_vpd.c',
'ef10_ev.c', 'ef10_ev.c',
'ef10_evb.c', 'ef10_evb.c',
'ef10_filter.c', 'ef10_filter.c',
'ef10_image.c', 'ef10_image.c',
'ef10_intr.c', 'ef10_intr.c',
'ef10_mac.c', 'ef10_mac.c',
'ef10_mcdi.c', 'ef10_mcdi.c',
'ef10_nic.c', 'ef10_nic.c',
'ef10_nvram.c', 'ef10_nvram.c',
'ef10_phy.c', 'ef10_phy.c',
'ef10_proxy.c', 'ef10_proxy.c',
'ef10_rx.c', 'ef10_rx.c',
'ef10_tx.c', 'ef10_tx.c',
'ef10_vpd.c', 'ef10_vpd.c',
'hunt_nic.c', 'hunt_nic.c',
'medford_nic.c', 'medford_nic.c',
'medford2_nic.c', 'medford2_nic.c',
'rhead_ev.c', 'rhead_ev.c',
'rhead_intr.c', 'rhead_intr.c',
'rhead_nic.c', 'rhead_nic.c',
'rhead_pci.c', 'rhead_pci.c',
'rhead_rx.c', 'rhead_rx.c',
'rhead_tunnel.c', 'rhead_tunnel.c',
'rhead_tx.c', 'rhead_tx.c',
'rhead_virtio.c', 'rhead_virtio.c',
] ]
extra_flags = [ extra_flags = [
'-Wno-sign-compare', '-Wno-sign-compare',
'-Wno-unused-parameter', '-Wno-unused-parameter',
'-Wno-unused-variable', '-Wno-unused-variable',
'-Wno-empty-body', '-Wno-empty-body',
'-Wno-unused-but-set-variable' '-Wno-unused-but-set-variable'
] ]
c_args = cflags c_args = cflags
foreach flag: extra_flags foreach flag: extra_flags
if cc.has_argument(flag) if cc.has_argument(flag)
c_args += flag c_args += flag
endif endif
endforeach endforeach
if build if build
base_lib = static_library('sfc_base', sources, base_lib = static_library('sfc_base', sources,
include_directories: includes, include_directories: includes,
dependencies: static_rte_eal, dependencies: static_rte_eal,
c_args: c_args) c_args: c_args)
base_objs = base_lib.extract_all_objects() base_objs = base_lib.extract_all_objects()
else else
base_objs = [] base_objs = []
endif endif

View File

@ -6,32 +6,32 @@
# for Solarflare) and Solarflare Communications, Inc. # for Solarflare) and Solarflare Communications, Inc.
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
endif endif
if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and (arch_subdir != 'arm' or not host_machine.cpu_family().startswith('aarch64')) if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and (arch_subdir != 'arm' or not host_machine.cpu_family().startswith('aarch64'))
build = false build = false
reason = 'only supported on x86_64 and aarch64' reason = 'only supported on x86_64 and aarch64'
endif endif
extra_flags = [] extra_flags = []
# Enable more warnings # Enable more warnings
extra_flags += [ extra_flags += [
'-Wdisabled-optimization' '-Wdisabled-optimization'
] ]
# Compiler and version dependent flags # Compiler and version dependent flags
extra_flags += [ extra_flags += [
'-Waggregate-return', '-Waggregate-return',
'-Wbad-function-cast' '-Wbad-function-cast'
] ]
foreach flag: extra_flags foreach flag: extra_flags
if cc.has_argument(flag) if cc.has_argument(flag)
cflags += flag cflags += flag
endif endif
endforeach endforeach
subdir('base') subdir('base')
@ -39,8 +39,8 @@ objs = [base_objs]
deps += ['bus_pci'] deps += ['bus_pci']
sources = files( sources = files(
'sfc_efx.c', 'sfc_efx.c',
'sfc_efx_mcdi.c', 'sfc_efx_mcdi.c',
) )
includes += include_directories('base') includes += include_directories('base')

View File

@ -3,8 +3,8 @@
dep = dependency('libisal', required: false, method: 'pkg-config') dep = dependency('libisal', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "libisal"' reason = 'missing dependency, "libisal"'
endif endif
deps += 'bus_vdev' deps += 'bus_vdev'

View File

@ -2,25 +2,25 @@
# Copyright 2021 Mellanox Technologies, Ltd # Copyright 2021 Mellanox Technologies, Ltd
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
subdir_done() subdir_done()
endif endif
fmt_name = 'mlx5_compress' fmt_name = 'mlx5_compress'
deps += ['common_mlx5', 'eal', 'compressdev'] deps += ['common_mlx5', 'eal', 'compressdev']
sources = files( sources = files(
'mlx5_compress.c', 'mlx5_compress.c',
) )
cflags_options = [ cflags_options = [
'-std=c11', '-std=c11',
'-Wno-strict-prototypes', '-Wno-strict-prototypes',
'-D_BSD_SOURCE', '-D_BSD_SOURCE',
'-D_DEFAULT_SOURCE', '-D_DEFAULT_SOURCE',
'-D_XOPEN_SOURCE=600' '-D_XOPEN_SOURCE=600'
] ]
foreach option:cflags_options foreach option:cflags_options
if cc.has_argument(option) if cc.has_argument(option)
cflags += option cflags += option
endif endif
endforeach endforeach

View File

@ -3,8 +3,8 @@
dep = dependency('zlib', required: false, method: 'pkg-config') dep = dependency('zlib', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "zlib"' reason = 'missing dependency, "zlib"'
endif endif
deps += 'bus_vdev' deps += 'bus_vdev'

View File

@ -4,20 +4,20 @@
IMB_required_ver = '0.52.0' IMB_required_ver = '0.52.0'
lib = cc.find_library('IPSec_MB', required: false) lib = cc.find_library('IPSec_MB', required: false)
if not lib.found() if not lib.found()
build = false build = false
reason = 'missing dependency, "libIPSec_MB"' reason = 'missing dependency, "libIPSec_MB"'
else else
ext_deps += lib ext_deps += lib
# version comes with quotes, so we split based on " and take the middle # version comes with quotes, so we split based on " and take the middle
imb_ver = cc.get_define('IMB_VERSION_STR', imb_ver = cc.get_define('IMB_VERSION_STR',
prefix : '#include<intel-ipsec-mb.h>').split('"')[1] prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver)) if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format( reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
IMB_required_ver, imb_ver) IMB_required_ver, imb_ver)
build = false build = false
endif endif
endif endif
sources = files('aesni_gcm_pmd.c', 'aesni_gcm_pmd_ops.c') sources = files('aesni_gcm_pmd.c', 'aesni_gcm_pmd_ops.c')

View File

@ -4,20 +4,20 @@
IMB_required_ver = '0.52.0' IMB_required_ver = '0.52.0'
lib = cc.find_library('IPSec_MB', required: false) lib = cc.find_library('IPSec_MB', required: false)
if not lib.found() if not lib.found()
build = false build = false
reason = 'missing dependency, "libIPSec_MB"' reason = 'missing dependency, "libIPSec_MB"'
else else
ext_deps += lib ext_deps += lib
# version comes with quotes, so we split based on " and take the middle # version comes with quotes, so we split based on " and take the middle
imb_ver = cc.get_define('IMB_VERSION_STR', imb_ver = cc.get_define('IMB_VERSION_STR',
prefix : '#include<intel-ipsec-mb.h>').split('"')[1] prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver)) if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format( reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
IMB_required_ver, imb_ver) IMB_required_ver, imb_ver)
build = false build = false
endif endif
endif endif

View File

@ -3,9 +3,9 @@
dep = dependency('libAArch64crypto', required: false, method: 'pkg-config') dep = dependency('libAArch64crypto', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "libAArch64crypto"' reason = 'missing dependency, "libAArch64crypto"'
subdir_done() subdir_done()
endif endif
ext_deps += dep ext_deps += dep

View File

@ -5,16 +5,16 @@
deps += ['eal', 'bus_vdev'] deps += ['eal', 'bus_vdev']
sources = files( sources = files(
'bcmfs_logs.c', 'bcmfs_logs.c',
'bcmfs_device.c', 'bcmfs_device.c',
'bcmfs_vfio.c', 'bcmfs_vfio.c',
'bcmfs_qp.c', 'bcmfs_qp.c',
'hw/bcmfs4_rm.c', 'hw/bcmfs4_rm.c',
'hw/bcmfs5_rm.c', 'hw/bcmfs5_rm.c',
'hw/bcmfs_rm_common.c', 'hw/bcmfs_rm_common.c',
'bcmfs_sym_pmd.c', 'bcmfs_sym_pmd.c',
'bcmfs_sym_capabilities.c', 'bcmfs_sym_capabilities.c',
'bcmfs_sym_session.c', 'bcmfs_sym_session.c',
'bcmfs_sym.c', 'bcmfs_sym.c',
'bcmfs_sym_engine.c' 'bcmfs_sym_engine.c'
) )

View File

@ -2,15 +2,17 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['bus_vdev', 'bus_dpaa', 'security'] deps += ['bus_vdev', 'bus_dpaa', 'security']
sources = files('caam_jr_capabilities.c', sources = files(
'caam_jr_hw.c', 'caam_jr_capabilities.c',
'caam_jr_uio.c', 'caam_jr_hw.c',
'caam_jr.c') 'caam_jr_uio.c',
'caam_jr.c',
)
includes += include_directories('../../bus/dpaa/include/') includes += include_directories('../../bus/dpaa/include/')
includes += include_directories('../../common/dpaax/') includes += include_directories('../../common/dpaax/')

View File

@ -2,21 +2,23 @@
# Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved. # Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
dep = dependency('libcrypto', required: false, method: 'pkg-config') dep = dependency('libcrypto', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "libcrypto"' reason = 'missing dependency, "libcrypto"'
endif endif
deps += 'bus_vdev' deps += 'bus_vdev'
deps += 'bus_pci' deps += 'bus_pci'
sources = files('rte_ccp_pmd.c', sources = files(
'ccp_crypto.c', 'rte_ccp_pmd.c',
'ccp_dev.c', 'ccp_crypto.c',
'ccp_pci.c', 'ccp_dev.c',
'ccp_pmd_ops.c') 'ccp_pci.c',
'ccp_pmd_ops.c',
)
ext_deps += dep ext_deps += dep

View File

@ -2,12 +2,14 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['security', 'mempool_dpaa2'] deps += ['security', 'mempool_dpaa2']
sources = files('dpaa2_sec_dpseci.c', sources = files(
'mc/dpseci.c') 'dpaa2_sec_dpseci.c',
'mc/dpseci.c',
)
includes += include_directories('mc', '../../common/dpaax', '../../common/dpaax/caamflib') includes += include_directories('mc', '../../common/dpaax', '../../common/dpaax/caamflib')

View File

@ -2,8 +2,8 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['bus_dpaa', 'mempool_dpaa', 'security'] deps += ['bus_dpaa', 'mempool_dpaa', 'security']

View File

@ -4,18 +4,18 @@
IMB_required_ver = '0.53.0' IMB_required_ver = '0.53.0'
lib = cc.find_library('IPSec_MB', required: false) lib = cc.find_library('IPSec_MB', required: false)
if not lib.found() if not lib.found()
build = false build = false
reason = 'missing dependency, "libIPSec_MB"' reason = 'missing dependency, "libIPSec_MB"'
else else
# version comes with quotes, so we split based on " and take the middle # version comes with quotes, so we split based on " and take the middle
imb_ver = cc.get_define('IMB_VERSION_STR', imb_ver = cc.get_define('IMB_VERSION_STR',
prefix : '#include<intel-ipsec-mb.h>').split('"')[1] prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver)) if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format( reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
IMB_required_ver, imb_ver) IMB_required_ver, imb_ver)
build = false build = false
endif endif
endif endif

View File

@ -5,9 +5,9 @@
dep = dependency('libmusdk', required: false, method: 'pkg-config') dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "libmusdk"' reason = 'missing dependency, "libmusdk"'
subdir_done() subdir_done()
endif endif
ext_deps += dep ext_deps += dep

View File

@ -2,17 +2,17 @@
# Copyright(C) 2019 Marvell International Ltd. # Copyright(C) 2019 Marvell International Ltd.
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['bus_pci'] deps += ['bus_pci']
sources = files( sources = files(
'nitrox_device.c', 'nitrox_device.c',
'nitrox_hal.c', 'nitrox_hal.c',
'nitrox_logs.c', 'nitrox_logs.c',
'nitrox_sym.c', 'nitrox_sym.c',
'nitrox_sym_capabilities.c', 'nitrox_sym_capabilities.c',
'nitrox_sym_reqmgr.c', 'nitrox_sym_reqmgr.c',
'nitrox_qp.c' 'nitrox_qp.c'
) )

View File

@ -1,17 +1,19 @@
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc # Copyright(c) 2018 Cavium, Inc
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['bus_pci'] deps += ['bus_pci']
deps += ['common_cpt'] deps += ['common_cpt']
sources = files('otx_cryptodev.c', sources = files(
'otx_cryptodev_capabilities.c', 'otx_cryptodev.c',
'otx_cryptodev_hw_access.c', 'otx_cryptodev_capabilities.c',
'otx_cryptodev_mbox.c', 'otx_cryptodev_hw_access.c',
'otx_cryptodev_ops.c') 'otx_cryptodev_mbox.c',
'otx_cryptodev_ops.c',
)
includes += include_directories('../../common/cpt') includes += include_directories('../../common/cpt')

View File

@ -2,9 +2,9 @@
# Copyright (C) 2019 Marvell International Ltd. # Copyright (C) 2019 Marvell International Ltd.
if not is_linux or not dpdk_conf.get('RTE_ARCH_64') if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
build = false build = false
reason = 'only supported on 64-bit Linux' reason = 'only supported on 64-bit Linux'
subdir_done() subdir_done()
endif endif
deps += ['bus_pci'] deps += ['bus_pci']
@ -14,12 +14,14 @@ deps += ['ethdev']
deps += ['eventdev'] deps += ['eventdev']
deps += ['security'] deps += ['security']
sources = files('otx2_cryptodev.c', sources = files(
'otx2_cryptodev_capabilities.c', 'otx2_cryptodev.c',
'otx2_cryptodev_hw_access.c', 'otx2_cryptodev_capabilities.c',
'otx2_cryptodev_mbox.c', 'otx2_cryptodev_hw_access.c',
'otx2_cryptodev_ops.c', 'otx2_cryptodev_mbox.c',
'otx2_cryptodev_sec.c') 'otx2_cryptodev_ops.c',
'otx2_cryptodev_sec.c',
)
includes += include_directories('../../common/cpt') includes += include_directories('../../common/cpt')
includes += include_directories('../../common/octeontx2') includes += include_directories('../../common/octeontx2')

View File

@ -3,8 +3,8 @@
dep = dependency('libcrypto', required: false, method: 'pkg-config') dep = dependency('libcrypto', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "libcrypto"' reason = 'missing dependency, "libcrypto"'
endif endif
deps += 'bus_vdev' deps += 'bus_vdev'
sources = files('rte_openssl_pmd.c', 'rte_openssl_pmd_ops.c') sources = files('rte_openssl_pmd.c', 'rte_openssl_pmd_ops.c')

View File

@ -11,14 +11,16 @@ qat_deps += 'cryptodev'
qat_deps += 'net' qat_deps += 'net'
qat_deps += 'security' qat_deps += 'security'
if dep.found() if dep.found()
# Add our sources files to the list # Add our sources files to the list
qat_sources += files('qat_sym_pmd.c', qat_sources += files(
'qat_sym.c', 'qat_asym.c',
'qat_sym_session.c', 'qat_asym_pmd.c',
'qat_sym_hw_dp.c', 'qat_sym.c',
'qat_asym_pmd.c', 'qat_sym_hw_dp.c',
'qat_asym.c') 'qat_sym_pmd.c',
qat_ext_deps += dep 'qat_sym_session.c',
qat_cflags += '-DBUILD_QAT_SYM' )
qat_cflags += '-DBUILD_QAT_ASYM' qat_ext_deps += dep
qat_cflags += '-DBUILD_QAT_SYM'
qat_cflags += '-DBUILD_QAT_ASYM'
endif endif

View File

@ -3,16 +3,16 @@
deps += ['bus_vdev', 'reorder'] deps += ['bus_vdev', 'reorder']
sources = files( sources = files(
'rte_cryptodev_scheduler.c', 'rte_cryptodev_scheduler.c',
'scheduler_failover.c', 'scheduler_failover.c',
'scheduler_multicore.c', 'scheduler_multicore.c',
'scheduler_pkt_size_distr.c', 'scheduler_pkt_size_distr.c',
'scheduler_pmd.c', 'scheduler_pmd.c',
'scheduler_pmd_ops.c', 'scheduler_pmd_ops.c',
'scheduler_roundrobin.c', 'scheduler_roundrobin.c',
) )
headers = files( headers = files(
'rte_cryptodev_scheduler.h', 'rte_cryptodev_scheduler.h',
'rte_cryptodev_scheduler_operations.h', 'rte_cryptodev_scheduler_operations.h',
) )

View File

@ -4,18 +4,18 @@
IMB_required_ver = '0.53.0' IMB_required_ver = '0.53.0'
lib = cc.find_library('IPSec_MB', required: false) lib = cc.find_library('IPSec_MB', required: false)
if not lib.found() if not lib.found()
build = false build = false
reason = 'missing dependency, "libIPSec_MB"' reason = 'missing dependency, "libIPSec_MB"'
else else
# version comes with quotes, so we split based on " and take the middle # version comes with quotes, so we split based on " and take the middle
imb_ver = cc.get_define('IMB_VERSION_STR', imb_ver = cc.get_define('IMB_VERSION_STR',
prefix : '#include<intel-ipsec-mb.h>').split('"')[1] prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver)) if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format( reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
IMB_required_ver, imb_ver) IMB_required_ver, imb_ver)
build = false build = false
endif endif
endif endif

View File

@ -3,5 +3,9 @@
includes += include_directories('../../../lib/librte_vhost') includes += include_directories('../../../lib/librte_vhost')
deps += 'bus_pci' deps += 'bus_pci'
sources = files('virtio_cryptodev.c', 'virtio_pci.c', sources = files(
'virtio_rxtx.c', 'virtqueue.c') 'virtio_cryptodev.c',
'virtio_pci.c',
'virtio_rxtx.c',
'virtqueue.c',
)

View File

@ -4,18 +4,18 @@
IMB_required_ver = '0.53.0' IMB_required_ver = '0.53.0'
lib = cc.find_library('IPSec_MB', required: false) lib = cc.find_library('IPSec_MB', required: false)
if not lib.found() if not lib.found()
build = false build = false
reason = 'missing dependency, "libIPSec_MB"' reason = 'missing dependency, "libIPSec_MB"'
else else
# version comes with quotes, so we split based on " and take the middle # version comes with quotes, so we split based on " and take the middle
imb_ver = cc.get_define('IMB_VERSION_STR', imb_ver = cc.get_define('IMB_VERSION_STR',
prefix : '#include<intel-ipsec-mb.h>').split('"')[1] prefix : '#include<intel-ipsec-mb.h>').split('"')[1]
if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver)) if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver))
reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format( reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format(
IMB_required_ver, imb_ver) IMB_required_ver, imb_ver)
build = false build = false
endif endif
endif endif

View File

@ -8,14 +8,15 @@ if not is_linux or not dpdk_conf.has('RTE_ARCH_X86_64')
subdir_done() subdir_done()
endif endif
sources = files('dlb2.c', sources = files(
'dlb2_iface.c', 'dlb2.c',
'dlb2_xstats.c', 'dlb2_iface.c',
'pf/dlb2_main.c', 'dlb2_xstats.c',
'pf/dlb2_pf.c', 'pf/dlb2_main.c',
'pf/base/dlb2_resource.c', 'pf/dlb2_pf.c',
'rte_pmd_dlb2.c', 'pf/base/dlb2_resource.c',
'dlb2_selftest.c' 'rte_pmd_dlb2.c',
'dlb2_selftest.c',
) )
headers = files('rte_pmd_dlb2.h') headers = files('rte_pmd_dlb2.h')

View File

@ -2,8 +2,8 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['net_dpaa', 'crypto_dpaa_sec'] deps += ['net_dpaa', 'crypto_dpaa_sec']
sources = files('dpaa_eventdev.c') sources = files('dpaa_eventdev.c')

View File

@ -2,12 +2,14 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['bus_vdev', 'net_dpaa2', 'crypto_dpaa2_sec'] deps += ['bus_vdev', 'net_dpaa2', 'crypto_dpaa2_sec']
sources = files('dpaa2_hw_dpcon.c', sources = files(
'dpaa2_eventdev.c', 'dpaa2_hw_dpcon.c',
'dpaa2_eventdev_selftest.c') 'dpaa2_eventdev.c',
'dpaa2_eventdev_selftest.c',
)
includes += include_directories('../../crypto/dpaa2_sec/') includes += include_directories('../../crypto/dpaa2_sec/')

View File

@ -3,6 +3,6 @@
deps += ['bus_vdev'] deps += ['bus_vdev']
if cc.has_argument('-Wno-format-nonliteral') if cc.has_argument('-Wno-format-nonliteral')
cflags += '-Wno-format-nonliteral' cflags += '-Wno-format-nonliteral'
endif endif
sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c') sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')

View File

@ -1,13 +1,14 @@
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Cavium, Inc # Copyright(c) 2017 Cavium, Inc
sources = files('ssovf_worker.c', sources = files(
'ssovf_evdev.c', 'ssovf_worker.c',
'ssovf_evdev_selftest.c', 'ssovf_evdev.c',
'ssovf_probe.c', 'ssovf_evdev_selftest.c',
'timvf_worker.c', 'ssovf_probe.c',
'timvf_evdev.c', 'timvf_worker.c',
'timvf_probe.c' 'timvf_evdev.c',
'timvf_probe.c',
) )
deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'net_octeontx'] deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'net_octeontx']

View File

@ -3,21 +3,22 @@
# #
if not dpdk_conf.get('RTE_ARCH_64') if not dpdk_conf.get('RTE_ARCH_64')
build = false build = false
reason = 'only supported on 64-bit' reason = 'only supported on 64-bit'
subdir_done() subdir_done()
endif endif
sources = files('otx2_worker.c', sources = files(
'otx2_worker_dual.c', 'otx2_worker.c',
'otx2_evdev.c', 'otx2_worker_dual.c',
'otx2_evdev_adptr.c', 'otx2_evdev.c',
'otx2_evdev_crypto_adptr.c', 'otx2_evdev_adptr.c',
'otx2_evdev_irq.c', 'otx2_evdev_crypto_adptr.c',
'otx2_evdev_selftest.c', 'otx2_evdev_irq.c',
'otx2_tim_evdev.c', 'otx2_evdev_selftest.c',
'otx2_tim_worker.c' 'otx2_tim_evdev.c',
) 'otx2_tim_worker.c',
)
deps += ['bus_pci', 'common_octeontx2', 'crypto_octeontx2', 'mempool_octeontx2', 'net_octeontx2'] deps += ['bus_pci', 'common_octeontx2', 'crypto_octeontx2', 'mempool_octeontx2', 'net_octeontx2']

View File

@ -2,10 +2,10 @@
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
sources = files( sources = files(
'opdl_evdev.c', 'opdl_evdev.c',
'opdl_evdev_init.c', 'opdl_evdev_init.c',
'opdl_evdev_xstats.c', 'opdl_evdev_xstats.c',
'opdl_ring.c', 'opdl_ring.c',
'opdl_test.c', 'opdl_test.c',
) )
deps += ['bus_vdev'] deps += ['bus_vdev']

View File

@ -1,10 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
sources = files('sw_evdev_scheduler.c', sources = files(
'sw_evdev_selftest.c', 'sw_evdev_scheduler.c',
'sw_evdev_worker.c', 'sw_evdev_selftest.c',
'sw_evdev_xstats.c', 'sw_evdev_worker.c',
'sw_evdev.c' 'sw_evdev_xstats.c',
'sw_evdev.c',
) )
deps += ['hash', 'bus_vdev'] deps += ['hash', 'bus_vdev']

View File

@ -7,8 +7,8 @@
# for Solarflare) and Solarflare Communications, Inc. # for Solarflare) and Solarflare Communications, Inc.
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
endif endif
sources = files('rte_mempool_bucket.c') sources = files('rte_mempool_bucket.c')

View File

@ -3,14 +3,16 @@
# #
if not is_linux or not dpdk_conf.get('RTE_ARCH_64') if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
build = false build = false
reason = 'only supported on 64-bit Linux' reason = 'only supported on 64-bit Linux'
subdir_done() subdir_done()
endif endif
sources = files('cnxk_mempool.c', sources = files(
'cnxk_mempool_ops.c', 'cnxk_mempool.c',
'cn9k_mempool_ops.c', 'cnxk_mempool_ops.c',
'cn10k_mempool_ops.c') 'cn9k_mempool_ops.c',
'cn10k_mempool_ops.c',
)
deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_cnxk', 'mempool'] deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_cnxk', 'mempool']

View File

@ -2,8 +2,8 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['bus_dpaa'] deps += ['bus_dpaa']

View File

@ -2,8 +2,8 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['bus_fslmc'] deps += ['bus_fslmc']

View File

@ -2,12 +2,13 @@
# Copyright(c) 2017 Cavium, Inc # Copyright(c) 2017 Cavium, Inc
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
endif endif
sources = files('octeontx_fpavf.c', sources = files(
'rte_mempool_octeontx.c' 'octeontx_fpavf.c',
'rte_mempool_octeontx.c',
) )
deps += ['mbuf', 'bus_pci', 'common_octeontx'] deps += ['mbuf', 'bus_pci', 'common_octeontx']

View File

@ -3,20 +3,21 @@
# #
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
if not dpdk_conf.get('RTE_ARCH_64') if not dpdk_conf.get('RTE_ARCH_64')
build = false build = false
reason = 'only supported on 64-bit' reason = 'only supported on 64-bit'
subdir_done() subdir_done()
endif endif
sources = files('otx2_mempool_ops.c', sources = files(
'otx2_mempool.c', 'otx2_mempool.c',
'otx2_mempool_irq.c', 'otx2_mempool_debug.c',
'otx2_mempool_debug.c' 'otx2_mempool_irq.c',
) 'otx2_mempool_ops.c',
)
deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_octeontx2', 'mempool'] deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_octeontx2', 'mempool']

View File

@ -2,8 +2,8 @@
# Copyright(c) 2017-2019 Intel Corporation # Copyright(c) 2017-2019 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
endif endif
sources = files('rte_mempool_stack.c') sources = files('rte_mempool_stack.c')

View File

@ -2,7 +2,7 @@
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
sources = files('rte_eth_af_packet.c') sources = files('rte_eth_af_packet.c')

View File

@ -2,26 +2,26 @@
# Copyright(c) 2019 Intel Corporation # Copyright(c) 2019 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files('rte_eth_af_xdp.c') sources = files('rte_eth_af_xdp.c')
bpf_dep = dependency('libbpf', required: false, method: 'pkg-config') bpf_dep = dependency('libbpf', required: false, method: 'pkg-config')
if not bpf_dep.found() if not bpf_dep.found()
bpf_dep = cc.find_library('bpf', required: false) bpf_dep = cc.find_library('bpf', required: false)
endif endif
if bpf_dep.found() and cc.has_header('bpf/xsk.h') and cc.has_header('linux/if_xdp.h') if bpf_dep.found() and cc.has_header('bpf/xsk.h') and cc.has_header('linux/if_xdp.h')
ext_deps += bpf_dep ext_deps += bpf_dep
bpf_ver_dep = dependency('libbpf', version : '>=0.2.0', bpf_ver_dep = dependency('libbpf', version : '>=0.2.0',
required: false, method: 'pkg-config') required: false, method: 'pkg-config')
if bpf_ver_dep.found() if bpf_ver_dep.found()
dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_SHARED_UMEM', 1) dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_SHARED_UMEM', 1)
endif endif
else else
build = false build = false
reason = 'missing dependency, "libbpf"' reason = 'missing dependency, "libbpf"'
endif endif

View File

@ -2,18 +2,20 @@
# Copyright(c) 2018 Intel Corporation # Copyright(c) 2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files('ark_ddm.c', sources = files(
'ark_ethdev.c', 'ark_ddm.c',
'ark_ethdev_rx.c', 'ark_ethdev.c',
'ark_ethdev_tx.c', 'ark_ethdev_rx.c',
'ark_mpu.c', 'ark_ethdev_tx.c',
'ark_pktchkr.c', 'ark_mpu.c',
'ark_pktdir.c', 'ark_pktchkr.c',
'ark_pktgen.c', 'ark_pktdir.c',
'ark_rqp.c', 'ark_pktgen.c',
'ark_udm.c') 'ark_rqp.c',
'ark_udm.c',
)

View File

@ -2,18 +2,18 @@
# Copyright(c) 2018 Aquantia Corporation # Copyright(c) 2018 Aquantia Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files( sources = files(
'atl_rxtx.c', 'atl_rxtx.c',
'atl_ethdev.c', 'atl_ethdev.c',
'atl_hw_regs.c', 'atl_hw_regs.c',
'hw_atl/hw_atl_b0.c', 'hw_atl/hw_atl_b0.c',
'hw_atl/hw_atl_llh.c', 'hw_atl/hw_atl_llh.c',
'hw_atl/hw_atl_utils_fw2x.c', 'hw_atl/hw_atl_utils_fw2x.c',
'hw_atl/hw_atl_utils.c', 'hw_atl/hw_atl_utils.c',
'rte_pmd_atlantic.c', 'rte_pmd_atlantic.c',
) )

View File

@ -2,8 +2,8 @@
# Copyright(c) 2018 Intel Corporation # Copyright(c) 2018 Intel Corporation
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
sources = files('avp_ethdev.c') sources = files('avp_ethdev.c')
headers = files('rte_avp_common.h', 'rte_avp_fifo.h') headers = files('rte_avp_common.h', 'rte_avp_fifo.h')

View File

@ -2,19 +2,21 @@
# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved. # Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
sources = files('axgbe_ethdev.c', sources = files(
'axgbe_dev.c', 'axgbe_ethdev.c',
'axgbe_mdio.c', 'axgbe_dev.c',
'axgbe_phy_impl.c', 'axgbe_mdio.c',
'axgbe_i2c.c', 'axgbe_phy_impl.c',
'axgbe_rxtx.c') 'axgbe_i2c.c',
'axgbe_rxtx.c',
)
cflags += '-Wno-cast-qual' cflags += '-Wno-cast-qual'
if arch_subdir == 'x86' if arch_subdir == 'x86'
sources += files('axgbe_rxtx_vec_sse.c') sources += files('axgbe_rxtx_vec_sse.c')
endif endif

View File

@ -2,9 +2,9 @@
# Copyright(c) 2018 Intel Corporation # Copyright(c) 2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
dep = dependency('zlib', required: false, method: 'pkg-config') dep = dependency('zlib', required: false, method: 'pkg-config')
@ -12,10 +12,12 @@ build = dep.found()
reason = 'missing dependency, "zlib"' reason = 'missing dependency, "zlib"'
ext_deps += dep ext_deps += dep
cflags += '-DZLIB_CONST' cflags += '-DZLIB_CONST'
sources = files('bnx2x.c', sources = files(
'bnx2x_ethdev.c', 'bnx2x.c',
'bnx2x_rxtx.c', 'bnx2x_ethdev.c',
'bnx2x_stats.c', 'bnx2x_rxtx.c',
'bnx2x_vfpf.c', 'bnx2x_stats.c',
'ecore_sp.c', 'bnx2x_vfpf.c',
'elink.c') 'ecore_sp.c',
'elink.c',
)

View File

@ -3,9 +3,9 @@
# Copyright(c) 2020 Broadcom # Copyright(c) 2020 Broadcom
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
headers = files('rte_pmd_bnxt.h') headers = files('rte_pmd_bnxt.h')
@ -13,73 +13,75 @@ headers = files('rte_pmd_bnxt.h')
includes += include_directories('tf_ulp') includes += include_directories('tf_ulp')
includes += include_directories('tf_core') includes += include_directories('tf_core')
sources = files('bnxt_cpr.c', sources = files(
'bnxt_ethdev.c', 'bnxt_cpr.c',
'bnxt_filter.c', 'bnxt_ethdev.c',
'bnxt_flow.c', 'bnxt_filter.c',
'bnxt_hwrm.c', 'bnxt_flow.c',
'bnxt_irq.c', 'bnxt_hwrm.c',
'bnxt_ring.c', 'bnxt_irq.c',
'bnxt_rxq.c', 'bnxt_ring.c',
'bnxt_rxr.c', 'bnxt_rxq.c',
'bnxt_stats.c', 'bnxt_rxr.c',
'bnxt_txq.c', 'bnxt_stats.c',
'bnxt_txr.c', 'bnxt_txq.c',
'bnxt_util.c', 'bnxt_txr.c',
'bnxt_vnic.c', 'bnxt_util.c',
'bnxt_reps.c', 'bnxt_vnic.c',
'bnxt_reps.c',
'tf_core/tf_core.c', 'tf_core/tf_core.c',
'tf_core/bitalloc.c', 'tf_core/bitalloc.c',
'tf_core/tf_msg.c', 'tf_core/tf_msg.c',
'tf_core/rand.c', 'tf_core/rand.c',
'tf_core/stack.c', 'tf_core/stack.c',
'tf_core/tf_em_common.c', 'tf_core/tf_em_common.c',
'tf_core/tf_em_internal.c', 'tf_core/tf_em_internal.c',
'tf_core/tf_rm.c', 'tf_core/tf_rm.c',
'tf_core/tf_tbl.c', 'tf_core/tf_tbl.c',
'tf_core/tfp.c', 'tf_core/tfp.c',
'tf_core/tf_session.c', 'tf_core/tf_session.c',
'tf_core/tf_device.c', 'tf_core/tf_device.c',
'tf_core/tf_device_p4.c', 'tf_core/tf_device_p4.c',
'tf_core/tf_identifier.c', 'tf_core/tf_identifier.c',
'tf_core/tf_shadow_tbl.c', 'tf_core/tf_shadow_tbl.c',
'tf_core/tf_shadow_tcam.c', 'tf_core/tf_shadow_tcam.c',
'tf_core/tf_tcam.c', 'tf_core/tf_tcam.c',
'tf_core/tf_util.c', 'tf_core/tf_util.c',
'tf_core/tf_if_tbl.c', 'tf_core/tf_if_tbl.c',
'tf_core/ll.c', 'tf_core/ll.c',
'tf_core/tf_global_cfg.c', 'tf_core/tf_global_cfg.c',
'tf_core/tf_em_host.c', 'tf_core/tf_em_host.c',
'tf_core/tf_shadow_identifier.c', 'tf_core/tf_shadow_identifier.c',
'tf_core/tf_hash.c', 'tf_core/tf_hash.c',
'hcapi/hcapi_cfa_p4.c', 'hcapi/hcapi_cfa_p4.c',
'tf_ulp/bnxt_ulp.c', 'tf_ulp/bnxt_ulp.c',
'tf_ulp/ulp_mark_mgr.c', 'tf_ulp/ulp_mark_mgr.c',
'tf_ulp/ulp_flow_db.c', 'tf_ulp/ulp_flow_db.c',
'tf_ulp/ulp_template_db_tbl.c', 'tf_ulp/ulp_template_db_tbl.c',
'tf_ulp/ulp_template_db_class.c', 'tf_ulp/ulp_template_db_class.c',
'tf_ulp/ulp_template_db_act.c', 'tf_ulp/ulp_template_db_act.c',
'tf_ulp/ulp_utils.c', 'tf_ulp/ulp_utils.c',
'tf_ulp/ulp_mapper.c', 'tf_ulp/ulp_mapper.c',
'tf_ulp/ulp_matcher.c', 'tf_ulp/ulp_matcher.c',
'tf_ulp/ulp_rte_parser.c', 'tf_ulp/ulp_rte_parser.c',
'tf_ulp/bnxt_ulp_flow.c', 'tf_ulp/bnxt_ulp_flow.c',
'tf_ulp/ulp_port_db.c', 'tf_ulp/ulp_port_db.c',
'tf_ulp/ulp_def_rules.c', 'tf_ulp/ulp_def_rules.c',
'tf_ulp/ulp_fc_mgr.c', 'tf_ulp/ulp_fc_mgr.c',
'tf_ulp/ulp_tun.c', 'tf_ulp/ulp_tun.c',
'tf_ulp/ulp_template_db_wh_plus_act.c', 'tf_ulp/ulp_template_db_wh_plus_act.c',
'tf_ulp/ulp_template_db_wh_plus_class.c', 'tf_ulp/ulp_template_db_wh_plus_class.c',
'tf_ulp/ulp_template_db_stingray_act.c', 'tf_ulp/ulp_template_db_stingray_act.c',
'tf_ulp/ulp_template_db_stingray_class.c', 'tf_ulp/ulp_template_db_stingray_class.c',
'rte_pmd_bnxt.c') 'rte_pmd_bnxt.c',
)
if arch_subdir == 'x86' if arch_subdir == 'x86'
sources += files('bnxt_rxtx_vec_sse.c') sources += files('bnxt_rxtx_vec_sse.c')
elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64')
sources += files('bnxt_rxtx_vec_neon.c') sources += files('bnxt_rxtx_vec_neon.c')
endif endif

View File

@ -2,14 +2,20 @@
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
name = 'bond' #, james bond :-) name = 'bond' #, james bond :-)
sources = files('rte_eth_bond_api.c', 'rte_eth_bond_pmd.c', 'rte_eth_bond_flow.c', sources = files(
'rte_eth_bond_args.c', 'rte_eth_bond_8023ad.c', 'rte_eth_bond_alb.c') 'rte_eth_bond_8023ad.c',
'rte_eth_bond_alb.c',
'rte_eth_bond_api.c',
'rte_eth_bond_args.c',
'rte_eth_bond_flow.c',
'rte_eth_bond_pmd.c',
)
deps += 'sched' # needed for rte_bitmap.h deps += 'sched' # needed for rte_bitmap.h
deps += ['ip_frag'] deps += ['ip_frag']

View File

@ -2,22 +2,24 @@
# Copyright(c) 2018 Intel Corporation # Copyright(c) 2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files('cxgbe_ethdev.c', sources = files(
'cxgbe_main.c', 'cxgbe_ethdev.c',
'cxgbevf_ethdev.c', 'cxgbe_main.c',
'cxgbevf_main.c', 'cxgbevf_ethdev.c',
'sge.c', 'cxgbevf_main.c',
'cxgbe_filter.c', 'sge.c',
'cxgbe_flow.c', 'cxgbe_filter.c',
'clip_tbl.c', 'cxgbe_flow.c',
'mps_tcam.c', 'clip_tbl.c',
'l2t.c', 'mps_tcam.c',
'smt.c', 'l2t.c',
'base/t4_hw.c', 'smt.c',
'base/t4vf_hw.c') 'base/t4_hw.c',
'base/t4vf_hw.c',
)
includes += include_directories('base') includes += include_directories('base')

View File

@ -2,20 +2,22 @@
# Copyright 2018-2020 NXP # Copyright 2018-2020 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['mempool_dpaa'] deps += ['mempool_dpaa']
sources = files('dpaa_ethdev.c', sources = files(
'fmlib/fm_lib.c', 'dpaa_ethdev.c',
'fmlib/fm_vsp.c', 'fmlib/fm_lib.c',
'dpaa_flow.c', 'fmlib/fm_vsp.c',
'dpaa_rxtx.c', 'dpaa_flow.c',
'dpaa_fmc.c') 'dpaa_rxtx.c',
'dpaa_fmc.c',
)
if cc.has_argument('-Wno-pointer-arith') if cc.has_argument('-Wno-pointer-arith')
cflags += '-Wno-pointer-arith' cflags += '-Wno-pointer-arith'
endif endif
headers = files('rte_pmd_dpaa.h') headers = files('rte_pmd_dpaa.h')

View File

@ -2,23 +2,25 @@
# Copyright 2018-2021 NXP # Copyright 2018-2021 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['mempool_dpaa2'] deps += ['mempool_dpaa2']
sources = files('base/dpaa2_hw_dpni.c', sources = files(
'dpaa2_tm.c', 'base/dpaa2_hw_dpni.c',
'dpaa2_mux.c', 'dpaa2_tm.c',
'dpaa2_ethdev.c', 'dpaa2_mux.c',
'dpaa2_flow.c', 'dpaa2_ethdev.c',
'dpaa2_rxtx.c', 'dpaa2_flow.c',
'dpaa2_sparser.c', 'dpaa2_rxtx.c',
'dpaa2_ptp.c', 'dpaa2_sparser.c',
'mc/dprtc.c', 'dpaa2_ptp.c',
'mc/dpkg.c', 'mc/dprtc.c',
'mc/dpdmux.c', 'mc/dpkg.c',
'mc/dpni.c') 'mc/dpdmux.c',
'mc/dpni.c',
)
includes += include_directories('base', 'mc') includes += include_directories('base', 'mc')

View File

@ -2,37 +2,37 @@
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
sources = [ sources = [
'e1000_base.c', 'e1000_base.c',
'e1000_80003es2lan.c', 'e1000_80003es2lan.c',
'e1000_82540.c', 'e1000_82540.c',
'e1000_82541.c', 'e1000_82541.c',
'e1000_82542.c', 'e1000_82542.c',
'e1000_82543.c', 'e1000_82543.c',
'e1000_82571.c', 'e1000_82571.c',
'e1000_82575.c', 'e1000_82575.c',
'e1000_api.c', 'e1000_api.c',
'e1000_i210.c', 'e1000_i210.c',
'e1000_ich8lan.c', 'e1000_ich8lan.c',
'e1000_mac.c', 'e1000_mac.c',
'e1000_manage.c', 'e1000_manage.c',
'e1000_mbx.c', 'e1000_mbx.c',
'e1000_nvm.c', 'e1000_nvm.c',
'e1000_osdep.c', 'e1000_osdep.c',
'e1000_phy.c', 'e1000_phy.c',
'e1000_vf.c' 'e1000_vf.c'
] ]
error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter', error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter',
'-Wno-unused-variable', '-Wno-misleading-indentation', '-Wno-unused-variable', '-Wno-misleading-indentation',
'-Wno-implicit-fallthrough'] '-Wno-implicit-fallthrough']
c_args = cflags c_args = cflags
foreach flag: error_cflags foreach flag: error_cflags
if cc.has_argument(flag) if cc.has_argument(flag)
c_args += flag c_args += flag
endif endif
endforeach endforeach
base_lib = static_library('e1000_base', sources, base_lib = static_library('e1000_base', sources,
dependencies: static_rte_eal, dependencies: static_rte_eal,
c_args: c_args) c_args: c_args)
base_objs = base_lib.extract_all_objects() base_objs = base_lib.extract_all_objects()

View File

@ -2,22 +2,22 @@
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
subdir('base') subdir('base')
objs = [base_objs] objs = [base_objs]
sources = files( sources = files(
'e1000_logs.c', 'e1000_logs.c',
'em_ethdev.c', 'em_ethdev.c',
'em_rxtx.c', 'em_rxtx.c',
'igb_ethdev.c', 'igb_ethdev.c',
'igb_flow.c', 'igb_flow.c',
'igb_pf.c', 'igb_pf.c',
'igb_rxtx.c' 'igb_rxtx.c',
) )
includes += include_directories('base') includes += include_directories('base')

View File

@ -2,14 +2,16 @@
# Copyright(c) 2018 Intel Corporation # Copyright(c) 2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files('ena_ethdev.c', sources = files(
'base/ena_com.c', 'ena_ethdev.c',
'base/ena_eth_com.c') 'base/ena_com.c',
'base/ena_eth_com.c',
)
deps += ['timer'] deps += ['timer']

View File

@ -2,12 +2,14 @@
# Copyright 2018 NXP # Copyright 2018 NXP
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
deps += ['common_dpaax'] deps += ['common_dpaax']
sources = files('enetc_ethdev.c', sources = files(
'enetc_rxtx.c') 'enetc_ethdev.c',
'enetc_rxtx.c',
)
includes += include_directories('base') includes += include_directories('base')

View File

@ -2,40 +2,40 @@
# Copyright(c) 2018 Cisco Systems, Inc. # Copyright(c) 2018 Cisco Systems, Inc.
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files( sources = files(
'base/vnic_cq.c', 'base/vnic_cq.c',
'base/vnic_dev.c', 'base/vnic_dev.c',
'base/vnic_intr.c', 'base/vnic_intr.c',
'base/vnic_rq.c', 'base/vnic_rq.c',
'base/vnic_wq.c', 'base/vnic_wq.c',
'enic_ethdev.c', 'enic_ethdev.c',
'enic_flow.c', 'enic_flow.c',
'enic_fm_flow.c', 'enic_fm_flow.c',
'enic_main.c', 'enic_main.c',
'enic_res.c', 'enic_res.c',
'enic_rxtx.c', 'enic_rxtx.c',
'enic_vf_representor.c', 'enic_vf_representor.c',
) )
deps += ['hash'] deps += ['hash']
includes += include_directories('base') includes += include_directories('base')
# The current implementation assumes 64-bit pointers # The current implementation assumes 64-bit pointers
if cc.get_define('__AVX2__', args: machine_args) != '' and dpdk_conf.get('RTE_ARCH_64') if cc.get_define('__AVX2__', args: machine_args) != '' and dpdk_conf.get('RTE_ARCH_64')
sources += files('enic_rxtx_vec_avx2.c') sources += files('enic_rxtx_vec_avx2.c')
# Build the avx2 handler if the compiler supports it, even though 'machine' # Build the avx2 handler if the compiler supports it, even though 'machine'
# does not. This is to support users who build for the min supported machine # does not. This is to support users who build for the min supported machine
# and need to run the binary on newer CPUs too. # and need to run the binary on newer CPUs too.
# This part is from i40e meson.build # This part is from i40e meson.build
elif cc.has_argument('-mavx2') and dpdk_conf.get('RTE_ARCH_64') elif cc.has_argument('-mavx2') and dpdk_conf.get('RTE_ARCH_64')
enic_avx2_lib = static_library('enic_avx2_lib', enic_avx2_lib = static_library('enic_avx2_lib',
'enic_rxtx_vec_avx2.c', 'enic_rxtx_vec_avx2.c',
dependencies: [static_rte_ethdev, static_rte_bus_pci], dependencies: [static_rte_ethdev, static_rte_bus_pci],
include_directories: includes, include_directories: includes,
c_args: [cflags, '-mavx2']) c_args: [cflags, '-mavx2'])
objs += enic_avx2_lib.extract_objects('enic_rxtx_vec_avx2.c') objs += enic_avx2_lib.extract_objects('enic_rxtx_vec_avx2.c')
endif endif

View File

@ -2,9 +2,9 @@
# Copyright(c) 2018 Intel Corporation # Copyright(c) 2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
cflags += '-std=gnu99' cflags += '-std=gnu99'
@ -12,16 +12,18 @@ cflags += '-D_DEFAULT_SOURCE'
cflags += '-D_XOPEN_SOURCE=700' cflags += '-D_XOPEN_SOURCE=700'
cflags += '-pedantic' cflags += '-pedantic'
if is_linux if is_linux
cflags += '-DLINUX' cflags += '-DLINUX'
else else
cflags += '-DBSD' cflags += '-DBSD'
endif endif
sources = files('failsafe_args.c', sources = files(
'failsafe.c', 'failsafe.c',
'failsafe_eal.c', 'failsafe_args.c',
'failsafe_ether.c', 'failsafe_eal.c',
'failsafe_flow.c', 'failsafe_ether.c',
'failsafe_intr.c', 'failsafe_flow.c',
'failsafe_ops.c', 'failsafe_intr.c',
'failsafe_rxtx.c') 'failsafe_ops.c',
'failsafe_rxtx.c',
)

View File

@ -2,27 +2,27 @@
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
sources = [ sources = [
'fm10k_api.c', 'fm10k_api.c',
'fm10k_common.c', 'fm10k_common.c',
'fm10k_mbx.c', 'fm10k_mbx.c',
'fm10k_pf.c', 'fm10k_pf.c',
'fm10k_tlv.c', 'fm10k_tlv.c',
'fm10k_vf.c' 'fm10k_vf.c'
] ]
error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value', error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
'-Wno-strict-aliasing', '-Wno-format-extra-args', '-Wno-strict-aliasing', '-Wno-format-extra-args',
'-Wno-unused-variable', '-Wno-unused-variable',
'-Wno-implicit-fallthrough' '-Wno-implicit-fallthrough'
] ]
c_args = cflags c_args = cflags
foreach flag: error_cflags foreach flag: error_cflags
if cc.has_argument(flag) if cc.has_argument(flag)
c_args += flag c_args += flag
endif endif
endforeach endforeach
base_lib = static_library('fm10k_base', sources, base_lib = static_library('fm10k_base', sources,
dependencies: static_rte_eal, dependencies: static_rte_eal,
c_args: c_args) c_args: c_args)
base_objs = base_lib.extract_all_objects() base_objs = base_lib.extract_all_objects()

View File

@ -2,20 +2,20 @@
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
subdir('base') subdir('base')
objs = [base_objs] objs = [base_objs]
sources = files( sources = files(
'fm10k_ethdev.c', 'fm10k_ethdev.c',
'fm10k_rxtx.c', 'fm10k_rxtx.c',
) )
if arch_subdir == 'x86' if arch_subdir == 'x86'
sources += files('fm10k_rxtx_vec.c') sources += files('fm10k_rxtx_vec.c')
endif endif
includes += include_directories('base') includes += include_directories('base')

View File

@ -2,17 +2,17 @@
# Copyright(c) 2017 Huawei Technologies Co., Ltd # Copyright(c) 2017 Huawei Technologies Co., Ltd
sources = [ sources = [
'hinic_pmd_api_cmd.c', 'hinic_pmd_api_cmd.c',
'hinic_pmd_cfg.c', 'hinic_pmd_cfg.c',
'hinic_pmd_cmdq.c', 'hinic_pmd_cmdq.c',
'hinic_pmd_eqs.c', 'hinic_pmd_eqs.c',
'hinic_pmd_hwdev.c', 'hinic_pmd_hwdev.c',
'hinic_pmd_hwif.c', 'hinic_pmd_hwif.c',
'hinic_pmd_mgmt.c', 'hinic_pmd_mgmt.c',
'hinic_pmd_niccfg.c', 'hinic_pmd_niccfg.c',
'hinic_pmd_nicio.c', 'hinic_pmd_nicio.c',
'hinic_pmd_wq.c', 'hinic_pmd_wq.c',
'hinic_pmd_mbox.c', 'hinic_pmd_mbox.c',
] ]
extra_flags = [] extra_flags = []
@ -32,6 +32,6 @@ deps += ['hash']
c_args = cflags c_args = cflags
base_lib = static_library('hinic_base', sources, base_lib = static_library('hinic_base', sources,
dependencies: [static_rte_eal, static_rte_ethdev, static_rte_bus_pci, static_rte_hash], dependencies: [static_rte_eal, static_rte_ethdev, static_rte_bus_pci, static_rte_hash],
c_args: c_args) c_args: c_args)
base_objs = base_lib.extract_all_objects() base_objs = base_lib.extract_all_objects()

View File

@ -2,19 +2,19 @@
# Copyright(c) 2017 Huawei Technologies Co., Ltd # Copyright(c) 2017 Huawei Technologies Co., Ltd
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
subdir('base') subdir('base')
objs = [base_objs] objs = [base_objs]
sources = files( sources = files(
'hinic_pmd_ethdev.c', 'hinic_pmd_ethdev.c',
'hinic_pmd_rx.c', 'hinic_pmd_rx.c',
'hinic_pmd_tx.c', 'hinic_pmd_tx.c',
'hinic_pmd_flow.c', 'hinic_pmd_flow.c',
) )
includes += include_directories('base') includes += include_directories('base')

View File

@ -2,38 +2,40 @@
# Copyright(c) 2018-2021 Hisilicon Limited # Copyright(c) 2018-2021 Hisilicon Limited
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
subdir_done() subdir_done()
endif endif
if arch_subdir != 'x86' and arch_subdir != 'arm' or not dpdk_conf.get('RTE_ARCH_64') if arch_subdir != 'x86' and arch_subdir != 'arm' or not dpdk_conf.get('RTE_ARCH_64')
build = false build = false
reason = 'only supported on x86_64 and aarch64' reason = 'only supported on x86_64 and aarch64'
subdir_done() subdir_done()
endif endif
sources = files('hns3_cmd.c', sources = files(
'hns3_dcb.c', 'hns3_cmd.c',
'hns3_intr.c', 'hns3_dcb.c',
'hns3_ethdev.c', 'hns3_intr.c',
'hns3_ethdev_vf.c', 'hns3_ethdev.c',
'hns3_fdir.c', 'hns3_ethdev_vf.c',
'hns3_flow.c', 'hns3_fdir.c',
'hns3_mbx.c', 'hns3_flow.c',
'hns3_regs.c', 'hns3_mbx.c',
'hns3_rss.c', 'hns3_regs.c',
'hns3_rxtx.c', 'hns3_rss.c',
'hns3_stats.c', 'hns3_rxtx.c',
'hns3_mp.c', 'hns3_stats.c',
'hns3_tm.c', 'hns3_mp.c',
'hns3_ptp.c') 'hns3_tm.c',
'hns3_ptp.c',
)
deps += ['hash'] deps += ['hash']
if arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') if arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64')
sources += files('hns3_rxtx_vec.c') sources += files('hns3_rxtx_vec.c')
if cc.get_define('__ARM_FEATURE_SVE', args: machine_args) != '' if cc.get_define('__ARM_FEATURE_SVE', args: machine_args) != ''
sources += files('hns3_rxtx_vec_sve.c') sources += files('hns3_rxtx_vec_sve.c')
endif endif
endif endif

View File

@ -2,29 +2,29 @@
# Copyright(c) 2017-2020 Intel Corporation # Copyright(c) 2017-2020 Intel Corporation
sources = [ sources = [
'i40e_adminq.c', 'i40e_adminq.c',
'i40e_common.c', 'i40e_common.c',
'i40e_dcb.c', 'i40e_dcb.c',
'i40e_diag.c', 'i40e_diag.c',
'i40e_hmc.c', 'i40e_hmc.c',
'i40e_lan_hmc.c', 'i40e_lan_hmc.c',
'i40e_nvm.c' 'i40e_nvm.c'
] ]
error_cflags = ['-Wno-sign-compare', '-Wno-unused-value', error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
'-Wno-format', '-Wno-format-security', '-Wno-format', '-Wno-format-security',
'-Wno-format-nonliteral', '-Wno-format-nonliteral',
'-Wno-strict-aliasing', '-Wno-unused-but-set-variable', '-Wno-strict-aliasing', '-Wno-unused-but-set-variable',
'-Wno-unused-parameter', '-Wno-unused-parameter',
] ]
c_args = cflags c_args = cflags
foreach flag: error_cflags foreach flag: error_cflags
if cc.has_argument(flag) if cc.has_argument(flag)
c_args += flag c_args += flag
endif endif
endforeach endforeach
base_lib = static_library('i40e_base', sources, base_lib = static_library('i40e_base', sources,
dependencies: static_rte_eal, dependencies: static_rte_eal,
c_args: c_args) c_args: c_args)
base_objs = base_lib.extract_all_objects() base_objs = base_lib.extract_all_objects()

View File

@ -2,76 +2,76 @@
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
cflags += ['-DPF_DRIVER', cflags += ['-DPF_DRIVER',
'-DVF_DRIVER', '-DVF_DRIVER',
'-DINTEGRATED_VF', '-DINTEGRATED_VF',
'-DX722_A0_SUPPORT'] '-DX722_A0_SUPPORT']
subdir('base') subdir('base')
objs = [base_objs] objs = [base_objs]
sources = files( sources = files(
'i40e_ethdev.c', 'i40e_ethdev.c',
'i40e_rxtx.c', 'i40e_rxtx.c',
'i40e_ethdev_vf.c', 'i40e_ethdev_vf.c',
'i40e_pf.c', 'i40e_pf.c',
'i40e_fdir.c', 'i40e_fdir.c',
'i40e_flow.c', 'i40e_flow.c',
'i40e_tm.c', 'i40e_tm.c',
'i40e_hash.c', 'i40e_hash.c',
'i40e_vf_representor.c', 'i40e_vf_representor.c',
'rte_pmd_i40e.c' 'rte_pmd_i40e.c',
) )
deps += ['hash'] deps += ['hash']
includes += include_directories('base') includes += include_directories('base')
if arch_subdir == 'x86' if arch_subdir == 'x86'
sources += files('i40e_rxtx_vec_sse.c') sources += files('i40e_rxtx_vec_sse.c')
if is_windows and cc.get_id() != 'clang' if is_windows and cc.get_id() != 'clang'
cflags += ['-fno-asynchronous-unwind-tables'] cflags += ['-fno-asynchronous-unwind-tables']
endif endif
# compile AVX2 version if either: # compile AVX2 version if either:
# a. we have AVX supported in minimum instruction set baseline # a. we have AVX supported in minimum instruction set baseline
# b. it's not minimum instruction set, but supported by compiler # b. it's not minimum instruction set, but supported by compiler
if cc.get_define('__AVX2__', args: machine_args) != '' if cc.get_define('__AVX2__', args: machine_args) != ''
cflags += ['-DCC_AVX2_SUPPORT'] cflags += ['-DCC_AVX2_SUPPORT']
sources += files('i40e_rxtx_vec_avx2.c') sources += files('i40e_rxtx_vec_avx2.c')
elif cc.has_argument('-mavx2') elif cc.has_argument('-mavx2')
cflags += ['-DCC_AVX2_SUPPORT'] cflags += ['-DCC_AVX2_SUPPORT']
i40e_avx2_lib = static_library('i40e_avx2_lib', i40e_avx2_lib = static_library('i40e_avx2_lib',
'i40e_rxtx_vec_avx2.c', 'i40e_rxtx_vec_avx2.c',
dependencies: [static_rte_ethdev, dependencies: [static_rte_ethdev,
static_rte_kvargs, static_rte_hash], static_rte_kvargs, static_rte_hash],
include_directories: includes, include_directories: includes,
c_args: [cflags, '-mavx2']) c_args: [cflags, '-mavx2'])
objs += i40e_avx2_lib.extract_objects('i40e_rxtx_vec_avx2.c') objs += i40e_avx2_lib.extract_objects('i40e_rxtx_vec_avx2.c')
endif endif
i40e_avx512_cpu_support = ( i40e_avx512_cpu_support = (
cc.get_define('__AVX512F__', args: machine_args) != '' and cc.get_define('__AVX512F__', args: machine_args) != '' and
cc.get_define('__AVX512BW__', args: machine_args) != '') cc.get_define('__AVX512BW__', args: machine_args) != '')
i40e_avx512_cc_support = ( i40e_avx512_cc_support = (
not machine_args.contains('-mno-avx512f') and not machine_args.contains('-mno-avx512f') and
cc.has_argument('-mavx512f') and cc.has_argument('-mavx512f') and
cc.has_argument('-mavx512bw')) cc.has_argument('-mavx512bw'))
if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true
cflags += ['-DCC_AVX512_SUPPORT'] cflags += ['-DCC_AVX512_SUPPORT']
avx512_args = [cflags, '-mavx512f', '-mavx512bw'] avx512_args = [cflags, '-mavx512f', '-mavx512bw']
if cc.has_argument('-march=skylake-avx512') if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512' avx512_args += '-march=skylake-avx512'
endif endif
i40e_avx512_lib = static_library('i40e_avx512_lib', i40e_avx512_lib = static_library('i40e_avx512_lib',
'i40e_rxtx_vec_avx512.c', 'i40e_rxtx_vec_avx512.c',
dependencies: [static_rte_ethdev, dependencies: [static_rte_ethdev,
static_rte_kvargs, static_rte_hash], static_rte_kvargs, static_rte_hash],
include_directories: includes, include_directories: includes,
c_args: avx512_args) c_args: avx512_args)
objs += i40e_avx512_lib.extract_objects('i40e_rxtx_vec_avx512.c') objs += i40e_avx512_lib.extract_objects('i40e_rxtx_vec_avx512.c')
endif endif
elif arch_subdir == 'ppc' elif arch_subdir == 'ppc'
sources += files('i40e_rxtx_vec_altivec.c') sources += files('i40e_rxtx_vec_altivec.c')
elif arch_subdir == 'arm' elif arch_subdir == 'arm'

View File

@ -2,9 +2,9 @@
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
cflags += ['-Wno-strict-aliasing'] cflags += ['-Wno-strict-aliasing']
@ -13,57 +13,57 @@ includes += include_directories('../../common/iavf')
deps += ['common_iavf'] deps += ['common_iavf']
sources = files( sources = files(
'iavf_ethdev.c', 'iavf_ethdev.c',
'iavf_rxtx.c', 'iavf_rxtx.c',
'iavf_vchnl.c', 'iavf_vchnl.c',
'iavf_generic_flow.c', 'iavf_generic_flow.c',
'iavf_fdir.c', 'iavf_fdir.c',
'iavf_hash.c', 'iavf_hash.c',
) )
if arch_subdir == 'x86' if arch_subdir == 'x86'
sources += files('iavf_rxtx_vec_sse.c') sources += files('iavf_rxtx_vec_sse.c')
# compile AVX2 version if either: # compile AVX2 version if either:
# a. we have AVX supported in minimum instruction set baseline # a. we have AVX supported in minimum instruction set baseline
# b. it's not minimum instruction set, but supported by compiler # b. it's not minimum instruction set, but supported by compiler
if cc.get_define('__AVX2__', args: machine_args) != '' if cc.get_define('__AVX2__', args: machine_args) != ''
cflags += ['-DCC_AVX2_SUPPORT'] cflags += ['-DCC_AVX2_SUPPORT']
sources += files('iavf_rxtx_vec_avx2.c') sources += files('iavf_rxtx_vec_avx2.c')
elif cc.has_argument('-mavx2') elif cc.has_argument('-mavx2')
cflags += ['-DCC_AVX2_SUPPORT'] cflags += ['-DCC_AVX2_SUPPORT']
iavf_avx2_lib = static_library('iavf_avx2_lib', iavf_avx2_lib = static_library('iavf_avx2_lib',
'iavf_rxtx_vec_avx2.c', 'iavf_rxtx_vec_avx2.c',
dependencies: [static_rte_ethdev, dependencies: [static_rte_ethdev,
static_rte_kvargs, static_rte_hash], static_rte_kvargs, static_rte_hash],
include_directories: includes, include_directories: includes,
c_args: [cflags, '-mavx2']) c_args: [cflags, '-mavx2'])
objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c') objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c')
endif endif
iavf_avx512_cpu_support = ( iavf_avx512_cpu_support = (
cc.get_define('__AVX512F__', args: machine_args) != '' and cc.get_define('__AVX512F__', args: machine_args) != '' and
cc.get_define('__AVX512BW__', args: machine_args) != '') cc.get_define('__AVX512BW__', args: machine_args) != '')
iavf_avx512_cc_support = ( iavf_avx512_cc_support = (
not machine_args.contains('-mno-avx512f') and not machine_args.contains('-mno-avx512f') and
cc.has_argument('-mavx512f') and cc.has_argument('-mavx512f') and
cc.has_argument('-mavx512bw')) cc.has_argument('-mavx512bw'))
if iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true if iavf_avx512_cpu_support == true or iavf_avx512_cc_support == true
cflags += ['-DCC_AVX512_SUPPORT'] cflags += ['-DCC_AVX512_SUPPORT']
avx512_args = [cflags, '-mavx512f', '-mavx512bw'] avx512_args = [cflags, '-mavx512f', '-mavx512bw']
if cc.has_argument('-march=skylake-avx512') if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512' avx512_args += '-march=skylake-avx512'
endif endif
iavf_avx512_lib = static_library('iavf_avx512_lib', iavf_avx512_lib = static_library('iavf_avx512_lib',
'iavf_rxtx_vec_avx512.c', 'iavf_rxtx_vec_avx512.c',
dependencies: [static_rte_ethdev, dependencies: [static_rte_ethdev,
static_rte_kvargs, static_rte_hash], static_rte_kvargs, static_rte_hash],
include_directories: includes, include_directories: includes,
c_args: avx512_args) c_args: avx512_args)
objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c') objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c')
endif endif
endif endif
headers = files('rte_pmd_iavf.h') headers = files('rte_pmd_iavf.h')

View File

@ -2,39 +2,40 @@
# Copyright(c) 2018-2021 Intel Corporation # Copyright(c) 2018-2021 Intel Corporation
sources = [ sources = [
'ice_controlq.c', 'ice_controlq.c',
'ice_common.c', 'ice_common.c',
'ice_sched.c', 'ice_sched.c',
'ice_switch.c', 'ice_switch.c',
'ice_nvm.c', 'ice_nvm.c',
'ice_flex_pipe.c', 'ice_flex_pipe.c',
'ice_flow.c', 'ice_flow.c',
'ice_dcb.c', 'ice_dcb.c',
'ice_fdir.c', 'ice_fdir.c',
'ice_acl.c', 'ice_acl.c',
'ice_acl_ctrl.c', 'ice_acl_ctrl.c',
'ice_vlan_mode.c', 'ice_vlan_mode.c',
] ]
error_cflags = ['-Wno-unused-value', error_cflags = [
'-Wno-unused-but-set-variable', '-Wno-unused-value',
'-Wno-unused-variable', '-Wno-unused-but-set-variable',
'-Wno-unused-parameter', '-Wno-unused-variable',
'-Wno-unused-parameter',
] ]
if is_windows and cc.get_id() != 'clang' if is_windows and cc.get_id() != 'clang'
cflags += ['-fno-asynchronous-unwind-tables'] cflags += ['-fno-asynchronous-unwind-tables']
endif endif
c_args = cflags c_args = cflags
foreach flag: error_cflags foreach flag: error_cflags
if cc.has_argument(flag) if cc.has_argument(flag)
c_args += flag c_args += flag
endif endif
endforeach endforeach
base_lib = static_library('ice_base', sources, base_lib = static_library('ice_base', sources,
dependencies: static_rte_eal, dependencies: static_rte_eal,
c_args: c_args) c_args: c_args)
base_objs = base_lib.extract_all_objects() base_objs = base_lib.extract_all_objects()

View File

@ -5,70 +5,71 @@ subdir('base')
objs = [base_objs] objs = [base_objs]
sources = files( sources = files(
'ice_ethdev.c', 'ice_acl_filter.c',
'ice_rxtx.c', 'ice_ethdev.c',
'ice_switch_filter.c', 'ice_fdir_filter.c',
'ice_generic_flow.c', 'ice_generic_flow.c',
'ice_fdir_filter.c', 'ice_hash.c',
'ice_hash.c', 'ice_rxtx.c',
'ice_acl_filter.c' 'ice_switch_filter.c',
) )
deps += ['hash', 'net', 'common_iavf'] deps += ['hash', 'net', 'common_iavf']
includes += include_directories('base', '../../common/iavf') includes += include_directories('base', '../../common/iavf')
if arch_subdir == 'x86' if arch_subdir == 'x86'
sources += files('ice_rxtx_vec_sse.c') sources += files('ice_rxtx_vec_sse.c')
if is_windows and cc.get_id() != 'clang' if is_windows and cc.get_id() != 'clang'
cflags += ['-fno-asynchronous-unwind-tables'] cflags += ['-fno-asynchronous-unwind-tables']
endif endif
# compile AVX2 version if either: # compile AVX2 version if either:
# a. we have AVX supported in minimum instruction set baseline # a. we have AVX supported in minimum instruction set baseline
# b. it's not minimum instruction set, but supported by compiler # b. it's not minimum instruction set, but supported by compiler
if cc.get_define('__AVX2__', args: machine_args) != '' if cc.get_define('__AVX2__', args: machine_args) != ''
cflags += ['-DCC_AVX2_SUPPORT'] cflags += ['-DCC_AVX2_SUPPORT']
sources += files('ice_rxtx_vec_avx2.c') sources += files('ice_rxtx_vec_avx2.c')
elif cc.has_argument('-mavx2') elif cc.has_argument('-mavx2')
cflags += ['-DCC_AVX2_SUPPORT'] cflags += ['-DCC_AVX2_SUPPORT']
ice_avx2_lib = static_library('ice_avx2_lib', ice_avx2_lib = static_library('ice_avx2_lib',
'ice_rxtx_vec_avx2.c', 'ice_rxtx_vec_avx2.c',
dependencies: [static_rte_ethdev, dependencies: [static_rte_ethdev, static_rte_kvargs, static_rte_hash],
static_rte_kvargs, static_rte_hash], include_directories: includes,
include_directories: includes, c_args: [cflags, '-mavx2'])
c_args: [cflags, '-mavx2']) objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c')
objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') endif
endif
ice_avx512_cpu_support = ( ice_avx512_cpu_support = (
cc.get_define('__AVX512F__', args: machine_args) != '' and cc.get_define('__AVX512F__', args: machine_args) != '' and
cc.get_define('__AVX512BW__', args: machine_args) != '') cc.get_define('__AVX512BW__', args: machine_args) != ''
)
ice_avx512_cc_support = ( ice_avx512_cc_support = (
not machine_args.contains('-mno-avx512f') and not machine_args.contains('-mno-avx512f') and
cc.has_argument('-mavx512f') and cc.has_argument('-mavx512f') and
cc.has_argument('-mavx512bw')) cc.has_argument('-mavx512bw')
)
if ice_avx512_cpu_support == true or ice_avx512_cc_support == true if ice_avx512_cpu_support == true or ice_avx512_cc_support == true
cflags += ['-DCC_AVX512_SUPPORT'] cflags += ['-DCC_AVX512_SUPPORT']
avx512_args = [cflags, '-mavx512f', '-mavx512bw'] avx512_args = [cflags, '-mavx512f', '-mavx512bw']
if cc.has_argument('-march=skylake-avx512') if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512' avx512_args += '-march=skylake-avx512'
endif endif
ice_avx512_lib = static_library('ice_avx512_lib', ice_avx512_lib = static_library('ice_avx512_lib',
'ice_rxtx_vec_avx512.c', 'ice_rxtx_vec_avx512.c',
dependencies: [static_rte_ethdev, dependencies: [static_rte_ethdev,
static_rte_kvargs, static_rte_hash], static_rte_kvargs, static_rte_hash],
include_directories: includes, include_directories: includes,
c_args: avx512_args) c_args: avx512_args)
objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c') objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c')
endif endif
endif endif
sources += files('ice_dcf.c', sources += files('ice_dcf.c',
'ice_dcf_vf_representor.c', 'ice_dcf_vf_representor.c',
'ice_dcf_ethdev.c', 'ice_dcf_ethdev.c',
'ice_dcf_parent.c') 'ice_dcf_parent.c')
headers = files('rte_pmd_ice.h') headers = files('rte_pmd_ice.h')

View File

@ -2,18 +2,18 @@
# Copyright(c) 2019-2020 Intel Corporation # Copyright(c) 2019-2020 Intel Corporation
sources = [ sources = [
'igc_api.c', 'igc_api.c',
'igc_base.c', 'igc_base.c',
'igc_i225.c', 'igc_i225.c',
'igc_mac.c', 'igc_mac.c',
'igc_manage.c', 'igc_manage.c',
'igc_nvm.c', 'igc_nvm.c',
'igc_osdep.c', 'igc_osdep.c',
'igc_phy.c', 'igc_phy.c',
] ]
base_lib = static_library('igc_base', sources, base_lib = static_library('igc_base', sources,
dependencies: static_rte_eal, dependencies: static_rte_eal,
c_args: cflags) c_args: cflags)
base_objs = base_lib.extract_all_objects() base_objs = base_lib.extract_all_objects()

View File

@ -2,20 +2,20 @@
# Copyright(c) 2019-2020 Intel Corporation # Copyright(c) 2019-2020 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
subdir('base') subdir('base')
objs = [base_objs] objs = [base_objs]
sources = files( sources = files(
'igc_logs.c', 'igc_ethdev.c',
'igc_ethdev.c', 'igc_logs.c',
'igc_txrx.c', 'igc_filter.c',
'igc_filter.c', 'igc_flow.c',
'igc_flow.c' 'igc_txrx.c',
) )
includes += include_directories('base') includes += include_directories('base')

View File

@ -2,17 +2,17 @@
# Copyright(c) 2019 Pensando # Copyright(c) 2019 Pensando
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files( sources = files(
'ionic_mac_api.c', 'ionic_dev.c',
'ionic_rx_filter.c', 'ionic_ethdev.c',
'ionic_rxtx.c', 'ionic_lif.c',
'ionic_dev.c', 'ionic_mac_api.c',
'ionic_ethdev.c', 'ionic_main.c',
'ionic_lif.c', 'ionic_rx_filter.c',
'ionic_main.c' 'ionic_rxtx.c',
) )

View File

@ -2,9 +2,9 @@
# Copyright(c) 2019 Intel Corporation # Copyright(c) 2019 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
# #
@ -16,15 +16,17 @@ endif
# #
if has_libfdt == 0 if has_libfdt == 0
build = false build = false
reason = 'missing dependency, "libfdt"' reason = 'missing dependency, "libfdt"'
subdir_done() subdir_done()
endif endif
includes += include_directories('../../raw/ifpga') includes += include_directories('../../raw/ifpga')
sources += files('ipn3ke_ethdev.c', sources += files(
'ipn3ke_representor.c', 'ipn3ke_ethdev.c',
'ipn3ke_tm.c', 'ipn3ke_flow.c',
'ipn3ke_flow.c') 'ipn3ke_representor.c',
'ipn3ke_tm.c',
)
deps += ['bus_ifpga', 'ethdev', 'sched'] deps += ['bus_ifpga', 'ethdev', 'sched']

View File

@ -2,33 +2,33 @@
# Copyright(c) 2017-2020 Intel Corporation # Copyright(c) 2017-2020 Intel Corporation
sources = [ sources = [
'ixgbe_82598.c', 'ixgbe_82598.c',
'ixgbe_82599.c', 'ixgbe_82599.c',
'ixgbe_api.c', 'ixgbe_api.c',
'ixgbe_common.c', 'ixgbe_common.c',
'ixgbe_dcb_82598.c', 'ixgbe_dcb_82598.c',
'ixgbe_dcb_82599.c', 'ixgbe_dcb_82599.c',
'ixgbe_dcb.c', 'ixgbe_dcb.c',
'ixgbe_hv_vf.c', 'ixgbe_hv_vf.c',
'ixgbe_mbx.c', 'ixgbe_mbx.c',
'ixgbe_phy.c', 'ixgbe_phy.c',
'ixgbe_vf.c', 'ixgbe_vf.c',
'ixgbe_x540.c', 'ixgbe_x540.c',
'ixgbe_x550.c' 'ixgbe_x550.c'
] ]
error_cflags = ['-Wno-unused-value', error_cflags = ['-Wno-unused-value',
'-Wno-unused-but-set-variable', '-Wno-unused-but-set-variable',
'-Wno-unused-parameter', '-Wno-unused-parameter',
] ]
c_args = cflags c_args = cflags
foreach flag: error_cflags foreach flag: error_cflags
if cc.has_argument(flag) if cc.has_argument(flag)
c_args += flag c_args += flag
endif endif
endforeach endforeach
base_lib = static_library('ixgbe_base', sources, base_lib = static_library('ixgbe_base', sources,
dependencies: static_rte_eal, dependencies: static_rte_eal,
c_args: c_args) c_args: c_args)
base_objs = base_lib.extract_all_objects() base_objs = base_lib.extract_all_objects()

View File

@ -2,9 +2,9 @@
# Copyright(c) 2017 Intel Corporation # Copyright(c) 2017 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS'] cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS']
@ -13,25 +13,25 @@ subdir('base')
objs = [base_objs] objs = [base_objs]
sources = files( sources = files(
'ixgbe_82599_bypass.c', 'ixgbe_82599_bypass.c',
'ixgbe_bypass.c', 'ixgbe_bypass.c',
'ixgbe_ethdev.c', 'ixgbe_ethdev.c',
'ixgbe_fdir.c', 'ixgbe_fdir.c',
'ixgbe_flow.c', 'ixgbe_flow.c',
'ixgbe_ipsec.c', 'ixgbe_ipsec.c',
'ixgbe_pf.c', 'ixgbe_pf.c',
'ixgbe_rxtx.c', 'ixgbe_rxtx.c',
'ixgbe_tm.c', 'ixgbe_tm.c',
'ixgbe_vf_representor.c', 'ixgbe_vf_representor.c',
'rte_pmd_ixgbe.c' 'rte_pmd_ixgbe.c',
) )
deps += ['hash', 'security'] deps += ['hash', 'security']
if arch_subdir == 'x86' if arch_subdir == 'x86'
sources += files('ixgbe_rxtx_vec_sse.c') sources += files('ixgbe_rxtx_vec_sse.c')
elif arch_subdir == 'arm' elif arch_subdir == 'arm'
sources += files('ixgbe_rxtx_vec_neon.c') sources += files('ixgbe_rxtx_vec_neon.c')
endif endif
includes += include_directories('base') includes += include_directories('base')

View File

@ -2,9 +2,9 @@
# Copyright(c) 2018 Intel Corporation # Copyright(c) 2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
# this driver can be built if-and-only-if KNI library is buildable # this driver can be built if-and-only-if KNI library is buildable

View File

@ -2,13 +2,15 @@
# Copyright(c) 2018 Intel Corporation # Copyright(c) 2018 Intel Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
sources = files('base/lio_23xx_vf.c', sources = files(
'base/lio_mbox.c', 'base/lio_23xx_vf.c',
'lio_ethdev.c', 'base/lio_mbox.c',
'lio_rxtx.c') 'lio_ethdev.c',
'lio_rxtx.c',
)
includes += include_directories('base') includes += include_directories('base')

View File

@ -2,11 +2,13 @@
# Copyright 2018-2019 Cisco Systems, Inc. All rights reserved. # Copyright 2018-2019 Cisco Systems, Inc. All rights reserved.
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
endif endif
sources = files('rte_eth_memif.c', sources = files(
'memif_socket.c') 'memif_socket.c',
'rte_eth_memif.c',
)
deps += ['hash'] deps += ['hash']

View File

@ -3,9 +3,9 @@
# Copyright 2018 Mellanox Technologies, Ltd # Copyright 2018 Mellanox Technologies, Ltd
if not is_linux if not is_linux
build = false build = false
reason = 'only supported on Linux' reason = 'only supported on Linux'
subdir_done() subdir_done()
endif endif
static_ibverbs = (get_option('ibverbs_link') == 'static') static_ibverbs = (get_option('ibverbs_link') == 'static')
@ -14,74 +14,74 @@ LIB_GLUE_BASE = 'librte_net_mlx4_glue.so'
LIB_GLUE_VERSION = abi_version LIB_GLUE_VERSION = abi_version
LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION LIB_GLUE = LIB_GLUE_BASE + '.' + LIB_GLUE_VERSION
if dlopen_ibverbs if dlopen_ibverbs
dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1) dpdk_conf.set('RTE_IBVERBS_LINK_DLOPEN', 1)
cflags += [ cflags += [
'-DMLX4_GLUE="@0@"'.format(LIB_GLUE), '-DMLX4_GLUE="@0@"'.format(LIB_GLUE),
'-DMLX4_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION), '-DMLX4_GLUE_VERSION="@0@"'.format(LIB_GLUE_VERSION),
] ]
endif endif
libnames = [ 'mlx4', 'ibverbs' ] libnames = [ 'mlx4', 'ibverbs' ]
libs = [] libs = []
foreach libname:libnames foreach libname:libnames
lib = dependency('lib' + libname, static:static_ibverbs, lib = dependency('lib' + libname, static:static_ibverbs,
required:false, method: 'pkg-config') required:false, method: 'pkg-config')
if not lib.found() and not static_ibverbs if not lib.found() and not static_ibverbs
lib = cc.find_library(libname, required:false) lib = cc.find_library(libname, required:false)
endif endif
if lib.found() if lib.found()
libs += lib libs += lib
if not static_ibverbs and not dlopen_ibverbs if not static_ibverbs and not dlopen_ibverbs
ext_deps += lib ext_deps += lib
endif endif
else else
build = false build = false
reason = 'missing dependency, "' + libname + '"' reason = 'missing dependency, "' + libname + '"'
subdir_done() subdir_done()
endif endif
endforeach endforeach
if static_ibverbs or dlopen_ibverbs if static_ibverbs or dlopen_ibverbs
# Build without adding shared libs to Requires.private # Build without adding shared libs to Requires.private
ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout() ibv_cflags = run_command(pkgconf, '--cflags', 'libibverbs').stdout()
ext_deps += declare_dependency(compile_args: ibv_cflags.split()) ext_deps += declare_dependency(compile_args: ibv_cflags.split())
endif endif
if static_ibverbs if static_ibverbs
# Add static deps ldflags to internal apps and Libs.private # Add static deps ldflags to internal apps and Libs.private
ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout() ibv_ldflags = run_command(ldflags_ibverbs_static, check:true).stdout()
ext_deps += declare_dependency(link_args:ibv_ldflags.split()) ext_deps += declare_dependency(link_args:ibv_ldflags.split())
endif endif
sources = files( sources = files(
'mlx4.c', 'mlx4.c',
'mlx4_ethdev.c', 'mlx4_ethdev.c',
'mlx4_flow.c', 'mlx4_flow.c',
'mlx4_intr.c', 'mlx4_intr.c',
'mlx4_mp.c', 'mlx4_mp.c',
'mlx4_mr.c', 'mlx4_mr.c',
'mlx4_rxq.c', 'mlx4_rxq.c',
'mlx4_rxtx.c', 'mlx4_rxtx.c',
'mlx4_txq.c', 'mlx4_txq.c',
'mlx4_utils.c', 'mlx4_utils.c',
) )
if not dlopen_ibverbs if not dlopen_ibverbs
sources += files('mlx4_glue.c') sources += files('mlx4_glue.c')
endif endif
cflags_options = [ cflags_options = [
'-std=c11', '-std=c11',
'-Wno-strict-prototypes', '-Wno-strict-prototypes',
'-D_BSD_SOURCE', '-D_BSD_SOURCE',
'-D_DEFAULT_SOURCE', '-D_DEFAULT_SOURCE',
'-D_XOPEN_SOURCE=600' '-D_XOPEN_SOURCE=600',
] ]
foreach option:cflags_options foreach option:cflags_options
if cc.has_argument(option) if cc.has_argument(option)
cflags += option cflags += option
endif endif
endforeach endforeach
if get_option('buildtype').contains('debug') if get_option('buildtype').contains('debug')
cflags += [ '-pedantic', '-DPEDANTIC' ] cflags += [ '-pedantic', '-DPEDANTIC' ]
else else
cflags += [ '-UPEDANTIC' ] cflags += [ '-UPEDANTIC' ]
endif endif
# To maintain the compatibility with the make build system # To maintain the compatibility with the make build system
# mlx4_autoconf.h file is still generated. # mlx4_autoconf.h file is still generated.
@ -90,49 +90,49 @@ endif
# "symbol to search", "struct member to search" ] # "symbol to search", "struct member to search" ]
# #
has_member_args = [ has_member_args = [
[ 'HAVE_IBV_MLX4_WQE_LSO_SEG', 'infiniband/mlx4dv.h', [ 'HAVE_IBV_MLX4_WQE_LSO_SEG', 'infiniband/mlx4dv.h',
'struct mlx4_wqe_lso_seg', 'mss_hdr_size' ], 'struct mlx4_wqe_lso_seg', 'mss_hdr_size' ],
] ]
# input array for meson symbol search: # input array for meson symbol search:
# [ "MACRO to define if found", "header for the search", # [ "MACRO to define if found", "header for the search",
# "symbol to search" ] # "symbol to search" ]
has_sym_args = [ has_sym_args = [
[ 'HAVE_IBV_MLX4_BUF_ALLOCATORS', 'infiniband/mlx4dv.h', [ 'HAVE_IBV_MLX4_BUF_ALLOCATORS', 'infiniband/mlx4dv.h',
'MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS' ], 'MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS' ],
[ 'HAVE_IBV_MLX4_UAR_MMAP_OFFSET', 'infiniband/mlx4dv.h', [ 'HAVE_IBV_MLX4_UAR_MMAP_OFFSET', 'infiniband/mlx4dv.h',
'MLX4DV_QP_MASK_UAR_MMAP_OFFSET' ], 'MLX4DV_QP_MASK_UAR_MMAP_OFFSET' ],
] ]
config = configuration_data() config = configuration_data()
foreach arg:has_sym_args foreach arg:has_sym_args
config.set(arg[0], cc.has_header_symbol(arg[1], arg[2], config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
dependencies: libs)) dependencies: libs))
endforeach endforeach
foreach arg:has_member_args foreach arg:has_member_args
file_prefix = '#include <' + arg[1] + '>' file_prefix = '#include <' + arg[1] + '>'
config.set(arg[0], cc.has_member(arg[2], arg[3], config.set(arg[0], cc.has_member(arg[2], arg[3],
prefix: file_prefix, dependencies: libs)) prefix: file_prefix, dependencies: libs))
endforeach endforeach
configure_file(output : 'mlx4_autoconf.h', configuration : config) configure_file(output : 'mlx4_autoconf.h', configuration : config)
# Build Glue Library # Build Glue Library
if dlopen_ibverbs if dlopen_ibverbs
dlopen_name = 'mlx4_glue' dlopen_name = 'mlx4_glue'
dlopen_lib_name = 'rte_net_' + dlopen_name dlopen_lib_name = 'rte_net_' + dlopen_name
dlopen_so_version = LIB_GLUE_VERSION dlopen_so_version = LIB_GLUE_VERSION
dlopen_sources = files('mlx4_glue.c') dlopen_sources = files('mlx4_glue.c')
dlopen_install_dir = [ eal_pmd_path + '-glue' ] dlopen_install_dir = [ eal_pmd_path + '-glue' ]
shared_lib = shared_library( shared_lib = shared_library(
dlopen_lib_name, dlopen_lib_name,
dlopen_sources, dlopen_sources,
include_directories: global_inc, include_directories: global_inc,
c_args: cflags, c_args: cflags,
dependencies: libs, dependencies: libs,
link_args: [ link_args: [
'-Wl,-export-dynamic', '-Wl,-export-dynamic',
'-Wl,-h,@0@'.format(LIB_GLUE), '-Wl,-h,@0@'.format(LIB_GLUE),
], ],
soversion: dlopen_so_version, soversion: dlopen_so_version,
install: true, install: true,
install_dir: dlopen_install_dir, install_dir: dlopen_install_dir,
) )
endif endif

View File

@ -3,12 +3,12 @@
includes += include_directories('.') includes += include_directories('.')
sources += files( sources += files(
'mlx5_socket.c', 'mlx5_socket.c',
'mlx5_os.c', 'mlx5_os.c',
'mlx5_ethdev_os.c', 'mlx5_ethdev_os.c',
'mlx5_verbs.c', 'mlx5_verbs.c',
'mlx5_mp_os.c', 'mlx5_mp_os.c',
'mlx5_vlan_os.c', 'mlx5_vlan_os.c',
'mlx5_flow_os.c', 'mlx5_flow_os.c',
) )

View File

@ -3,66 +3,66 @@
# Copyright 2018 Mellanox Technologies, Ltd # Copyright 2018 Mellanox Technologies, Ltd
if not (is_linux or is_windows) if not (is_linux or is_windows)
build = false build = false
reason = 'only supported on Linux and Windows' reason = 'only supported on Linux and Windows'
subdir_done() subdir_done()
endif endif
deps += ['hash', 'common_mlx5'] deps += ['hash', 'common_mlx5']
sources = files( sources = files(
'mlx5.c', 'mlx5.c',
'mlx5_ethdev.c', 'mlx5_ethdev.c',
'mlx5_flow.c', 'mlx5_flow.c',
'mlx5_flow_meter.c', 'mlx5_flow_meter.c',
'mlx5_flow_dv.c', 'mlx5_flow_dv.c',
'mlx5_flow_age.c', 'mlx5_flow_age.c',
'mlx5_mac.c', 'mlx5_mac.c',
'mlx5_mr.c', 'mlx5_mr.c',
'mlx5_rss.c', 'mlx5_rss.c',
'mlx5_rx.c', 'mlx5_rx.c',
'mlx5_rxmode.c', 'mlx5_rxmode.c',
'mlx5_rxq.c', 'mlx5_rxq.c',
'mlx5_rxtx.c', 'mlx5_rxtx.c',
'mlx5_stats.c', 'mlx5_stats.c',
'mlx5_trigger.c', 'mlx5_trigger.c',
'mlx5_tx.c', 'mlx5_tx.c',
'mlx5_tx_empw.c', 'mlx5_tx_empw.c',
'mlx5_tx_mpw.c', 'mlx5_tx_mpw.c',
'mlx5_tx_nompw.c', 'mlx5_tx_nompw.c',
'mlx5_tx_txpp.c', 'mlx5_tx_txpp.c',
'mlx5_txq.c', 'mlx5_txq.c',
'mlx5_txpp.c', 'mlx5_txpp.c',
'mlx5_vlan.c', 'mlx5_vlan.c',
'mlx5_utils.c', 'mlx5_utils.c',
'mlx5_devx.c', 'mlx5_devx.c',
) )
if is_linux if is_linux
sources += files( sources += files(
'mlx5_flow_verbs.c', 'mlx5_flow_verbs.c',
) )
if (dpdk_conf.has('RTE_ARCH_X86_64') if (dpdk_conf.has('RTE_ARCH_X86_64')
or dpdk_conf.has('RTE_ARCH_ARM64') or dpdk_conf.has('RTE_ARCH_ARM64')
or dpdk_conf.has('RTE_ARCH_PPC_64')) or dpdk_conf.has('RTE_ARCH_PPC_64'))
sources += files('mlx5_rxtx_vec.c') sources += files('mlx5_rxtx_vec.c')
endif endif
endif endif
cflags_options = [ cflags_options = [
'-std=c11', '-std=c11',
'-Wno-strict-prototypes', '-Wno-strict-prototypes',
'-D_BSD_SOURCE', '-D_BSD_SOURCE',
'-D_DEFAULT_SOURCE', '-D_DEFAULT_SOURCE',
'-D_XOPEN_SOURCE=600' '-D_XOPEN_SOURCE=600',
] ]
foreach option:cflags_options foreach option:cflags_options
if cc.has_argument(option) if cc.has_argument(option)
cflags += option cflags += option
endif endif
endforeach endforeach
if get_option('buildtype').contains('debug') if get_option('buildtype').contains('debug')
cflags += [ '-pedantic', '-DPEDANTIC' ] cflags += [ '-pedantic', '-DPEDANTIC' ]
else else
cflags += [ '-UPEDANTIC' ] cflags += [ '-UPEDANTIC' ]
endif endif
subdir(exec_env) subdir(exec_env)

View File

@ -3,9 +3,9 @@
includes += include_directories('.') includes += include_directories('.')
sources += files( sources += files(
'mlx5_os.c', 'mlx5_os.c',
'mlx5_mp_os.c', 'mlx5_mp_os.c',
'mlx5_ethdev_os.c', 'mlx5_ethdev_os.c',
'mlx5_vlan_os.c', 'mlx5_vlan_os.c',
'mlx5_flow_os.c', 'mlx5_flow_os.c',
) )

View File

@ -4,23 +4,23 @@
# All rights reserved. # All rights reserved.
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
dep = dependency('libmusdk', required: false, method: 'pkg-config') dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "libmusdk"' reason = 'missing dependency, "libmusdk"'
subdir_done() subdir_done()
endif endif
ext_deps += dep ext_deps += dep
sources = files( sources = files(
'mvneta_ethdev.c', 'mvneta_ethdev.c',
'mvneta_rxtx.c' 'mvneta_rxtx.c',
) )
deps += ['cfgfile', 'common_mvep'] deps += ['cfgfile', 'common_mvep']

View File

@ -4,26 +4,26 @@
# All rights reserved. # All rights reserved.
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
dep = dependency('libmusdk', required: false, method: 'pkg-config') dep = dependency('libmusdk', required: false, method: 'pkg-config')
if not dep.found() if not dep.found()
build = false build = false
reason = 'missing dependency, "libmusdk"' reason = 'missing dependency, "libmusdk"'
subdir_done() subdir_done()
endif endif
ext_deps += dep ext_deps += dep
sources = files( sources = files(
'mrvl_ethdev.c', 'mrvl_ethdev.c',
'mrvl_flow.c', 'mrvl_flow.c',
'mrvl_qos.c', 'mrvl_qos.c',
'mrvl_mtr.c', 'mrvl_mtr.c',
'mrvl_tm.c' 'mrvl_tm.c',
) )
deps += ['cfgfile', 'common_mvep'] deps += ['cfgfile', 'common_mvep']

View File

@ -2,13 +2,19 @@
# Copyright(c) 2018 Microsoft Corporation # Copyright(c) 2018 Microsoft Corporation
if is_windows if is_windows
build = false build = false
reason = 'not supported on Windows' reason = 'not supported on Windows'
subdir_done() subdir_done()
endif endif
build = dpdk_conf.has('RTE_BUS_VMBUS') build = dpdk_conf.has('RTE_BUS_VMBUS')
reason = 'missing dependency, DPDK VMBus driver' reason = 'missing dependency, DPDK VMBus driver'
sources = files('hn_ethdev.c', 'hn_rxtx.c', 'hn_rndis.c', 'hn_nvs.c', 'hn_vf.c') sources = files(
'hn_ethdev.c',
'hn_nvs.c',
'hn_rndis.c',
'hn_rxtx.c',
'hn_vf.c',
)
deps += ['bus_vmbus' ] deps += ['bus_vmbus' ]

Some files were not shown because too many files have changed in this diff Show More