Mellanox CX-4 doesn't build with latest trex-core(git repo)

258 views
Skip to first unread message

Robert Blomberg

unread,
Apr 17, 2018, 3:15:20 AM4/17/18
to TRex Traffic Generator
Hi!

When I  compile with latest trex-repo using Cent OS 7.4, I get following output when building:

[root@dhcp-249-41-21-172 linux_dpdk]# ./b build -v
Waf: Entering directory `/root/trex-core/linux_dpdk/build_dpdk'
Info: Using external libverbs.
update version files
[ 156/1243] Compiling ../src/dpdk/drivers/net/mlx5/mlx5_txq.c
09:12:32 runner ['/usr/bin/gcc', '-DWIN_UCODE_SIM', '-D_BYTE_ORDER', '-D_LITTLE_ENDIAN', '-DLINUX', '-g', '-Wno-format', '-Wno-deprecated-declarations', '-DRTE_DPDK', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-D__STDC_CONSTANT_MACROS', '-march=native', '-mssse3', '-msse4.1', '-mpclmul', '-DRTE_MACHINE_CPUFLAG_SSE', '-DRTE_MACHINE_CPUFLAG_SSE2', '-DRTE_MACHINE_CPUFLAG_SSE3', '-DRTE_MACHINE_CPUFLAG_SSSE3', '-DRTE_MACHINE_CPUFLAG_SSE4_1', '-DRTE_MACHINE_CPUFLAG_SSE4_2', '-DRTE_MACHINE_CPUFLAG_AES', '-DRTE_MACHINE_CPUFLAG_PCLMULQDQ', '-DRTE_MACHINE_CPUFLAG_AVX', '-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX', '-DTREX_USE_BPFJIT', '-m64', '-O0', '-D_DEBUG', '-D_GNU_SOURCE', '-DPF_DRIVER', '-DX722_SUPPORT', '-DX722_A0_SUPPORT', '-DVF_DRIVER', '-DINTEGRATED_VF', '-include', '../src/pal/linux_dpdk/dpdk1711_x86_64/rte_config.h', '-UNDEBUG', '-fPIC', '-Isrc/dpdk/lib/librte_eal/common/include/arch/x86', '-I../../src/dpdk/lib/librte_eal/common/include/arch/x86', '-Isrc', '-I../../src', '-Isrc/pal/linux_dpdk', '-I../../src/pal/linux_dpdk', '-Isrc/pal/linux_dpdk/dpdk1711_x86_64', '-I../../src/pal/linux_dpdk/dpdk1711_x86_64', '-Isrc/dpdk/drivers', '-I../../src/dpdk/drivers', '-Isrc/dpdk/drivers/net', '-I../../src/dpdk/drivers/net', '-Isrc/dpdk/drivers/net/af_packet', '-I../../src/dpdk/drivers/net/af_packet', '-Isrc/dpdk/drivers/net/e1000', '-I../../src/dpdk/drivers/net/e1000', '-Isrc/dpdk/drivers/net/e1000/base', '-I../../src/dpdk/drivers/net/e1000/base', '-Isrc/dpdk/drivers/net/enic', '-I../../src/dpdk/drivers/net/enic', '-Isrc/dpdk/drivers/net/enic/base', '-I../../src/dpdk/drivers/net/enic/base', '-Isrc/dpdk/drivers/net/i40e', '-I../../src/dpdk/drivers/net/i40e', '-Isrc/dpdk/drivers/net/i40e/base', '-I../../src/dpdk/drivers/net/i40e/base', '-Isrc/dpdk/drivers/net/ixgbe', '-I../../src/dpdk/drivers/net/ixgbe', '-Isrc/dpdk/drivers/net/ixgbe/base', '-I../../src/dpdk/drivers/net/ixgbe/base', '-I../src/dpdk/drivers/net/mlx4', '-I../../../src/dpdk/drivers/net/mlx4', '-Isrc/dpdk/drivers/net/mlx5', '-I../../src/dpdk/drivers/net/mlx5', '-Isrc/dpdk/drivers/net/ntacc', '-I../../src/dpdk/drivers/net/ntacc', '-Isrc/dpdk/drivers/net/virtio', '-I../../src/dpdk/drivers/net/virtio', '-Isrc/dpdk/drivers/net/virtio/virtio_user', '-I../../src/dpdk/drivers/net/virtio/virtio_user', '-Isrc/dpdk/drivers/net/vmxnet3', '-I../../src/dpdk/drivers/net/vmxnet3', '-Isrc/dpdk/drivers/net/vmxnet3/base', '-I../../src/dpdk/drivers/net/vmxnet3/base', '-Isrc/dpdk/lib', '-I../../src/dpdk/lib', '-Isrc/dpdk/lib/librte_cfgfile', '-I../../src/dpdk/lib/librte_cfgfile', '-Isrc/dpdk/lib/librte_compat', '-I../../src/dpdk/lib/librte_compat', '-Isrc/dpdk/lib/librte_distributor', '-I../../src/dpdk/lib/librte_distributor', '-Isrc/dpdk/lib/librte_eal', '-I../../src/dpdk/lib/librte_eal', '-Isrc/dpdk/lib/librte_eal/common', '-I../../src/dpdk/lib/librte_eal/common', '-Isrc/dpdk/lib/librte_eal/common/include', '-I../../src/dpdk/lib/librte_eal/common/include', '-Isrc/dpdk/lib/librte_eal/common/include/arch', '-I../../src/dpdk/lib/librte_eal/common/include/arch', '-Isrc/dpdk/lib/librte_eal/common/include/generic', '-I../../src/dpdk/lib/librte_eal/common/include/generic', '-Isrc/dpdk/lib/librte_eal/linuxapp', '-I../../src/dpdk/lib/librte_eal/linuxapp', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-Isrc/dpdk/lib/librte_eal/linuxapp/igb_uio', '-I../../src/dpdk/lib/librte_eal/linuxapp/igb_uio', '-Isrc/dpdk/lib/librte_ether', '-I../../src/dpdk/lib/librte_ether', '-Isrc/dpdk/lib/librte_hash', '-I../../src/dpdk/lib/librte_hash', '-Isrc/dpdk/lib/librte_kvargs', '-I../../src/dpdk/lib/librte_kvargs', '-Isrc/dpdk/lib/librte_mbuf', '-I../../src/dpdk/lib/librte_mbuf', '-Isrc/dpdk/lib/librte_mempool', '-I../../src/dpdk/lib/librte_mempool', '-Isrc/dpdk/lib/librte_ring', '-I../../src/dpdk/lib/librte_ring', '-Isrc/dpdk/lib/librte_pci', '-I../../src/dpdk/lib/librte_pci', '-Isrc/dpdk/lib/librte_net', '-I../../src/dpdk/lib/librte_net', '-Isrc/dpdk/lib/librte_port', '-I../../src/dpdk/lib/librte_port', '-Isrc/dpdk', '-I../../src/dpdk', '-Isrc/dpdk/drivers/bus/pci', '-I../../src/dpdk/drivers/bus/pci', '-Isrc/dpdk/drivers/bus/vdev', '-I../../src/dpdk/drivers/bus/vdev', '-Isrc/dpdk/drivers/bus/pci/linux', '-I../../src/dpdk/drivers/bus/pci/linux', '../../src/dpdk/drivers/net/mlx5/mlx5_txq.c', '-c', '-o/root/trex-core/linux_dpdk/build_dpdk/src/dpdk/drivers/net/mlx5/mlx5_txq.c.5.o']
[ 157/1243] Compiling ../src/dpdk/drivers/net/mlx5/mlx5.c
09:12:32 runner ['/usr/bin/gcc', '-DWIN_UCODE_SIM', '-D_BYTE_ORDER', '-D_LITTLE_ENDIAN', '-DLINUX', '-g', '-Wno-format', '-Wno-deprecated-declarations', '-DRTE_DPDK', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-D__STDC_CONSTANT_MACROS', '-march=native', '-mssse3', '-msse4.1', '-mpclmul', '-DRTE_MACHINE_CPUFLAG_SSE', '-DRTE_MACHINE_CPUFLAG_SSE2', '-DRTE_MACHINE_CPUFLAG_SSE3', '-DRTE_MACHINE_CPUFLAG_SSSE3', '-DRTE_MACHINE_CPUFLAG_SSE4_1', '-DRTE_MACHINE_CPUFLAG_SSE4_2', '-DRTE_MACHINE_CPUFLAG_AES', '-DRTE_MACHINE_CPUFLAG_PCLMULQDQ', '-DRTE_MACHINE_CPUFLAG_AVX', '-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX', '-DTREX_USE_BPFJIT', '-m64', '-O0', '-D_DEBUG', '-D_GNU_SOURCE', '-DPF_DRIVER', '-DX722_SUPPORT', '-DX722_A0_SUPPORT', '-DVF_DRIVER', '-DINTEGRATED_VF', '-include', '../src/pal/linux_dpdk/dpdk1711_x86_64/rte_config.h', '-UNDEBUG', '-fPIC', '-Isrc/dpdk/lib/librte_eal/common/include/arch/x86', '-I../../src/dpdk/lib/librte_eal/common/include/arch/x86', '-Isrc', '-I../../src', '-Isrc/pal/linux_dpdk', '-I../../src/pal/linux_dpdk', '-Isrc/pal/linux_dpdk/dpdk1711_x86_64', '-I../../src/pal/linux_dpdk/dpdk1711_x86_64', '-Isrc/dpdk/drivers', '-I../../src/dpdk/drivers', '-Isrc/dpdk/drivers/net', '-I../../src/dpdk/drivers/net', '-Isrc/dpdk/drivers/net/af_packet', '-I../../src/dpdk/drivers/net/af_packet', '-Isrc/dpdk/drivers/net/e1000', '-I../../src/dpdk/drivers/net/e1000', '-Isrc/dpdk/drivers/net/e1000/base', '-I../../src/dpdk/drivers/net/e1000/base', '-Isrc/dpdk/drivers/net/enic', '-I../../src/dpdk/drivers/net/enic', '-Isrc/dpdk/drivers/net/enic/base', '-I../../src/dpdk/drivers/net/enic/base', '-Isrc/dpdk/drivers/net/i40e', '-I../../src/dpdk/drivers/net/i40e', '-Isrc/dpdk/drivers/net/i40e/base', '-I../../src/dpdk/drivers/net/i40e/base', '-Isrc/dpdk/drivers/net/ixgbe', '-I../../src/dpdk/drivers/net/ixgbe', '-Isrc/dpdk/drivers/net/ixgbe/base', '-I../../src/dpdk/drivers/net/ixgbe/base', '-I../src/dpdk/drivers/net/mlx4', '-I../../../src/dpdk/drivers/net/mlx4', '-Isrc/dpdk/drivers/net/mlx5', '-I../../src/dpdk/drivers/net/mlx5', '-Isrc/dpdk/drivers/net/ntacc', '-I../../src/dpdk/drivers/net/ntacc', '-Isrc/dpdk/drivers/net/virtio', '-I../../src/dpdk/drivers/net/virtio', '-Isrc/dpdk/drivers/net/virtio/virtio_user', '-I../../src/dpdk/drivers/net/virtio/virtio_user', '-Isrc/dpdk/drivers/net/vmxnet3', '-I../../src/dpdk/drivers/net/vmxnet3', '-Isrc/dpdk/drivers/net/vmxnet3/base', '-I../../src/dpdk/drivers/net/vmxnet3/base', '-Isrc/dpdk/lib', '-I../../src/dpdk/lib', '-Isrc/dpdk/lib/librte_cfgfile', '-I../../src/dpdk/lib/librte_cfgfile', '-Isrc/dpdk/lib/librte_compat', '-I../../src/dpdk/lib/librte_compat', '-Isrc/dpdk/lib/librte_distributor', '-I../../src/dpdk/lib/librte_distributor', '-Isrc/dpdk/lib/librte_eal', '-I../../src/dpdk/lib/librte_eal', '-Isrc/dpdk/lib/librte_eal/common', '-I../../src/dpdk/lib/librte_eal/common', '-Isrc/dpdk/lib/librte_eal/common/include', '-I../../src/dpdk/lib/librte_eal/common/include', '-Isrc/dpdk/lib/librte_eal/common/include/arch', '-I../../src/dpdk/lib/librte_eal/common/include/arch', '-Isrc/dpdk/lib/librte_eal/common/include/generic', '-I../../src/dpdk/lib/librte_eal/common/include/generic', '-Isrc/dpdk/lib/librte_eal/linuxapp', '-I../../src/dpdk/lib/librte_eal/linuxapp', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-Isrc/dpdk/lib/librte_eal/linuxapp/igb_uio', '-I../../src/dpdk/lib/librte_eal/linuxapp/igb_uio', '-Isrc/dpdk/lib/librte_ether', '-I../../src/dpdk/lib/librte_ether', '-Isrc/dpdk/lib/librte_hash', '-I../../src/dpdk/lib/librte_hash', '-Isrc/dpdk/lib/librte_kvargs', '-I../../src/dpdk/lib/librte_kvargs', '-Isrc/dpdk/lib/librte_mbuf', '-I../../src/dpdk/lib/librte_mbuf', '-Isrc/dpdk/lib/librte_mempool', '-I../../src/dpdk/lib/librte_mempool', '-Isrc/dpdk/lib/librte_ring', '-I../../src/dpdk/lib/librte_ring', '-Isrc/dpdk/lib/librte_pci', '-I../../src/dpdk/lib/librte_pci', '-Isrc/dpdk/lib/librte_net', '-I../../src/dpdk/lib/librte_net', '-Isrc/dpdk/lib/librte_port', '-I../../src/dpdk/lib/librte_port', '-Isrc/dpdk', '-I../../src/dpdk', '-Isrc/dpdk/drivers/bus/pci', '-I../../src/dpdk/drivers/bus/pci', '-Isrc/dpdk/drivers/bus/vdev', '-I../../src/dpdk/drivers/bus/vdev', '-Isrc/dpdk/drivers/bus/pci/linux', '-I../../src/dpdk/drivers/bus/pci/linux', '../../src/dpdk/drivers/net/mlx5/mlx5.c', '-c', '-o/root/trex-core/linux_dpdk/build_dpdk/src/dpdk/drivers/net/mlx5/mlx5.c.5.o']
[ 158/1243] Compiling ../src/dpdk/drivers/net/mlx5/mlx5_flow.c
09:12:32 runner ['/usr/bin/gcc', '-DWIN_UCODE_SIM', '-D_BYTE_ORDER', '-D_LITTLE_ENDIAN', '-DLINUX', '-g', '-Wno-format', '-Wno-deprecated-declarations', '-DRTE_DPDK', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-D__STDC_CONSTANT_MACROS', '-march=native', '-mssse3', '-msse4.1', '-mpclmul', '-DRTE_MACHINE_CPUFLAG_SSE', '-DRTE_MACHINE_CPUFLAG_SSE2', '-DRTE_MACHINE_CPUFLAG_SSE3', '-DRTE_MACHINE_CPUFLAG_SSSE3', '-DRTE_MACHINE_CPUFLAG_SSE4_1', '-DRTE_MACHINE_CPUFLAG_SSE4_2', '-DRTE_MACHINE_CPUFLAG_AES', '-DRTE_MACHINE_CPUFLAG_PCLMULQDQ', '-DRTE_MACHINE_CPUFLAG_AVX', '-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX', '-DTREX_USE_BPFJIT', '-m64', '-O0', '-D_DEBUG', '-D_GNU_SOURCE', '-DPF_DRIVER', '-DX722_SUPPORT', '-DX722_A0_SUPPORT', '-DVF_DRIVER', '-DINTEGRATED_VF', '-include', '../src/pal/linux_dpdk/dpdk1711_x86_64/rte_config.h', '-UNDEBUG', '-fPIC', '-Isrc/dpdk/lib/librte_eal/common/include/arch/x86', '-I../../src/dpdk/lib/librte_eal/common/include/arch/x86', '-Isrc', '-I../../src', '-Isrc/pal/linux_dpdk', '-I../../src/pal/linux_dpdk', '-Isrc/pal/linux_dpdk/dpdk1711_x86_64', '-I../../src/pal/linux_dpdk/dpdk1711_x86_64', '-Isrc/dpdk/drivers', '-I../../src/dpdk/drivers', '-Isrc/dpdk/drivers/net', '-I../../src/dpdk/drivers/net', '-Isrc/dpdk/drivers/net/af_packet', '-I../../src/dpdk/drivers/net/af_packet', '-Isrc/dpdk/drivers/net/e1000', '-I../../src/dpdk/drivers/net/e1000', '-Isrc/dpdk/drivers/net/e1000/base', '-I../../src/dpdk/drivers/net/e1000/base', '-Isrc/dpdk/drivers/net/enic', '-I../../src/dpdk/drivers/net/enic', '-Isrc/dpdk/drivers/net/enic/base', '-I../../src/dpdk/drivers/net/enic/base', '-Isrc/dpdk/drivers/net/i40e', '-I../../src/dpdk/drivers/net/i40e', '-Isrc/dpdk/drivers/net/i40e/base', '-I../../src/dpdk/drivers/net/i40e/base', '-Isrc/dpdk/drivers/net/ixgbe', '-I../../src/dpdk/drivers/net/ixgbe', '-Isrc/dpdk/drivers/net/ixgbe/base', '-I../../src/dpdk/drivers/net/ixgbe/base', '-I../src/dpdk/drivers/net/mlx4', '-I../../../src/dpdk/drivers/net/mlx4', '-Isrc/dpdk/drivers/net/mlx5', '-I../../src/dpdk/drivers/net/mlx5', '-Isrc/dpdk/drivers/net/ntacc', '-I../../src/dpdk/drivers/net/ntacc', '-Isrc/dpdk/drivers/net/virtio', '-I../../src/dpdk/drivers/net/virtio', '-Isrc/dpdk/drivers/net/virtio/virtio_user', '-I../../src/dpdk/drivers/net/virtio/virtio_user', '-Isrc/dpdk/drivers/net/vmxnet3', '-I../../src/dpdk/drivers/net/vmxnet3', '-Isrc/dpdk/drivers/net/vmxnet3/base', '-I../../src/dpdk/drivers/net/vmxnet3/base', '-Isrc/dpdk/lib', '-I../../src/dpdk/lib', '-Isrc/dpdk/lib/librte_cfgfile', '-I../../src/dpdk/lib/librte_cfgfile', '-Isrc/dpdk/lib/librte_compat', '-I../../src/dpdk/lib/librte_compat', '-Isrc/dpdk/lib/librte_distributor', '-I../../src/dpdk/lib/librte_distributor', '-Isrc/dpdk/lib/librte_eal', '-I../../src/dpdk/lib/librte_eal', '-Isrc/dpdk/lib/librte_eal/common', '-I../../src/dpdk/lib/librte_eal/common', '-Isrc/dpdk/lib/librte_eal/common/include', '-I../../src/dpdk/lib/librte_eal/common/include', '-Isrc/dpdk/lib/librte_eal/common/include/arch', '-I../../src/dpdk/lib/librte_eal/common/include/arch', '-Isrc/dpdk/lib/librte_eal/common/include/generic', '-I../../src/dpdk/lib/librte_eal/common/include/generic', '-Isrc/dpdk/lib/librte_eal/linuxapp', '-I../../src/dpdk/lib/librte_eal/linuxapp', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-Isrc/dpdk/lib/librte_eal/linuxapp/igb_uio', '-I../../src/dpdk/lib/librte_eal/linuxapp/igb_uio', '-Isrc/dpdk/lib/librte_ether', '-I../../src/dpdk/lib/librte_ether', '-Isrc/dpdk/lib/librte_hash', '-I../../src/dpdk/lib/librte_hash', '-Isrc/dpdk/lib/librte_kvargs', '-I../../src/dpdk/lib/librte_kvargs', '-Isrc/dpdk/lib/librte_mbuf', '-I../../src/dpdk/lib/librte_mbuf', '-Isrc/dpdk/lib/librte_mempool', '-I../../src/dpdk/lib/librte_mempool', '-Isrc/dpdk/lib/librte_ring', '-I../../src/dpdk/lib/librte_ring', '-Isrc/dpdk/lib/librte_pci', '-I../../src/dpdk/lib/librte_pci', '-Isrc/dpdk/lib/librte_net', '-I../../src/dpdk/lib/librte_net', '-Isrc/dpdk/lib/librte_port', '-I../../src/dpdk/lib/librte_port', '-Isrc/dpdk', '-I../../src/dpdk', '-Isrc/dpdk/drivers/bus/pci', '-I../../src/dpdk/drivers/bus/pci', '-Isrc/dpdk/drivers/bus/vdev', '-I../../src/dpdk/drivers/bus/vdev', '-Isrc/dpdk/drivers/bus/pci/linux', '-I../../src/dpdk/drivers/bus/pci/linux', '../../src/dpdk/drivers/net/mlx5/mlx5_flow.c', '-c', '-o/root/trex-core/linux_dpdk/build_dpdk/src/dpdk/drivers/net/mlx5/mlx5_flow.c.5.o']
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c: In function ‘mlx5_priv_txq_ibv_new’:
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:302:30: error: field ‘cq’ has incomplete type
   struct ibv_cq_init_attr_ex cq;
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:304:20: error: field ‘cq_attr’ has incomplete type
   struct ibv_cq_ex cq_attr;
                    ^
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:307:39: error: ‘MLX5DV_QP_MASK_UAR_MMAP_OFFSET’ undeclared (first use in this function)
  struct mlx5dv_qp qp = { .comp_mask = MLX5DV_QP_MASK_UAR_MMAP_OFFSET };
                                       ^
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:307:39: note: each undeclared identifier is reported only once for each function it appears in
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:321:3: error: unknown field ‘comp_mask’ specified in initializer
   .comp_mask = 0,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:321:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:321:3: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:322:2: error: invalid use of undefined type ‘struct ibv_cq_init_attr_ex’
  };
  ^
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:365:12: error: ‘struct ibv_qp_init_attr_ex’ has no member named ‘max_tso_header’
   attr.init.max_tso_header = txq_ctrl->max_tso_header;
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:366:26: error: ‘IBV_QP_INIT_ATTR_MAX_TSO_HEADER’ undeclared (first use in this function)
   attr.init.comp_mask |= IBV_QP_INIT_ATTR_MAX_TSO_HEADER;
                          ^
../../src/dpdk/drivers/net/mlx5/mlx5_txq.c:436:33: error: ‘struct mlx5dv_qp’ has no member named ‘uar_mmap_offset’
   txq_ctrl->uar_mmap_offset = qp.uar_mmap_offset;
                                 ^

../../src/dpdk/drivers/net/mlx5/mlx5.c: In function ‘mlx5_pci_probe’:
../../src/dpdk/drivers/net/mlx5/mlx5.c:555:37: error: storage size of ‘cs_desc’ isn’t known
  struct ibv_counter_set_description cs_desc;
                                     ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:809:21: error: ‘struct ibv_device_attr_ex’ has no member named ‘device_cap_flags_ex’
    !!(device_attr_ex.device_cap_flags_ex &
                     ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:810:7: error: ‘IBV_DEVICE_RAW_IP_CSUM’ undeclared (first use in this function)
       IBV_DEVICE_RAW_IP_CSUM);
       ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:810:7: note: each undeclared identifier is reported only once for each function it appears in
../../src/dpdk/drivers/net/mlx5/mlx5.c:822:47: error: ‘struct ibv_device_attr_ex’ has no member named ‘max_counter_sets’
   priv->counter_set_supported = !!(device_attr.max_counter_sets);
                                               ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:829:18: error: ‘struct ibv_device_attr_ex’ has no member named ‘rss_caps’
    device_attr_ex.rss_caps.max_rwq_indirection_table_size;
                  ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:837:42: error: ‘struct ibv_device_attr_ex’ has no member named ‘raw_packet_caps’
   priv->hw_vlan_strip = !!(device_attr_ex.raw_packet_caps &
                                          ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:838:7: error: ‘IBV_RAW_PACKET_CAP_CVLAN_STRIPPING’ undeclared (first use in this function)
       IBV_RAW_PACKET_CAP_CVLAN_STRIPPING);
       ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:844:5: error: ‘IBV_WQ_FLAGS_SCATTER_FCS’ undeclared (first use in this function)
     IBV_WQ_FLAGS_SCATTER_FCS);
     ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:857:23: error: ‘struct ibv_device_attr_ex’ has no member named ‘tso_caps’
        (device_attr_ex.tso_caps.max_tso > 0) &&
                       ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:858:23: error: ‘struct ibv_device_attr_ex’ has no member named ‘tso_caps’
        (device_attr_ex.tso_caps.supported_qpts &
                       ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:862:19: error: ‘struct ibv_device_attr_ex’ has no member named ‘tso_caps’
     device_attr_ex.tso_caps.max_tso;
                   ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:950:10: error: variable ‘alctr’ has initializer but incomplete type
   struct mlx5dv_ctx_allocators alctr = {
          ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:951:4: error: unknown field ‘alloc’ specified in initializer
    .alloc = &mlx5_alloc_verbs_buf,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:951:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5.c:951:4: warning: (near initialization for ‘alctr’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5.c:952:4: error: unknown field ‘free’ specified in initializer
    .free = &mlx5_free_verbs_buf,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:952:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5.c:952:4: warning: (near initialization for ‘alctr’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5.c:953:4: error: unknown field ‘data’ specified in initializer
    .data = priv,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:953:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5.c:953:4: warning: (near initialization for ‘alctr’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5.c:950:32: error: storage size of ‘alctr’ isn’t known
   struct mlx5dv_ctx_allocators alctr = {
                                ^
../../src/dpdk/drivers/net/mlx5/mlx5.c:955:32: error: ‘MLX5DV_CTX_ATTR_BUF_ALLOCATORS’ undeclared (first use in this function)
   mlx5dv_set_context_attr(ctx, MLX5DV_CTX_ATTR_BUF_ALLOCATORS,
                                ^

../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:154:19: error: ‘IBV_RX_HASH_SRC_IPV4’ undeclared here (not in a function)
   .hash_fields = (IBV_RX_HASH_SRC_IPV4 |
                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:155:5: error: ‘IBV_RX_HASH_DST_IPV4’ undeclared here (not in a function)
     IBV_RX_HASH_DST_IPV4 |
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:156:5: error: ‘IBV_RX_HASH_SRC_PORT_TCP’ undeclared here (not in a function)
     IBV_RX_HASH_SRC_PORT_TCP |
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:157:5: error: ‘IBV_RX_HASH_DST_PORT_TCP’ undeclared here (not in a function)
     IBV_RX_HASH_DST_PORT_TCP),
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:165:5: error: ‘IBV_RX_HASH_SRC_PORT_UDP’ undeclared here (not in a function)
     IBV_RX_HASH_SRC_PORT_UDP |
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:166:5: error: ‘IBV_RX_HASH_DST_PORT_UDP’ undeclared here (not in a function)
     IBV_RX_HASH_DST_PORT_UDP),
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:180:19: error: ‘IBV_RX_HASH_SRC_IPV6’ undeclared here (not in a function)
   .hash_fields = (IBV_RX_HASH_SRC_IPV6 |
                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:181:5: error: ‘IBV_RX_HASH_DST_IPV6’ undeclared here (not in a function)
     IBV_RX_HASH_DST_IPV6 |
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:362:20: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv4_ext’
   .dst_sz = sizeof(struct ibv_flow_spec_ipv4_ext),
                    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:362:27: error: initializer element is not constant
   .dst_sz = sizeof(struct ibv_flow_spec_ipv4_ext),
                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:362:27: error: (near initialization for ‘mlx5_flow_items[10].dst_sz’)
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:262:14: error: initializer element is not constant
  (const enum rte_flow_item_type []){ \
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:365:12: note: in expansion of macro ‘ITEMS’
   .items = ITEMS(RTE_FLOW_ITEM_TYPE_UDP,
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:262:14: error: (near initialization for ‘mlx5_flow_items[11].items’)
  (const enum rte_flow_item_type []){ \
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:365:12: note: in expansion of macro ‘ITEMS’
   .items = ITEMS(RTE_FLOW_ITEM_TYPE_UDP,
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:386:3: error: initializer element is not constant
   },
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:386:3: error: (near initialization for ‘mlx5_flow_items[11].mask’)
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:390:20: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv6’
   .dst_sz = sizeof(struct ibv_flow_spec_ipv6),
                    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:390:27: error: initializer element is not constant
   .dst_sz = sizeof(struct ibv_flow_spec_ipv6),
                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:390:27: error: (near initialization for ‘mlx5_flow_items[11].dst_sz’)
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:262:14: error: initializer element is not constant
  (const enum rte_flow_item_type []){ \
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:393:12: note: in expansion of macro ‘ITEMS’
   .items = ITEMS(RTE_FLOW_ITEM_TYPE_VXLAN),
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:262:14: error: (near initialization for ‘mlx5_flow_items[13].items’)
  (const enum rte_flow_item_type []){ \
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:393:12: note: in expansion of macro ‘ITEMS’
   .items = ITEMS(RTE_FLOW_ITEM_TYPE_VXLAN),
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:400:3: error: initializer element is not constant
   },
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:400:3: error: (near initialization for ‘mlx5_flow_items[13].mask’)
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:413:3: error: initializer element is not constant
   },
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:413:3: error: (near initialization for ‘mlx5_flow_items[14].mask’)
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:262:14: error: initializer element is not constant
  (const enum rte_flow_item_type []){ \
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:420:12: note: in expansion of macro ‘ITEMS’
   .items = ITEMS(RTE_FLOW_ITEM_TYPE_ETH),
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:262:14: error: (near initialization for ‘mlx5_flow_items[16].items’)
  (const enum rte_flow_item_type []){ \
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:420:12: note: in expansion of macro ‘ITEMS’
   .items = ITEMS(RTE_FLOW_ITEM_TYPE_ETH),
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:424:3: error: initializer element is not constant
   },
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:424:3: error: (near initialization for ‘mlx5_flow_items[16].mask’)
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:428:20: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_tunnel’
   .dst_sz = sizeof(struct ibv_flow_spec_tunnel),
                    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:428:27: error: initializer element is not constant
   .dst_sz = sizeof(struct ibv_flow_spec_tunnel),
                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:428:27: error: (near initialization for ‘mlx5_flow_items[16].dst_sz’)
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_convert_items_validate’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:869:20: error: ‘IBV_FLOW_SPEC_INNER’ undeclared (first use in this function)
    parser->inner = IBV_FLOW_SPEC_INNER;
                    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:869:20: note: each undeclared identifier is reported only once for each function it appears in
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:869:18: warning: assignment makes integer from pointer without a cast [enabled by default]
    parser->inner = IBV_FLOW_SPEC_INNER;
                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:883:12: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_tag’
     sizeof(struct ibv_flow_spec_action_tag);
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:882:28: warning: assignment makes integer from pointer without a cast [enabled by default]
    parser->queue[i].offset +=
                            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:886:30: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_counter_action’
   unsigned int size = sizeof(struct ibv_flow_spec_counter_action);
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:886:23: warning: initialization makes integer from pointer without a cast [enabled by default]
   unsigned int size = sizeof(struct ibv_flow_spec_counter_action);
                       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_convert_finalise’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1000:34: error: field ‘ipv4’ has incomplete type
    struct ibv_flow_spec_ipv4_ext ipv4;
                                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1001:30: error: field ‘ipv6’ has incomplete type
    struct ibv_flow_spec_ipv6 ipv6;
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1011:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv4_ext’
     size = sizeof(struct ibv_flow_spec_ipv4_ext);
                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1011:10: warning: assignment makes integer from pointer without a cast [enabled by default]
     size = sizeof(struct ibv_flow_spec_ipv4_ext);
          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1013:6: error: unknown field ‘type’ specified in initializer
      .type = IBV_FLOW_SPEC_IPV4_EXT,
      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1013:14: error: ‘IBV_FLOW_SPEC_IPV4_EXT’ undeclared (first use in this function)
      .type = IBV_FLOW_SPEC_IPV4_EXT,
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1013:6: warning: excess elements in struct initializer [enabled by default]
      .type = IBV_FLOW_SPEC_IPV4_EXT,
      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1013:6: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1014:6: error: unknown field ‘size’ specified in initializer
      .size = size,
      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1014:6: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1014:6: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1015:5: error: invalid use of undefined type ‘struct ibv_flow_spec_ipv4_ext’
     };
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1017:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv6’
     size = sizeof(struct ibv_flow_spec_ipv6);
                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1017:10: warning: assignment makes integer from pointer without a cast [enabled by default]
     size = sizeof(struct ibv_flow_spec_ipv6);
          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1019:6: error: unknown field ‘type’ specified in initializer
      .type = IBV_FLOW_SPEC_IPV6,
      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1019:14: error: ‘IBV_FLOW_SPEC_IPV6’ undeclared (first use in this function)
      .type = IBV_FLOW_SPEC_IPV6,
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1019:6: warning: excess elements in struct initializer [enabled by default]
      .type = IBV_FLOW_SPEC_IPV6,
      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1019:6: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1020:6: error: unknown field ‘size’ specified in initializer
      .size = size,
      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1020:6: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1020:6: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1021:5: error: invalid use of undefined type ‘struct ibv_flow_spec_ipv6’
     };
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_ipv4’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1383:34: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv4_ext’
  unsigned int ipv4_size = sizeof(struct ibv_flow_spec_ipv4_ext);
                                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1383:27: warning: initialization makes integer from pointer without a cast [enabled by default]
  unsigned int ipv4_size = sizeof(struct ibv_flow_spec_ipv4_ext);
                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1384:9: error: variable ‘ipv4’ has initializer but incomplete type
  struct ibv_flow_spec_ipv4_ext ipv4 = {
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1385:3: error: unknown field ‘type’ specified in initializer
   .type = parser->inner | IBV_FLOW_SPEC_IPV4_EXT,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1385:27: error: ‘IBV_FLOW_SPEC_IPV4_EXT’ undeclared (first use in this function)
   .type = parser->inner | IBV_FLOW_SPEC_IPV4_EXT,
                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1385:25: error: invalid operands to binary | (have ‘uint32_t’ and ‘const struct mlx5_flow_items *’)
   .type = parser->inner | IBV_FLOW_SPEC_IPV4_EXT,
                         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1385:3: warning: excess elements in struct initializer [enabled by default]
   .type = parser->inner | IBV_FLOW_SPEC_IPV4_EXT,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1385:3: warning: (near initialization for ‘ipv4’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1386:3: error: unknown field ‘size’ specified in initializer
   .size = ipv4_size,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1386:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1386:3: warning: (near initialization for ‘ipv4’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1384:32: error: storage size of ‘ipv4’ isn’t known
  struct ibv_flow_spec_ipv4_ext ipv4 = {
                                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1395:7: error: request for member ‘val’ in something not a structure or union
   ipv4.val = (struct ibv_flow_ipv4_ext_filter){
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1396:4: error: unknown field ‘src_ip’ specified in initializer
    .src_ip = spec->hdr.src_addr,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1396:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1396:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1397:4: error: unknown field ‘dst_ip’ specified in initializer
    .dst_ip = spec->hdr.dst_addr,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1397:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1397:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1398:4: error: unknown field ‘proto’ specified in initializer
    .proto = spec->hdr.next_proto_id,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1398:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1398:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1399:4: error: unknown field ‘tos’ specified in initializer
    .tos = spec->hdr.type_of_service,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1399:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1399:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1400:3: error: invalid use of undefined type ‘struct ibv_flow_ipv4_ext_filter’
   };
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1401:7: error: request for member ‘mask’ in something not a structure or union
   ipv4.mask = (struct ibv_flow_ipv4_ext_filter){
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1402:4: error: unknown field ‘src_ip’ specified in initializer
    .src_ip = mask->hdr.src_addr,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1402:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1402:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1403:4: error: unknown field ‘dst_ip’ specified in initializer
    .dst_ip = mask->hdr.dst_addr,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1403:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1403:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1404:4: error: unknown field ‘proto’ specified in initializer
    .proto = mask->hdr.next_proto_id,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1404:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1404:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1405:4: error: unknown field ‘tos’ specified in initializer
    .tos = mask->hdr.type_of_service,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1405:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1405:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1406:3: error: invalid use of undefined type ‘struct ibv_flow_ipv4_ext_filter’
   };
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1408:7: error: request for member ‘val’ in something not a structure or union
   ipv4.val.src_ip &= ipv4.mask.src_ip;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1408:11: error: request for member ‘src_ip’ in something not a structure or union
   ipv4.val.src_ip &= ipv4.mask.src_ip;
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1408:26: error: request for member ‘mask’ in something not a structure or union
   ipv4.val.src_ip &= ipv4.mask.src_ip;
                          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1408:31: error: request for member ‘src_ip’ in something not a structure or union
   ipv4.val.src_ip &= ipv4.mask.src_ip;
                               ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1409:7: error: request for member ‘val’ in something not a structure or union
   ipv4.val.dst_ip &= ipv4.mask.dst_ip;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1409:11: error: request for member ‘dst_ip’ in something not a structure or union
   ipv4.val.dst_ip &= ipv4.mask.dst_ip;
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1409:26: error: request for member ‘mask’ in something not a structure or union
   ipv4.val.dst_ip &= ipv4.mask.dst_ip;
                          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1409:31: error: request for member ‘dst_ip’ in something not a structure or union
   ipv4.val.dst_ip &= ipv4.mask.dst_ip;
                               ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1410:7: error: request for member ‘val’ in something not a structure or union
   ipv4.val.proto &= ipv4.mask.proto;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1410:11: error: request for member ‘proto’ in something not a structure or union
   ipv4.val.proto &= ipv4.mask.proto;
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1410:25: error: request for member ‘mask’ in something not a structure or union
   ipv4.val.proto &= ipv4.mask.proto;
                         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1410:30: error: request for member ‘proto’ in something not a structure or union
   ipv4.val.proto &= ipv4.mask.proto;
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1411:7: error: request for member ‘val’ in something not a structure or union
   ipv4.val.tos &= ipv4.mask.tos;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1411:11: error: request for member ‘tos’ in something not a structure or union
   ipv4.val.tos &= ipv4.mask.tos;
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1411:23: error: request for member ‘mask’ in something not a structure or union
   ipv4.val.tos &= ipv4.mask.tos;
                       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1411:28: error: request for member ‘tos’ in something not a structure or union
   ipv4.val.tos &= ipv4.mask.tos;
                            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_ipv6’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1435:34: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv6’
  unsigned int ipv6_size = sizeof(struct ibv_flow_spec_ipv6);
                                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1435:27: warning: initialization makes integer from pointer without a cast [enabled by default]
  unsigned int ipv6_size = sizeof(struct ibv_flow_spec_ipv6);
                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1436:9: error: variable ‘ipv6’ has initializer but incomplete type
  struct ibv_flow_spec_ipv6 ipv6 = {
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1437:3: error: unknown field ‘type’ specified in initializer
   .type = parser->inner | IBV_FLOW_SPEC_IPV6,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1437:27: error: ‘IBV_FLOW_SPEC_IPV6’ undeclared (first use in this function)
   .type = parser->inner | IBV_FLOW_SPEC_IPV6,
                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1437:25: error: invalid operands to binary | (have ‘uint32_t’ and ‘const struct mlx5_flow_items *’)
   .type = parser->inner | IBV_FLOW_SPEC_IPV6,
                         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1437:3: warning: excess elements in struct initializer [enabled by default]
   .type = parser->inner | IBV_FLOW_SPEC_IPV6,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1437:3: warning: (near initialization for ‘ipv6’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1438:3: error: unknown field ‘size’ specified in initializer
   .size = ipv6_size,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1438:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1438:3: warning: (near initialization for ‘ipv6’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1436:28: error: storage size of ‘ipv6’ isn’t known
  struct ibv_flow_spec_ipv6 ipv6 = {
                            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1449:15: error: request for member ‘val’ in something not a structure or union
   memcpy(&ipv6.val.src_ip, spec->hdr.src_addr,
               ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1449:19: error: request for member ‘src_ip’ in something not a structure or union
   memcpy(&ipv6.val.src_ip, spec->hdr.src_addr,
                   ^
In file included from ../../src/dpdk/lib/librte_eal/common/include/rte_log.h:53:0,
                 from ../../src/dpdk/lib/librte_ether/rte_ethdev.h:178,
                 from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:47:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1450:22: error: request for member ‘val’ in something not a structure or union
          RTE_DIM(ipv6.val.src_ip));
                      ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1450:26: error: request for member ‘src_ip’ in something not a structure or union
          RTE_DIM(ipv6.val.src_ip));
                          ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1450:22: error: request for member ‘val’ in something not a structure or union
          RTE_DIM(ipv6.val.src_ip));
                      ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1450:26: error: request for member ‘src_ip’ in something not a structure or union
          RTE_DIM(ipv6.val.src_ip));
                          ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1450:10: note: in expansion of macro ‘RTE_DIM’
          RTE_DIM(ipv6.val.src_ip));
          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1450:10: warning: passing argument 3 of ‘memcpy’ makes integer from pointer without a cast [enabled by default]
In file included from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:35:0:
/usr/include/string.h:42:14: note: expected ‘size_t’ but argument is of type ‘const struct mlx5_flow_items *’
 extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1451:15: error: request for member ‘val’ in something not a structure or union
   memcpy(&ipv6.val.dst_ip, spec->hdr.dst_addr,
               ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1451:19: error: request for member ‘dst_ip’ in something not a structure or union
   memcpy(&ipv6.val.dst_ip, spec->hdr.dst_addr,
                   ^
In file included from ../../src/dpdk/lib/librte_eal/common/include/rte_log.h:53:0,
                 from ../../src/dpdk/lib/librte_ether/rte_ethdev.h:178,
                 from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:47:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1452:22: error: request for member ‘val’ in something not a structure or union
          RTE_DIM(ipv6.val.dst_ip));
                      ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1452:26: error: request for member ‘dst_ip’ in something not a structure or union
          RTE_DIM(ipv6.val.dst_ip));
                          ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1452:22: error: request for member ‘val’ in something not a structure or union
          RTE_DIM(ipv6.val.dst_ip));
                      ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1452:26: error: request for member ‘dst_ip’ in something not a structure or union
          RTE_DIM(ipv6.val.dst_ip));
                          ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1452:10: note: in expansion of macro ‘RTE_DIM’
          RTE_DIM(ipv6.val.dst_ip));
          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1452:10: warning: passing argument 3 of ‘memcpy’ makes integer from pointer without a cast [enabled by default]
In file included from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:35:0:
/usr/include/string.h:42:14: note: expected ‘size_t’ but argument is of type ‘const struct mlx5_flow_items *’
 extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1453:15: error: request for member ‘mask’ in something not a structure or union
   memcpy(&ipv6.mask.src_ip, mask->hdr.src_addr,
               ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1453:20: error: request for member ‘src_ip’ in something not a structure or union
   memcpy(&ipv6.mask.src_ip, mask->hdr.src_addr,
                    ^
In file included from ../../src/dpdk/lib/librte_eal/common/include/rte_log.h:53:0,
                 from ../../src/dpdk/lib/librte_ether/rte_ethdev.h:178,
                 from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:47:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1454:22: error: request for member ‘mask’ in something not a structure or union
          RTE_DIM(ipv6.mask.src_ip));
                      ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1454:27: error: request for member ‘src_ip’ in something not a structure or union
          RTE_DIM(ipv6.mask.src_ip));
                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1454:22: error: request for member ‘mask’ in something not a structure or union
          RTE_DIM(ipv6.mask.src_ip));
                      ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1454:27: error: request for member ‘src_ip’ in something not a structure or union
          RTE_DIM(ipv6.mask.src_ip));
                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1454:10: note: in expansion of macro ‘RTE_DIM’
          RTE_DIM(ipv6.mask.src_ip));
          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1454:10: warning: passing argument 3 of ‘memcpy’ makes integer from pointer without a cast [enabled by default]
In file included from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:35:0:
/usr/include/string.h:42:14: note: expected ‘size_t’ but argument is of type ‘const struct mlx5_flow_items *’
 extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1455:15: error: request for member ‘mask’ in something not a structure or union
   memcpy(&ipv6.mask.dst_ip, mask->hdr.dst_addr,
               ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1455:20: error: request for member ‘dst_ip’ in something not a structure or union
   memcpy(&ipv6.mask.dst_ip, mask->hdr.dst_addr,
                    ^
In file included from ../../src/dpdk/lib/librte_eal/common/include/rte_log.h:53:0,
                 from ../../src/dpdk/lib/librte_ether/rte_ethdev.h:178,
                 from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:47:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1456:22: error: request for member ‘mask’ in something not a structure or union
          RTE_DIM(ipv6.mask.dst_ip));
                      ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1456:27: error: request for member ‘dst_ip’ in something not a structure or union
          RTE_DIM(ipv6.mask.dst_ip));
                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1456:22: error: request for member ‘mask’ in something not a structure or union
          RTE_DIM(ipv6.mask.dst_ip));
                      ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1456:27: error: request for member ‘dst_ip’ in something not a structure or union
          RTE_DIM(ipv6.mask.dst_ip));
                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1456:10: note: in expansion of macro ‘RTE_DIM’
          RTE_DIM(ipv6.mask.dst_ip));
          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1456:10: warning: passing argument 3 of ‘memcpy’ makes integer from pointer without a cast [enabled by default]
In file included from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:35:0:
/usr/include/string.h:42:14: note: expected ‘size_t’ but argument is of type ‘const struct mlx5_flow_items *’
 extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1457:7: error: request for member ‘mask’ in something not a structure or union
   ipv6.mask.flow_label = (mask->hdr.vtc_flow & 0xfffff);
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1457:12: error: request for member ‘flow_label’ in something not a structure or union
   ipv6.mask.flow_label = (mask->hdr.vtc_flow & 0xfffff);
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1458:7: error: request for member ‘mask’ in something not a structure or union
   ipv6.mask.next_hdr = mask->hdr.proto;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1458:12: error: request for member ‘next_hdr’ in something not a structure or union
   ipv6.mask.next_hdr = mask->hdr.proto;
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1459:7: error: request for member ‘mask’ in something not a structure or union
   ipv6.mask.hop_limit = mask->hdr.hop_limits;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1459:12: error: request for member ‘hop_limit’ in something not a structure or union
   ipv6.mask.hop_limit = mask->hdr.hop_limits;
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1460:13: error: request for member ‘mask’ in something not a structure or union
         ipv6.mask.flow_label = mask->hdr.vtc_flow;
             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1460:18: error: request for member ‘flow_label’ in something not a structure or union
         ipv6.mask.flow_label = mask->hdr.vtc_flow;
                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1461:13: error: request for member ‘mask’ in something not a structure or union
         ipv6.mask.traffic_class = (uint8_t)(mask->hdr.vtc_flow>>20);
             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1461:18: error: request for member ‘traffic_class’ in something not a structure or union
         ipv6.mask.traffic_class = (uint8_t)(mask->hdr.vtc_flow>>20);
                  ^
In file included from ../../src/dpdk/lib/librte_eal/common/include/rte_log.h:53:0,
                 from ../../src/dpdk/lib/librte_ether/rte_ethdev.h:178,
                 from ../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:47:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1463:31: error: request for member ‘val’ in something not a structure or union
   for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
                               ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1463:35: error: request for member ‘src_ip’ in something not a structure or union
   for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
                                   ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:29: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1463:31: error: request for member ‘val’ in something not a structure or union
   for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
                               ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1463:35: error: request for member ‘src_ip’ in something not a structure or union
   for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
                                   ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:43: note: in definition of macro ‘RTE_DIM’
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                           ^
../../src/dpdk/lib/librte_eal/common/include/rte_common.h:416:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
 #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
                                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1463:19: note: in expansion of macro ‘RTE_DIM’
   for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1463:17: warning: comparison between pointer and integer [enabled by default]
   for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
                 ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1464:8: error: request for member ‘val’ in something not a structure or union
    ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
        ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1464:12: error: request for member ‘src_ip’ in something not a structure or union
    ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1464:30: error: request for member ‘mask’ in something not a structure or union
    ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1464:35: error: request for member ‘src_ip’ in something not a structure or union
    ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
                                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1464:23: error: invalid operands to binary & (have ‘const struct mlx5_flow_items’ and ‘const struct mlx5_flow_items’)
    ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
                       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1464:4: error: assignment of read-only location ‘<erroneous-expression>[i]’
    ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1465:8: error: request for member ‘val’ in something not a structure or union
    ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
        ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1465:12: error: request for member ‘dst_ip’ in something not a structure or union
    ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1465:30: error: request for member ‘mask’ in something not a structure or union
    ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1465:35: error: request for member ‘dst_ip’ in something not a structure or union
    ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
                                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1465:23: error: invalid operands to binary & (have ‘const struct mlx5_flow_items’ and ‘const struct mlx5_flow_items’)
    ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
                       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1465:4: error: assignment of read-only location ‘<erroneous-expression>[i]’
    ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1467:7: error: request for member ‘val’ in something not a structure or union
   ipv6.val.flow_label &= ipv6.mask.flow_label;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1467:11: error: request for member ‘flow_label’ in something not a structure or union
   ipv6.val.flow_label &= ipv6.mask.flow_label;
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1467:30: error: request for member ‘mask’ in something not a structure or union
   ipv6.val.flow_label &= ipv6.mask.flow_label;
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1467:35: error: request for member ‘flow_label’ in something not a structure or union
   ipv6.val.flow_label &= ipv6.mask.flow_label;
                                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1468:7: error: request for member ‘val’ in something not a structure or union
   ipv6.val.next_hdr &= ipv6.mask.next_hdr;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1468:11: error: request for member ‘next_hdr’ in something not a structure or union
   ipv6.val.next_hdr &= ipv6.mask.next_hdr;
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1468:28: error: request for member ‘mask’ in something not a structure or union
   ipv6.val.next_hdr &= ipv6.mask.next_hdr;
                            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1468:33: error: request for member ‘next_hdr’ in something not a structure or union
   ipv6.val.next_hdr &= ipv6.mask.next_hdr;
                                 ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1469:7: error: request for member ‘val’ in something not a structure or union
   ipv6.val.hop_limit &= ipv6.mask.hop_limit;
       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1469:11: error: request for member ‘hop_limit’ in something not a structure or union
   ipv6.val.hop_limit &= ipv6.mask.hop_limit;
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1469:29: error: request for member ‘mask’ in something not a structure or union
   ipv6.val.hop_limit &= ipv6.mask.hop_limit;
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1469:34: error: request for member ‘hop_limit’ in something not a structure or union
   ipv6.val.hop_limit &= ipv6.mask.hop_limit;
                                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1470:13: error: request for member ‘val’ in something not a structure or union
         ipv6.val.traffic_class = (spec->hdr.vtc_flow>>20);
             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1470:17: error: request for member ‘traffic_class’ in something not a structure or union
         ipv6.val.traffic_class = (spec->hdr.vtc_flow>>20);
                 ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1471:13: error: request for member ‘val’ in something not a structure or union
         ipv6.val.traffic_class &= ipv6.mask.traffic_class;
             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1471:17: error: request for member ‘traffic_class’ in something not a structure or union
         ipv6.val.traffic_class &= ipv6.mask.traffic_class;
                 ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1471:39: error: request for member ‘mask’ in something not a structure or union
         ipv6.val.traffic_class &= ipv6.mask.traffic_class;
                                       ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1471:44: error: request for member ‘traffic_class’ in something not a structure or union
         ipv6.val.traffic_class &= ipv6.mask.traffic_class;
                                            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_vxlan’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1587:29: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_tunnel’
  unsigned int size = sizeof(struct ibv_flow_spec_tunnel);
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1587:22: warning: initialization makes integer from pointer without a cast [enabled by default]
  unsigned int size = sizeof(struct ibv_flow_spec_tunnel);
                      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1588:9: error: variable ‘vxlan’ has initializer but incomplete type
  struct ibv_flow_spec_tunnel vxlan = {
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1589:3: error: unknown field ‘type’ specified in initializer
   .type = parser->inner | IBV_FLOW_SPEC_VXLAN_TUNNEL,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1589:27: error: ‘IBV_FLOW_SPEC_VXLAN_TUNNEL’ undeclared (first use in this function)
   .type = parser->inner | IBV_FLOW_SPEC_VXLAN_TUNNEL,
                           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1589:25: error: invalid operands to binary | (have ‘uint32_t’ and ‘const struct mlx5_flow_items *’)
   .type = parser->inner | IBV_FLOW_SPEC_VXLAN_TUNNEL,
                         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1589:3: warning: excess elements in struct initializer [enabled by default]
   .type = parser->inner | IBV_FLOW_SPEC_VXLAN_TUNNEL,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1589:3: warning: (near initialization for ‘vxlan’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1590:3: error: unknown field ‘size’ specified in initializer
   .size = size,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1590:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1590:3: warning: (near initialization for ‘vxlan’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1588:30: error: storage size of ‘vxlan’ isn’t known
  struct ibv_flow_spec_tunnel vxlan = {
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1598:18: error: ‘IBV_FLOW_SPEC_INNER’ undeclared (first use in this function)
  parser->inner = IBV_FLOW_SPEC_INNER;
                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1598:16: warning: assignment makes integer from pointer without a cast [enabled by default]
  parser->inner = IBV_FLOW_SPEC_INNER;
                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1603:8: error: request for member ‘val’ in something not a structure or union
   vxlan.val.tunnel_id = id.vlan_id;
        ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1603:12: error: request for member ‘tunnel_id’ in something not a structure or union
   vxlan.val.tunnel_id = id.vlan_id;
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1605:8: error: request for member ‘mask’ in something not a structure or union
   vxlan.mask.tunnel_id = id.vlan_id;
        ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1605:13: error: request for member ‘tunnel_id’ in something not a structure or union
   vxlan.mask.tunnel_id = id.vlan_id;
             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1607:8: error: request for member ‘val’ in something not a structure or union
   vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
        ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1607:12: error: request for member ‘tunnel_id’ in something not a structure or union
   vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1607:31: error: request for member ‘mask’ in something not a structure or union
   vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
                               ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1607:36: error: request for member ‘tunnel_id’ in something not a structure or union
   vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
                                    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1617:12: error: request for member ‘val’ in something not a structure or union
  if (!vxlan.val.tunnel_id)
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1617:16: error: request for member ‘tunnel_id’ in something not a structure or union
  if (!vxlan.val.tunnel_id)
                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_flag_mark’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1634:29: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_tag’
  unsigned int size = sizeof(struct ibv_flow_spec_action_tag);
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1634:22: warning: initialization makes integer from pointer without a cast [enabled by default]
  unsigned int size = sizeof(struct ibv_flow_spec_action_tag);
                      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1635:9: error: variable ‘tag’ has initializer but incomplete type
  struct ibv_flow_spec_action_tag tag = {
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1636:3: error: unknown field ‘type’ specified in initializer
   .type = IBV_FLOW_SPEC_ACTION_TAG,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1636:11: error: ‘IBV_FLOW_SPEC_ACTION_TAG’ undeclared (first use in this function)
   .type = IBV_FLOW_SPEC_ACTION_TAG,
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1636:3: warning: excess elements in struct initializer [enabled by default]
   .type = IBV_FLOW_SPEC_ACTION_TAG,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1636:3: warning: (near initialization for ‘tag’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1637:3: error: unknown field ‘size’ specified in initializer
   .size = size,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1637:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1637:3: warning: (near initialization for ‘tag’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1638:3: error: unknown field ‘tag_id’ specified in initializer
   .tag_id = mlx5_flow_mark_set(mark_id),
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1638:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1638:3: warning: (near initialization for ‘tag’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1635:34: error: storage size of ‘tag’ isn’t known
  struct ibv_flow_spec_action_tag tag = {
                                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_count’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1662:29: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_counter_action’
  unsigned int size = sizeof(struct ibv_flow_spec_counter_action);
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1662:22: warning: initialization makes integer from pointer without a cast [enabled by default]
  unsigned int size = sizeof(struct ibv_flow_spec_counter_action);
                      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1663:9: error: variable ‘init_attr’ has initializer but incomplete type
  struct ibv_counter_set_init_attr init_attr = {0};
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1663:9: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1663:9: warning: (near initialization for ‘init_attr’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1663:35: error: storage size of ‘init_attr’ isn’t known
  struct ibv_counter_set_init_attr init_attr = {0};
                                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1664:9: error: variable ‘counter’ has initializer but incomplete type
  struct ibv_flow_spec_counter_action counter = {
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1665:3: error: unknown field ‘type’ specified in initializer
   .type = IBV_FLOW_SPEC_ACTION_COUNT,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1665:11: error: ‘IBV_FLOW_SPEC_ACTION_COUNT’ undeclared (first use in this function)
   .type = IBV_FLOW_SPEC_ACTION_COUNT,
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1665:3: warning: excess elements in struct initializer [enabled by default]
   .type = IBV_FLOW_SPEC_ACTION_COUNT,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1665:3: warning: (near initialization for ‘counter’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1666:3: error: unknown field ‘size’ specified in initializer
   .size = size,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1666:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1666:3: warning: (near initialization for ‘counter’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1667:3: error: unknown field ‘counter_set_handle’ specified in initializer
   .counter_set_handle = 0,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1667:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1667:3: warning: (near initialization for ‘counter’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1664:38: error: storage size of ‘counter’ isn’t known
  struct ibv_flow_spec_counter_action counter = {
                                      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1670:11: error: request for member ‘counter_set_id’ in something not a structure or union
  init_attr.counter_set_id = 0;
           ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1671:13: warning: assignment makes pointer from integer without a cast [enabled by default]
  parser->cs = ibv_create_counter_set(priv->ctx, &init_attr);
             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1674:9: error: request for member ‘counter_set_handle’ in something not a structure or union
  counter.counter_set_handle = parser->cs->handle;
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1674:41: error: dereferencing pointer to incomplete type
  counter.counter_set_handle = parser->cs->handle;
                                         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1674:41: error: request for member ‘handle’ in something not a structure or union
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_create_action_queue_drop’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1702:29: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_drop’
  unsigned int size = sizeof(struct ibv_flow_spec_action_drop);
                             ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1702:22: warning: initialization makes integer from pointer without a cast [enabled by default]
  unsigned int size = sizeof(struct ibv_flow_spec_action_drop);
                      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1710:2: error: dereferencing pointer to incomplete type
  *drop = (struct ibv_flow_spec_action_drop){
  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1711:4: error: unknown field ‘type’ specified in initializer
    .type = IBV_FLOW_SPEC_ACTION_DROP,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1711:12: error: ‘IBV_FLOW_SPEC_ACTION_DROP’ undeclared (first use in this function)
    .type = IBV_FLOW_SPEC_ACTION_DROP,
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1711:4: warning: excess elements in struct initializer [enabled by default]
    .type = IBV_FLOW_SPEC_ACTION_DROP,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1711:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1712:4: error: unknown field ‘size’ specified in initializer
    .size = size,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1712:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1712:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:1713:2: error: invalid use of undefined type ‘struct ibv_flow_spec_action_drop’
  };
  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_create_drop_queue’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2133:4: error: unknown field ‘wq_type’ specified in initializer
    .wq_type = IBV_WQT_RQ,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2133:15: error: ‘IBV_WQT_RQ’ undeclared (first use in this function)
    .wq_type = IBV_WQT_RQ,
               ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2133:4: warning: excess elements in struct initializer [enabled by default]
    .wq_type = IBV_WQT_RQ,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2133:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2134:4: error: unknown field ‘max_wr’ specified in initializer
    .max_wr = 1,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2134:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2134:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2135:4: error: unknown field ‘max_sge’ specified in initializer
    .max_sge = 1,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2135:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2135:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2136:4: error: unknown field ‘pd’ specified in initializer
    .pd = priv->pd,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2136:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2136:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2137:4: error: unknown field ‘cq’ specified in initializer
    .cq = fdq->cq,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2137:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2137:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2138:4: error: invalid use of undefined type ‘struct ibv_wq_init_attr’
    });
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2131:10: warning: assignment makes pointer from integer without a cast [enabled by default]
  fdq->wq = ibv_create_wq(priv->ctx,
          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2145:4: error: unknown field ‘log_ind_tbl_size’ specified in initializer
    .log_ind_tbl_size = 0,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2145:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2145:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2146:4: error: unknown field ‘ind_tbl’ specified in initializer
    .ind_tbl = &fdq->wq,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2146:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2146:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2147:4: error: unknown field ‘comp_mask’ specified in initializer
    .comp_mask = 0,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2147:4: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2147:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2148:4: error: invalid use of undefined type ‘struct ibv_rwq_ind_table_init_attr’
    });
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2143:17: warning: assignment makes pointer from integer without a cast [enabled by default]
  fdq->ind_table = ibv_create_rwq_ind_table(priv->ctx,
                 ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2158:5: error: ‘IBV_QP_INIT_ATTR_IND_TABLE’ undeclared (first use in this function)
     IBV_QP_INIT_ATTR_IND_TABLE |
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2157:25: error: invalid operands to binary | (have ‘int’ and ‘const struct mlx5_flow_items *’)
     IBV_QP_INIT_ATTR_PD |
                         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2159:5: error: ‘IBV_QP_INIT_ATTR_RX_HASH’ undeclared (first use in this function)
     IBV_QP_INIT_ATTR_RX_HASH,
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2158:32: error: invalid operands to binary | (have ‘const struct mlx5_flow_items *’ and ‘const struct mlx5_flow_items *’)
     IBV_QP_INIT_ATTR_IND_TABLE |
                                ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2159:5: warning: initialization makes integer from pointer without a cast [enabled by default]
     IBV_QP_INIT_ATTR_RX_HASH,
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2159:5: warning: (near initialization for ‘(anonymous).comp_mask’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2160:4: error: unknown field ‘rx_hash_conf’ specified in initializer
    .rx_hash_conf = (struct ibv_rx_hash_conf){
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2161:5: error: unknown field ‘rx_hash_function’ specified in initializer
     .rx_hash_function =
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2162:6: error: ‘IBV_RX_HASH_FUNC_TOEPLITZ’ undeclared (first use in this function)
      IBV_RX_HASH_FUNC_TOEPLITZ,
      ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2162:6: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2162:6: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2163:5: error: unknown field ‘rx_hash_key_len’ specified in initializer
     .rx_hash_key_len = rss_hash_default_key_len,
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2163:5: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2163:5: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2164:5: error: unknown field ‘rx_hash_key’ specified in initializer
     .rx_hash_key = rss_hash_default_key,
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2164:5: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2164:5: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2165:5: error: unknown field ‘rx_hash_fields_mask’ specified in initializer
     .rx_hash_fields_mask = 0,
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2165:5: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2165:5: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2166:5: error: invalid use of undefined type ‘struct ibv_rx_hash_conf’
     },
     ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2166:5: warning: initialization from incompatible pointer type [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2166:5: warning: (near initialization for ‘(anonymous).pd’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2167:4: error: unknown field ‘rwq_ind_tbl’ specified in initializer
    .rwq_ind_tbl = fdq->ind_table,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2167:4: warning: initialization from incompatible pointer type [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2167:4: warning: (near initialization for ‘(anonymous).xrcd’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_query_count’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2522:9: error: variable ‘query_cs_attr’ has initializer but incomplete type
  struct ibv_query_counter_set_attr query_cs_attr = {
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2523:3: error: unknown field ‘cs’ specified in initializer
   .cs = cs,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2523:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2523:3: warning: (near initialization for ‘query_cs_attr’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2524:3: error: unknown field ‘query_flags’ specified in initializer
   .query_flags = IBV_COUNTER_SET_FORCE_UPDATE,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2524:18: error: ‘IBV_COUNTER_SET_FORCE_UPDATE’ undeclared (first use in this function)
   .query_flags = IBV_COUNTER_SET_FORCE_UPDATE,
                  ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2524:3: warning: excess elements in struct initializer [enabled by default]
   .query_flags = IBV_COUNTER_SET_FORCE_UPDATE,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2524:3: warning: (near initialization for ‘query_cs_attr’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2522:36: error: storage size of ‘query_cs_attr’ isn’t known
  struct ibv_query_counter_set_attr query_cs_attr = {
                                    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2526:9: error: variable ‘query_out’ has initializer but incomplete type
  struct ibv_counter_set_data query_out = {
         ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2527:3: error: unknown field ‘out’ specified in initializer
   .out = counters,
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2527:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2527:3: warning: (near initialization for ‘query_out’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2528:3: error: unknown field ‘outlen’ specified in initializer
   .outlen = 2 * sizeof(uint64_t),
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2528:3: warning: excess elements in struct initializer [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2528:3: warning: (near initialization for ‘query_out’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2526:30: error: storage size of ‘query_out’ isn’t known
  struct ibv_counter_set_data query_out = {
                              ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_fdir_filter_delete’:
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2884:3: error: dereferencing pointer to incomplete type
   *drop = (struct ibv_flow_spec_action_drop){
   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2885:4: error: unknown field ‘type’ specified in initializer
    .type = IBV_FLOW_SPEC_ACTION_DROP,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2885:12: error: ‘IBV_FLOW_SPEC_ACTION_DROP’ undeclared (first use in this function)
    .type = IBV_FLOW_SPEC_ACTION_DROP,
            ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2885:4: warning: excess elements in struct initializer [enabled by default]
    .type = IBV_FLOW_SPEC_ACTION_DROP,
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2885:4: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2886:4: error: unknown field ‘size’ specified in initializer
    .size = sizeof(struct ibv_flow_spec_action_drop),
    ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2886:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_drop’
    .size = sizeof(struct ibv_flow_spec_action_drop),
                   ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2886:26: warning: excess elements in struct initializer [enabled by default]
    .size = sizeof(struct ibv_flow_spec_action_drop),
                          ^
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2886:26: warning: (near initialization for ‘(anonymous)’) [enabled by default]
../../src/dpdk/drivers/net/mlx5/mlx5_flow.c:2887:3: error: invalid use of undefined type ‘struct ibv_flow_spec_action_drop’
   };
   ^

Waf: Leaving directory `/root/trex-core/linux_dpdk/build_dpdk'
Build failed
 -> task in 'mlx5-64-debug' failed with exit status 1:
    {task 140291557148304: c mlx5_txq.c -> mlx5_txq.c.5.o}
['/usr/bin/gcc', '-DWIN_UCODE_SIM', '-D_BYTE_ORDER', '-D_LITTLE_ENDIAN', '-DLINUX', '-g', '-Wno-format', '-Wno-deprecated-declarations', '-DRTE_DPDK', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-D__STDC_CONSTANT_MACROS', '-march=native', '-mssse3', '-msse4.1', '-mpclmul', '-DRTE_MACHINE_CPUFLAG_SSE', '-DRTE_MACHINE_CPUFLAG_SSE2', '-DRTE_MACHINE_CPUFLAG_SSE3', '-DRTE_MACHINE_CPUFLAG_SSSE3', '-DRTE_MACHINE_CPUFLAG_SSE4_1', '-DRTE_MACHINE_CPUFLAG_SSE4_2', '-DRTE_MACHINE_CPUFLAG_AES', '-DRTE_MACHINE_CPUFLAG_PCLMULQDQ', '-DRTE_MACHINE_CPUFLAG_AVX', '-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX', '-DTREX_USE_BPFJIT', '-m64', '-O0', '-D_DEBUG', '-D_GNU_SOURCE', '-DPF_DRIVER', '-DX722_SUPPORT', '-DX722_A0_SUPPORT', '-DVF_DRIVER', '-DINTEGRATED_VF', '-include', '../src/pal/linux_dpdk/dpdk1711_x86_64/rte_config.h', '-UNDEBUG', '-fPIC', '-Isrc/dpdk/lib/librte_eal/common/include/arch/x86', '-I../../src/dpdk/lib/librte_eal/common/include/arch/x86', '-Isrc', '-I../../src', '-Isrc/pal/linux_dpdk', '-I../../src/pal/linux_dpdk', '-Isrc/pal/linux_dpdk/dpdk1711_x86_64', '-I../../src/pal/linux_dpdk/dpdk1711_x86_64', '-Isrc/dpdk/drivers', '-I../../src/dpdk/drivers', '-Isrc/dpdk/drivers/net', '-I../../src/dpdk/drivers/net', '-Isrc/dpdk/drivers/net/af_packet', '-I../../src/dpdk/drivers/net/af_packet', '-Isrc/dpdk/drivers/net/e1000', '-I../../src/dpdk/drivers/net/e1000', '-Isrc/dpdk/drivers/net/e1000/base', '-I../../src/dpdk/drivers/net/e1000/base', '-Isrc/dpdk/drivers/net/enic', '-I../../src/dpdk/drivers/net/enic', '-Isrc/dpdk/drivers/net/enic/base', '-I../../src/dpdk/drivers/net/enic/base', '-Isrc/dpdk/drivers/net/i40e', '-I../../src/dpdk/drivers/net/i40e', '-Isrc/dpdk/drivers/net/i40e/base', '-I../../src/dpdk/drivers/net/i40e/base', '-Isrc/dpdk/drivers/net/ixgbe', '-I../../src/dpdk/drivers/net/ixgbe', '-Isrc/dpdk/drivers/net/ixgbe/base', '-I../../src/dpdk/drivers/net/ixgbe/base', '-I../src/dpdk/drivers/net/mlx4', '-I../../../src/dpdk/drivers/net/mlx4', '-Isrc/dpdk/drivers/net/mlx5', '-I../../src/dpdk/drivers/net/mlx5', '-Isrc/dpdk/drivers/net/ntacc', '-I../../src/dpdk/drivers/net/ntacc', '-Isrc/dpdk/drivers/net/virtio', '-I../../src/dpdk/drivers/net/virtio', '-Isrc/dpdk/drivers/net/virtio/virtio_user', '-I../../src/dpdk/drivers/net/virtio/virtio_user', '-Isrc/dpdk/drivers/net/vmxnet3', '-I../../src/dpdk/drivers/net/vmxnet3', '-Isrc/dpdk/drivers/net/vmxnet3/base', '-I../../src/dpdk/drivers/net/vmxnet3/base', '-Isrc/dpdk/lib', '-I../../src/dpdk/lib', '-Isrc/dpdk/lib/librte_cfgfile', '-I../../src/dpdk/lib/librte_cfgfile', '-Isrc/dpdk/lib/librte_compat', '-I../../src/dpdk/lib/librte_compat', '-Isrc/dpdk/lib/librte_distributor', '-I../../src/dpdk/lib/librte_distributor', '-Isrc/dpdk/lib/librte_eal', '-I../../src/dpdk/lib/librte_eal', '-Isrc/dpdk/lib/librte_eal/common', '-I../../src/dpdk/lib/librte_eal/common', '-Isrc/dpdk/lib/librte_eal/common/include', '-I../../src/dpdk/lib/librte_eal/common/include', '-Isrc/dpdk/lib/librte_eal/common/include/arch', '-I../../src/dpdk/lib/librte_eal/common/include/arch', '-Isrc/dpdk/lib/librte_eal/common/include/generic', '-I../../src/dpdk/lib/librte_eal/common/include/generic', '-Isrc/dpdk/lib/librte_eal/linuxapp', '-I../../src/dpdk/lib/librte_eal/linuxapp', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-Isrc/dpdk/lib/librte_eal/linuxapp/igb_uio', '-I../../src/dpdk/lib/librte_eal/linuxapp/igb_uio', '-Isrc/dpdk/lib/librte_ether', '-I../../src/dpdk/lib/librte_ether', '-Isrc/dpdk/lib/librte_hash', '-I../../src/dpdk/lib/librte_hash', '-Isrc/dpdk/lib/librte_kvargs', '-I../../src/dpdk/lib/librte_kvargs', '-Isrc/dpdk/lib/librte_mbuf', '-I../../src/dpdk/lib/librte_mbuf', '-Isrc/dpdk/lib/librte_mempool', '-I../../src/dpdk/lib/librte_mempool', '-Isrc/dpdk/lib/librte_ring', '-I../../src/dpdk/lib/librte_ring', '-Isrc/dpdk/lib/librte_pci', '-I../../src/dpdk/lib/librte_pci', '-Isrc/dpdk/lib/librte_net', '-I../../src/dpdk/lib/librte_net', '-Isrc/dpdk/lib/librte_port', '-I../../src/dpdk/lib/librte_port', '-Isrc/dpdk', '-I../../src/dpdk', '-Isrc/dpdk/drivers/bus/pci', '-I../../src/dpdk/drivers/bus/pci', '-Isrc/dpdk/drivers/bus/vdev', '-I../../src/dpdk/drivers/bus/vdev', '-Isrc/dpdk/drivers/bus/pci/linux', '-I../../src/dpdk/drivers/bus/pci/linux', '../../src/dpdk/drivers/net/mlx5/mlx5_txq.c', '-c', '-o/root/trex-core/linux_dpdk/build_dpdk/src/dpdk/drivers/net/mlx5/mlx5_txq.c.5.o']
 -> task in 'mlx5-64-debug' failed with exit status 1:
    {task 140291557148384: c mlx5.c -> mlx5.c.5.o}
['/usr/bin/gcc', '-DWIN_UCODE_SIM', '-D_BYTE_ORDER', '-D_LITTLE_ENDIAN', '-DLINUX', '-g', '-Wno-format', '-Wno-deprecated-declarations', '-DRTE_DPDK', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-D__STDC_CONSTANT_MACROS', '-march=native', '-mssse3', '-msse4.1', '-mpclmul', '-DRTE_MACHINE_CPUFLAG_SSE', '-DRTE_MACHINE_CPUFLAG_SSE2', '-DRTE_MACHINE_CPUFLAG_SSE3', '-DRTE_MACHINE_CPUFLAG_SSSE3', '-DRTE_MACHINE_CPUFLAG_SSE4_1', '-DRTE_MACHINE_CPUFLAG_SSE4_2', '-DRTE_MACHINE_CPUFLAG_AES', '-DRTE_MACHINE_CPUFLAG_PCLMULQDQ', '-DRTE_MACHINE_CPUFLAG_AVX', '-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX', '-DTREX_USE_BPFJIT', '-m64', '-O0', '-D_DEBUG', '-D_GNU_SOURCE', '-DPF_DRIVER', '-DX722_SUPPORT', '-DX722_A0_SUPPORT', '-DVF_DRIVER', '-DINTEGRATED_VF', '-include', '../src/pal/linux_dpdk/dpdk1711_x86_64/rte_config.h', '-UNDEBUG', '-fPIC', '-Isrc/dpdk/lib/librte_eal/common/include/arch/x86', '-I../../src/dpdk/lib/librte_eal/common/include/arch/x86', '-Isrc', '-I../../src', '-Isrc/pal/linux_dpdk', '-I../../src/pal/linux_dpdk', '-Isrc/pal/linux_dpdk/dpdk1711_x86_64', '-I../../src/pal/linux_dpdk/dpdk1711_x86_64', '-Isrc/dpdk/drivers', '-I../../src/dpdk/drivers', '-Isrc/dpdk/drivers/net', '-I../../src/dpdk/drivers/net', '-Isrc/dpdk/drivers/net/af_packet', '-I../../src/dpdk/drivers/net/af_packet', '-Isrc/dpdk/drivers/net/e1000', '-I../../src/dpdk/drivers/net/e1000', '-Isrc/dpdk/drivers/net/e1000/base', '-I../../src/dpdk/drivers/net/e1000/base', '-Isrc/dpdk/drivers/net/enic', '-I../../src/dpdk/drivers/net/enic', '-Isrc/dpdk/drivers/net/enic/base', '-I../../src/dpdk/drivers/net/enic/base', '-Isrc/dpdk/drivers/net/i40e', '-I../../src/dpdk/drivers/net/i40e', '-Isrc/dpdk/drivers/net/i40e/base', '-I../../src/dpdk/drivers/net/i40e/base', '-Isrc/dpdk/drivers/net/ixgbe', '-I../../src/dpdk/drivers/net/ixgbe', '-Isrc/dpdk/drivers/net/ixgbe/base', '-I../../src/dpdk/drivers/net/ixgbe/base', '-I../src/dpdk/drivers/net/mlx4', '-I../../../src/dpdk/drivers/net/mlx4', '-Isrc/dpdk/drivers/net/mlx5', '-I../../src/dpdk/drivers/net/mlx5', '-Isrc/dpdk/drivers/net/ntacc', '-I../../src/dpdk/drivers/net/ntacc', '-Isrc/dpdk/drivers/net/virtio', '-I../../src/dpdk/drivers/net/virtio', '-Isrc/dpdk/drivers/net/virtio/virtio_user', '-I../../src/dpdk/drivers/net/virtio/virtio_user', '-Isrc/dpdk/drivers/net/vmxnet3', '-I../../src/dpdk/drivers/net/vmxnet3', '-Isrc/dpdk/drivers/net/vmxnet3/base', '-I../../src/dpdk/drivers/net/vmxnet3/base', '-Isrc/dpdk/lib', '-I../../src/dpdk/lib', '-Isrc/dpdk/lib/librte_cfgfile', '-I../../src/dpdk/lib/librte_cfgfile', '-Isrc/dpdk/lib/librte_compat', '-I../../src/dpdk/lib/librte_compat', '-Isrc/dpdk/lib/librte_distributor', '-I../../src/dpdk/lib/librte_distributor', '-Isrc/dpdk/lib/librte_eal', '-I../../src/dpdk/lib/librte_eal', '-Isrc/dpdk/lib/librte_eal/common', '-I../../src/dpdk/lib/librte_eal/common', '-Isrc/dpdk/lib/librte_eal/common/include', '-I../../src/dpdk/lib/librte_eal/common/include', '-Isrc/dpdk/lib/librte_eal/common/include/arch', '-I../../src/dpdk/lib/librte_eal/common/include/arch', '-Isrc/dpdk/lib/librte_eal/common/include/generic', '-I../../src/dpdk/lib/librte_eal/common/include/generic', '-Isrc/dpdk/lib/librte_eal/linuxapp', '-I../../src/dpdk/lib/librte_eal/linuxapp', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-Isrc/dpdk/lib/librte_eal/linuxapp/igb_uio', '-I../../src/dpdk/lib/librte_eal/linuxapp/igb_uio', '-Isrc/dpdk/lib/librte_ether', '-I../../src/dpdk/lib/librte_ether', '-Isrc/dpdk/lib/librte_hash', '-I../../src/dpdk/lib/librte_hash', '-Isrc/dpdk/lib/librte_kvargs', '-I../../src/dpdk/lib/librte_kvargs', '-Isrc/dpdk/lib/librte_mbuf', '-I../../src/dpdk/lib/librte_mbuf', '-Isrc/dpdk/lib/librte_mempool', '-I../../src/dpdk/lib/librte_mempool', '-Isrc/dpdk/lib/librte_ring', '-I../../src/dpdk/lib/librte_ring', '-Isrc/dpdk/lib/librte_pci', '-I../../src/dpdk/lib/librte_pci', '-Isrc/dpdk/lib/librte_net', '-I../../src/dpdk/lib/librte_net', '-Isrc/dpdk/lib/librte_port', '-I../../src/dpdk/lib/librte_port', '-Isrc/dpdk', '-I../../src/dpdk', '-Isrc/dpdk/drivers/bus/pci', '-I../../src/dpdk/drivers/bus/pci', '-Isrc/dpdk/drivers/bus/vdev', '-I../../src/dpdk/drivers/bus/vdev', '-Isrc/dpdk/drivers/bus/pci/linux', '-I../../src/dpdk/drivers/bus/pci/linux', '../../src/dpdk/drivers/net/mlx5/mlx5.c', '-c', '-o/root/trex-core/linux_dpdk/build_dpdk/src/dpdk/drivers/net/mlx5/mlx5.c.5.o']
 -> task in 'mlx5-64-debug' failed with exit status 1:
    {task 140291557148464: c mlx5_flow.c -> mlx5_flow.c.5.o}
['/usr/bin/gcc', '-DWIN_UCODE_SIM', '-D_BYTE_ORDER', '-D_LITTLE_ENDIAN', '-DLINUX', '-g', '-Wno-format', '-Wno-deprecated-declarations', '-DRTE_DPDK', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-D__STDC_CONSTANT_MACROS', '-march=native', '-mssse3', '-msse4.1', '-mpclmul', '-DRTE_MACHINE_CPUFLAG_SSE', '-DRTE_MACHINE_CPUFLAG_SSE2', '-DRTE_MACHINE_CPUFLAG_SSE3', '-DRTE_MACHINE_CPUFLAG_SSSE3', '-DRTE_MACHINE_CPUFLAG_SSE4_1', '-DRTE_MACHINE_CPUFLAG_SSE4_2', '-DRTE_MACHINE_CPUFLAG_AES', '-DRTE_MACHINE_CPUFLAG_PCLMULQDQ', '-DRTE_MACHINE_CPUFLAG_AVX', '-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX', '-DTREX_USE_BPFJIT', '-m64', '-O0', '-D_DEBUG', '-D_GNU_SOURCE', '-DPF_DRIVER', '-DX722_SUPPORT', '-DX722_A0_SUPPORT', '-DVF_DRIVER', '-DINTEGRATED_VF', '-include', '../src/pal/linux_dpdk/dpdk1711_x86_64/rte_config.h', '-UNDEBUG', '-fPIC', '-Isrc/dpdk/lib/librte_eal/common/include/arch/x86', '-I../../src/dpdk/lib/librte_eal/common/include/arch/x86', '-Isrc', '-I../../src', '-Isrc/pal/linux_dpdk', '-I../../src/pal/linux_dpdk', '-Isrc/pal/linux_dpdk/dpdk1711_x86_64', '-I../../src/pal/linux_dpdk/dpdk1711_x86_64', '-Isrc/dpdk/drivers', '-I../../src/dpdk/drivers', '-Isrc/dpdk/drivers/net', '-I../../src/dpdk/drivers/net', '-Isrc/dpdk/drivers/net/af_packet', '-I../../src/dpdk/drivers/net/af_packet', '-Isrc/dpdk/drivers/net/e1000', '-I../../src/dpdk/drivers/net/e1000', '-Isrc/dpdk/drivers/net/e1000/base', '-I../../src/dpdk/drivers/net/e1000/base', '-Isrc/dpdk/drivers/net/enic', '-I../../src/dpdk/drivers/net/enic', '-Isrc/dpdk/drivers/net/enic/base', '-I../../src/dpdk/drivers/net/enic/base', '-Isrc/dpdk/drivers/net/i40e', '-I../../src/dpdk/drivers/net/i40e', '-Isrc/dpdk/drivers/net/i40e/base', '-I../../src/dpdk/drivers/net/i40e/base', '-Isrc/dpdk/drivers/net/ixgbe', '-I../../src/dpdk/drivers/net/ixgbe', '-Isrc/dpdk/drivers/net/ixgbe/base', '-I../../src/dpdk/drivers/net/ixgbe/base', '-I../src/dpdk/drivers/net/mlx4', '-I../../../src/dpdk/drivers/net/mlx4', '-Isrc/dpdk/drivers/net/mlx5', '-I../../src/dpdk/drivers/net/mlx5', '-Isrc/dpdk/drivers/net/ntacc', '-I../../src/dpdk/drivers/net/ntacc', '-Isrc/dpdk/drivers/net/virtio', '-I../../src/dpdk/drivers/net/virtio', '-Isrc/dpdk/drivers/net/virtio/virtio_user', '-I../../src/dpdk/drivers/net/virtio/virtio_user', '-Isrc/dpdk/drivers/net/vmxnet3', '-I../../src/dpdk/drivers/net/vmxnet3', '-Isrc/dpdk/drivers/net/vmxnet3/base', '-I../../src/dpdk/drivers/net/vmxnet3/base', '-Isrc/dpdk/lib', '-I../../src/dpdk/lib', '-Isrc/dpdk/lib/librte_cfgfile', '-I../../src/dpdk/lib/librte_cfgfile', '-Isrc/dpdk/lib/librte_compat', '-I../../src/dpdk/lib/librte_compat', '-Isrc/dpdk/lib/librte_distributor', '-I../../src/dpdk/lib/librte_distributor', '-Isrc/dpdk/lib/librte_eal', '-I../../src/dpdk/lib/librte_eal', '-Isrc/dpdk/lib/librte_eal/common', '-I../../src/dpdk/lib/librte_eal/common', '-Isrc/dpdk/lib/librte_eal/common/include', '-I../../src/dpdk/lib/librte_eal/common/include', '-Isrc/dpdk/lib/librte_eal/common/include/arch', '-I../../src/dpdk/lib/librte_eal/common/include/arch', '-Isrc/dpdk/lib/librte_eal/common/include/generic', '-I../../src/dpdk/lib/librte_eal/common/include/generic', '-Isrc/dpdk/lib/librte_eal/linuxapp', '-I../../src/dpdk/lib/librte_eal/linuxapp', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include', '-Isrc/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-I../../src/dpdk/lib/librte_eal/linuxapp/eal/include/exec-env', '-Isrc/dpdk/lib/librte_eal/linuxapp/igb_uio', '-I../../src/dpdk/lib/librte_eal/linuxapp/igb_uio', '-Isrc/dpdk/lib/librte_ether', '-I../../src/dpdk/lib/librte_ether', '-Isrc/dpdk/lib/librte_hash', '-I../../src/dpdk/lib/librte_hash', '-Isrc/dpdk/lib/librte_kvargs', '-I../../src/dpdk/lib/librte_kvargs', '-Isrc/dpdk/lib/librte_mbuf', '-I../../src/dpdk/lib/librte_mbuf', '-Isrc/dpdk/lib/librte_mempool', '-I../../src/dpdk/lib/librte_mempool', '-Isrc/dpdk/lib/librte_ring', '-I../../src/dpdk/lib/librte_ring', '-Isrc/dpdk/lib/librte_pci', '-I../../src/dpdk/lib/librte_pci', '-Isrc/dpdk/lib/librte_net', '-I../../src/dpdk/lib/librte_net', '-Isrc/dpdk/lib/librte_port', '-I../../src/dpdk/lib/librte_port', '-Isrc/dpdk', '-I../../src/dpdk', '-Isrc/dpdk/drivers/bus/pci', '-I../../src/dpdk/drivers/bus/pci', '-Isrc/dpdk/drivers/bus/vdev', '-I../../src/dpdk/drivers/bus/vdev', '-Isrc/dpdk/drivers/bus/pci/linux', '-I../../src/dpdk/drivers/bus/pci/linux', '../../src/dpdk/drivers/net/mlx5/mlx5_flow.c', '-c', '-o/root/trex-core/linux_dpdk/build_dpdk/src/dpdk/drivers/net/mlx5/mlx5_flow.c.5.o']
[root@dhcp-249-41-21-172 linux_dpdk]#

Using following Cent Os release:
[root@dhcp-249-41-21-172 linux_dpdk]# cat /etc/*-release
CentOS Linux release 7.4.1708 (Core)
NAME
="CentOS Linux"
VERSION
="7 (Core)"
ID
="centos"
ID_LIKE
="rhel fedora"
VERSION_ID
="7"
PRETTY_NAME
="CentOS Linux 7 (Core)"
ANSI_COLOR
="0;31"
CPE_NAME
="cpe:/o:centos:centos:7"
HOME_URL
="https://www.centos.org/"
BUG_REPORT_URL
="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT
="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION
="7"
REDHAT_SUPPORT_PRODUCT
="centos"
REDHAT_SUPPORT_PRODUCT_VERSION
="7"

CentOS Linux release 7.4.1708 (Core)
CentOS Linux release 7.4.1708 (Core)
[root@dhcp-249-41-21-172 linux_dpdk]#

Using following card and version:
[root@dhcp-249-41-21-172 linux_dpdk]# mstflint -d 02:00.1 q
Image type:            FS3
FW Version:            12.20.1820
FW Release Date:       13.9.2017
Product Version:       rel-12_20_1820
Rom Info:              type=PXE version=3.5.214 cpu=AMD64
Description:           UID                GuidsNumber
Base GUID:             ec0d9a03004a63c2        4
Base MAC:              ec0d9a4a63c2            4
Image VSD:             N/A
Device VSD:            N/A
PSID:                  DEL2150110033
Security Attributes:   N/A
[root@dhcp-249-41-21-172 linux_dpdk]#

Yaroslav Brustinov

unread,
Apr 17, 2018, 3:20:47 AM4/17/18
to Robert Blomberg, TRex Traffic Generator
Hi, Robert.

Could you confirm that you have installed OFED using full command provided in our manual?

Thanks,
Yaroslav.

--
You received this message because you are subscribed to the Google Groups "TRex Traffic Generator" group.
To unsubscribe from this group and stop receiving emails from it, send an email to trex-tgn+unsubscribe@googlegroups.com.
To post to this group, send email to trex...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trex-tgn/97b1e0e4-b80b-47b0-a856-803b97329e4a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Robert Blomberg

unread,
Apr 17, 2018, 9:07:27 AM4/17/18
to TRex Traffic Generator
I did not, I followed the manual and now it works like a charm.

Thanks a lot!
...
Reply all
Reply to author
Forward
0 new messages