2017-12-18 15:56:25 +00:00
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
# Copyright(c) 2017 Intel Corporation
|
2017-08-30 11:31:35 +00:00
|
|
|
|
2017-12-15 17:12:43 +00:00
|
|
|
cflags += ['-DPF_DRIVER',
|
2017-08-30 11:31:35 +00:00
|
|
|
'-DVF_DRIVER',
|
|
|
|
'-DINTEGRATED_VF',
|
2020-04-13 14:55:30 +00:00
|
|
|
'-DX722_A0_SUPPORT']
|
2017-08-30 11:31:35 +00:00
|
|
|
|
|
|
|
subdir('base')
|
|
|
|
objs = [base_objs]
|
|
|
|
|
|
|
|
sources = files(
|
|
|
|
'i40e_ethdev.c',
|
|
|
|
'i40e_rxtx.c',
|
|
|
|
'i40e_ethdev_vf.c',
|
|
|
|
'i40e_pf.c',
|
|
|
|
'i40e_fdir.c',
|
|
|
|
'i40e_flow.c',
|
|
|
|
'i40e_tm.c',
|
net/i40e: add support for representor ports
Add support for virtual function representor ports to the i40e PF
driver. When SR-IOV virtual functions devices are enabled a
corresponding representor port for each VF can be enabled, in the
process in which the i40e PMD is running, by specifying the
representor devargs with the list of VF ports that representors
are to be created for.
An example of the devargs which would create VF representor for virtual
functions 0,2,4,5,6 and 7 is:
-w DBDF,representor=[0,2,4-7]
and to just specify a single representor on virtual function 3 (switch
port id):
-w DBDF,representor=3
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Signed-off-by: Remy Horton <remy.horton@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-04-26 10:41:04 +00:00
|
|
|
'i40e_vf_representor.c',
|
2017-08-30 11:31:35 +00:00
|
|
|
'rte_pmd_i40e.c'
|
|
|
|
)
|
|
|
|
|
|
|
|
deps += ['hash']
|
2018-05-08 20:10:17 +00:00
|
|
|
includes += include_directories('base')
|
2017-08-30 11:31:35 +00:00
|
|
|
|
|
|
|
if arch_subdir == 'x86'
|
|
|
|
dpdk_conf.set('RTE_LIBRTE_I40E_INC_VECTOR', 1)
|
|
|
|
sources += files('i40e_rxtx_vec_sse.c')
|
|
|
|
|
|
|
|
# compile AVX2 version if either:
|
|
|
|
# a. we have AVX supported in minimum instruction set baseline
|
|
|
|
# b. it's not minimum instruction set, but supported by compiler
|
2020-09-24 08:18:29 +00:00
|
|
|
if cc.get_define('__AVX2__', args: machine_args) != ''
|
2019-05-16 18:28:03 +00:00
|
|
|
cflags += ['-DCC_AVX2_SUPPORT']
|
2017-08-30 11:31:35 +00:00
|
|
|
sources += files('i40e_rxtx_vec_avx2.c')
|
|
|
|
elif cc.has_argument('-mavx2')
|
2019-05-16 18:28:03 +00:00
|
|
|
cflags += ['-DCC_AVX2_SUPPORT']
|
2017-08-30 11:31:35 +00:00
|
|
|
i40e_avx2_lib = static_library('i40e_avx2_lib',
|
|
|
|
'i40e_rxtx_vec_avx2.c',
|
2018-01-31 17:09:05 +00:00
|
|
|
dependencies: [static_rte_ethdev,
|
|
|
|
static_rte_kvargs, static_rte_hash],
|
2018-05-08 20:10:17 +00:00
|
|
|
include_directories: includes,
|
|
|
|
c_args: [cflags, '-mavx2'])
|
2017-08-30 11:31:35 +00:00
|
|
|
objs += i40e_avx2_lib.extract_objects('i40e_rxtx_vec_avx2.c')
|
|
|
|
endif
|
2020-04-09 18:20:55 +00:00
|
|
|
elif arch_subdir == 'ppc'
|
|
|
|
dpdk_conf.set('RTE_LIBRTE_I40E_INC_VECTOR', 1)
|
|
|
|
sources += files('i40e_rxtx_vec_altivec.c')
|
2020-06-05 05:20:55 +00:00
|
|
|
elif arch_subdir == 'arm'
|
|
|
|
dpdk_conf.set('RTE_LIBRTE_I40E_INC_VECTOR', 1)
|
|
|
|
sources += files('i40e_rxtx_vec_neon.c')
|
2017-08-30 11:31:35 +00:00
|
|
|
endif
|
|
|
|
|
2020-10-22 07:55:45 +00:00
|
|
|
headers = files('rte_pmd_i40e.h')
|