SHARE
TWEET

Untitled

a guest Apr 18th, 2018 218 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. root@olnmalp026Bn001:/usr/src/dpdk-18.02-rc4# make -j install T=$DPDK_TARGET DESTDIR=install
  2. Configuration done using x86_64-native-linuxapp-gcc
  3. == Build lib
  4. == Build lib/librte_cfgfile
  5. == Build lib/librte_compat
  6. == Build lib/librte_eal
  7.   SYMLINK-FILE include/rte_compat.h
  8.   SYMLINK-FILE include/rte_cfgfile.h
  9.   CC rte_cfgfile.o
  10. == Build lib/librte_eal/common
  11.   SYMLINK-FILE include/rte_branch_prediction.h
  12.   SYMLINK-FILE include/rte_common.h
  13.   SYMLINK-FILE include/rte_debug.h
  14.   SYMLINK-FILE include/rte_errno.h
  15.   SYMLINK-FILE include/rte_launch.h
  16.   SYMLINK-FILE include/rte_eal.h
  17.   SYMLINK-FILE include/rte_lcore.h
  18.   SYMLINK-FILE include/rte_log.h
  19.   SYMLINK-FILE include/rte_eal_interrupts.h
  20.   SYMLINK-FILE include/rte_memory.h
  21.   SYMLINK-FILE include/rte_memzone.h
  22.   SYMLINK-FILE include/rte_per_lcore.h
  23.   SYMLINK-FILE include/rte_random.h
  24.   SYMLINK-FILE include/rte_tailq.h
  25.   SYMLINK-FILE include/rte_interrupts.h
  26.   SYMLINK-FILE include/rte_alarm.h
  27.   SYMLINK-FILE include/rte_string_fns.h
  28.   SYMLINK-FILE include/rte_version.h
  29.   SYMLINK-FILE include/rte_eal_memconfig.h
  30.   SYMLINK-FILE include/rte_malloc_heap.h
  31.   SYMLINK-FILE include/rte_hexdump.h
  32.   SYMLINK-FILE include/rte_devargs.h
  33.   SYMLINK-FILE include/rte_bus.h
  34.   SYMLINK-FILE include/rte_dev.h
  35.   SYMLINK-FILE include/rte_pci_dev_feature_defs.h
  36.   SYMLINK-FILE include/rte_malloc.h
  37.   SYMLINK-FILE include/rte_time.h
  38.   SYMLINK-FILE include/rte_pci_dev_features.h
  39.   SYMLINK-FILE include/rte_service.h
  40.   SYMLINK-FILE include/rte_service_component.h
  41.   SYMLINK-FILE include/rte_keepalive.h
  42.   SYMLINK-FILE include/rte_vfio.h
  43.   SYMLINK-FILE include/rte_bitmap.h
  44.   SYMLINK-FILE include/rte_hypervisor.h
  45.   SYMLINK-FILE include/rte_test.h
  46.   SYMLINK-FILE include/rte_reciprocal.h
  47.   SYMLINK-FILE include/rte_atomic.h
  48.   SYMLINK-FILE include/rte_atomic_64.h
  49.   SYMLINK-FILE include/rte_atomic_32.h
  50.   SYMLINK-FILE include/rte_byteorder.h
  51.   SYMLINK-FILE include/rte_byteorder_32.h
  52.   SYMLINK-FILE include/rte_byteorder_64.h
  53.   SYMLINK-FILE include/rte_cpuflags.h
  54.   SYMLINK-FILE include/rte_cycles.h
  55.   SYMLINK-FILE include/rte_io.h
  56.   SYMLINK-FILE include/rte_memcpy.h
  57.   SYMLINK-FILE include/rte_pause.h
  58.   SYMLINK-FILE include/rte_prefetch.h
  59.   SYMLINK-FILE include/rte_rtm.h
  60.   SYMLINK-FILE include/rte_rwlock.h
  61.   SYMLINK-FILE include/rte_spinlock.h
  62.   SYMLINK-FILE include/rte_vect.h
  63.   SYMLINK-FILE include/generic/rte_atomic.h
  64.   SYMLINK-FILE include/generic/rte_byteorder.h
  65.   SYMLINK-FILE include/generic/rte_cycles.h
  66.   SYMLINK-FILE include/generic/rte_prefetch.h
  67.   SYMLINK-FILE include/generic/rte_spinlock.h
  68.   SYMLINK-FILE include/generic/rte_memcpy.h
  69.   SYMLINK-FILE include/generic/rte_cpuflags.h
  70.   SYMLINK-FILE include/generic/rte_rwlock.h
  71.   SYMLINK-FILE include/generic/rte_vect.h
  72.   SYMLINK-FILE include/generic/rte_pause.h
  73.   SYMLINK-FILE include/generic/rte_io.h
  74. == Build lib/librte_eal/linuxapp
  75.   AR librte_cfgfile.a
  76.   INSTALL-LIB librte_cfgfile.a
  77. == Build lib/librte_eal/linuxapp/eal
  78. == Build lib/librte_eal/linuxapp/igb_uio
  79.   SYMLINK-FILE include/exec-env/rte_kni_common.h
  80.   CC eal.o
  81.   CC eal_memory.o
  82.   CC eal_hugepage_info.o
  83.   CC eal_thread.o
  84.   CC eal_debug.o
  85.   CC eal_interrupts.o
  86.   CC eal_vfio_mp_sync.o
  87.   CC eal_log.o
  88.   CC eal_common_lcore.o
  89.   CC eal_vfio.o
  90.   CC eal_common_memzone.o
  91.   CC eal_common_timer.o
  92.   CC eal_lcore.o
  93.   CC eal_common_log.o
  94.   CC eal_timer.o
  95.   CC eal_alarm.o
  96.   CC eal_common_launch.o
  97.   CC eal_common_tailqs.o
  98.   CC eal_common_errno.o
  99.   CC eal_common_memory.o
  100.   CC eal_common_cpuflags.o
  101.   CC eal_common_hypervisor.o
  102.   CC eal_common_string_fns.o
  103.   CC eal_common_hexdump.o
  104.   CC eal_common_devargs.o
  105.   CC eal_common_bus.o
  106.   CC eal_common_dev.o
  107.   CC eal_common_options.o
  108.   CC eal_common_thread.o
  109.   CC rte_malloc.o
  110.   CC eal_common_proc.o
  111.   CC malloc_elem.o
  112.   CC rte_service.o
  113.   CC rte_keepalive.o
  114.   CC malloc_heap.o
  115.   CC rte_cpuflags.o
  116.   CC rte_reciprocal.o
  117.   CC rte_hypervisor.o
  118.   CC rte_spinlock.o
  119.   CC rte_cycles.o
  120.   AR librte_eal.a
  121.   INSTALL-LIB librte_eal.a
  122. == Build lib/librte_eal/linuxapp/kni
  123.   LD      /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o
  124.   CC [M]  /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o
  125.   Building modules, stage 2.
  126.   MODPOST 1 modules
  127.   CC      /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.mod.o
  128.   LD [M]  /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko
  129. INSTALL-MODULE igb_uio.ko
  130.   LD      /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/built-in.o
  131.   CC [M]  /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_misc.o
  132.   CC [M]  /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_net.o
  133.   LD [M]  /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/rte_kni.o
  134.   Building modules, stage 2.
  135.   MODPOST 1 modules
  136.   CC      /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/rte_kni.mod.o
  137.   LD [M]  /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/rte_kni.ko
  138. INSTALL-MODULE rte_kni.ko
  139. == Build lib/librte_ring
  140. == Build lib/librte_jobstats
  141. == Build lib/librte_cmdline
  142. == Build lib/librte_pci
  143. == Build lib/librte_lpm
  144. == Build lib/librte_meter
  145. == Build lib/librte_kvargs
  146. == Build lib/librte_timer
  147. == Build lib/librte_power
  148. == Build lib/librte_acl
  149. == Build lib/librte_metrics
  150.   SYMLINK-FILE include/rte_jobstats.h
  151.   SYMLINK-FILE include/rte_lpm.h
  152.   SYMLINK-FILE include/rte_lpm6.h
  153.   SYMLINK-FILE include/rte_lpm_sse.h
  154.   CC rte_jobstats.o
  155.   CC rte_lpm.o
  156.   SYMLINK-FILE include/rte_pci.h
  157.   CC rte_lpm6.o
  158.   CC rte_pci.o
  159.   SYMLINK-FILE include/rte_timer.h
  160.   SYMLINK-FILE include/cmdline.h
  161.   SYMLINK-FILE include/cmdline_parse.h
  162.   SYMLINK-FILE include/cmdline_parse_num.h
  163.   SYMLINK-FILE include/rte_acl_osdep.h
  164.   SYMLINK-FILE include/cmdline_parse_ipaddr.h
  165.   SYMLINK-FILE include/rte_acl.h
  166.   SYMLINK-FILE include/rte_meter.h
  167.   SYMLINK-FILE include/cmdline_parse_etheraddr.h
  168.   CC rte_timer.o
  169.   SYMLINK-FILE include/cmdline_parse_string.h
  170.   SYMLINK-FILE include/rte_metrics.h
  171.   CC tb_mem.o
  172.   SYMLINK-FILE include/rte_power.h
  173.   SYMLINK-FILE include/rte_kvargs.h
  174.   SYMLINK-FILE include/rte_ring.h
  175.   SYMLINK-FILE include/rte_ring_generic.h
  176.   SYMLINK-FILE include/cmdline_vt100.h
  177.   CC rte_kvargs.o
  178.   SYMLINK-FILE include/cmdline_socket.h
  179.   SYMLINK-FILE include/cmdline_rdline.h
  180.   CC rte_meter.o
  181.   CC acl_bld.o
  182.   CC rte_acl.o
  183.   CC rte_metrics.o
  184.   CC acl_gen.o
  185.   SYMLINK-FILE include/rte_ring_c11_mem.h
  186.   SYMLINK-FILE include/cmdline_cirbuf.h
  187.   CC acl_run_scalar.o
  188.   SYMLINK-FILE include/cmdline_parse_portlist.h
  189.   CC rte_power.o
  190.   CC rte_ring.o
  191.   CC power_acpi_cpufreq.o
  192.   CC power_kvm_vm.o
  193.   CC guest_channel.o
  194.   CC acl_run_sse.o
  195.   CC acl_run_avx2.o
  196.   CC cmdline_parse.o
  197.   CC cmdline_parse_ipaddr.o
  198.   CC cmdline_parse_num.o
  199.   CC cmdline_parse_string.o
  200.   CC cmdline_rdline.o
  201.   CC cmdline_vt100.o
  202.   CC cmdline_socket.o
  203.   CC cmdline_parse_portlist.o
  204.   CC cmdline.o
  205.   CC cmdline_parse_etheraddr.o
  206.   CC cmdline_cirbuf.o
  207.   AR librte_meter.a
  208.   INSTALL-LIB librte_meter.a
  209.   AR librte_kvargs.a
  210.   INSTALL-LIB librte_kvargs.a
  211.   AR librte_pci.a
  212.   INSTALL-LIB librte_pci.a
  213.   AR librte_metrics.a
  214.   INSTALL-LIB librte_metrics.a
  215.   AR librte_ring.a
  216.   INSTALL-LIB librte_ring.a
  217. == Build lib/librte_mempool
  218. == Build lib/librte_hash
  219.   AR librte_timer.a
  220.   INSTALL-LIB librte_timer.a
  221.   AR librte_jobstats.a
  222.   INSTALL-LIB librte_jobstats.a
  223.   SYMLINK-FILE include/rte_hash.h
  224.   SYMLINK-FILE include/rte_hash_crc.h
  225.   SYMLINK-FILE include/rte_jhash.h
  226.   SYMLINK-FILE include/rte_thash.h
  227.   SYMLINK-FILE include/rte_fbk_hash.h
  228.   SYMLINK-FILE include/rte_mempool.h
  229.   CC rte_mempool.o
  230.   CC rte_mempool_ops.o
  231.   CC rte_cuckoo_hash.o
  232.   CC rte_fbk_hash.o
  233.   AR librte_cmdline.a
  234.   INSTALL-LIB librte_cmdline.a
  235.   AR librte_power.a
  236.   INSTALL-LIB librte_power.a
  237.   AR librte_lpm.a
  238.   INSTALL-LIB librte_lpm.a
  239.   AR librte_mempool.a
  240.   INSTALL-LIB librte_mempool.a
  241. == Build lib/librte_mbuf
  242.   SYMLINK-FILE include/rte_mbuf.h
  243.   SYMLINK-FILE include/rte_mbuf_ptype.h
  244.   SYMLINK-FILE include/rte_mbuf_pool_ops.h
  245.   CC rte_mbuf.o
  246.   CC rte_mbuf_pool_ops.o
  247.   CC rte_mbuf_ptype.o
  248.   AR librte_acl.a
  249.   INSTALL-LIB librte_acl.a
  250.   AR librte_mbuf.a
  251.   INSTALL-LIB librte_mbuf.a
  252. == Build lib/librte_net
  253. == Build lib/librte_bbdev
  254. == Build lib/librte_reorder
  255. == Build lib/librte_cryptodev
  256.   AR librte_hash.a
  257.   INSTALL-LIB librte_hash.a
  258. == Build lib/librte_member
  259. == Build lib/librte_efd
  260.   SYMLINK-FILE include/rte_bbdev_op.h
  261.   SYMLINK-FILE include/rte_bbdev.h
  262.   SYMLINK-FILE include/rte_bbdev_pmd.h
  263.   SYMLINK-FILE include/rte_ip.h
  264.   SYMLINK-FILE include/rte_esp.h
  265.   CC rte_bbdev.o
  266.   SYMLINK-FILE include/rte_sctp.h
  267.   SYMLINK-FILE include/rte_tcp.h
  268.   SYMLINK-FILE include/rte_icmp.h
  269.   SYMLINK-FILE include/rte_arp.h
  270.   SYMLINK-FILE include/rte_reorder.h
  271.   SYMLINK-FILE include/rte_ether.h
  272.   SYMLINK-FILE include/rte_udp.h
  273.   SYMLINK-FILE include/rte_crypto.h
  274.   SYMLINK-FILE include/rte_crypto_sym.h
  275.   SYMLINK-FILE include/rte_net.h
  276.   SYMLINK-FILE include/rte_cryptodev.h
  277.   SYMLINK-FILE include/rte_cryptodev_pmd.h
  278.   SYMLINK-FILE include/rte_gre.h
  279.   CC rte_reorder.o
  280.   SYMLINK-FILE include/rte_net_crc.h
  281.   CC rte_cryptodev.o
  282.   CC rte_net.o
  283.   CC rte_net_crc.o
  284.   CC rte_cryptodev_pmd.o
  285.   CC rte_arp.o
  286.   SYMLINK-FILE include/rte_member.h
  287.   SYMLINK-FILE include/rte_efd.h
  288.   CC rte_member.o
  289.   CC rte_efd.o
  290.   CC rte_member_ht.o
  291.   CC rte_member_vbf.o
  292.   AR librte_net.a
  293.   INSTALL-LIB librte_net.a
  294. == Build lib/librte_sched
  295. == Build lib/librte_ether
  296.   SYMLINK-FILE include/rte_sched.h
  297.   SYMLINK-FILE include/rte_sched_common.h
  298.   SYMLINK-FILE include/rte_red.h
  299.   SYMLINK-FILE include/rte_approx.h
  300.   CC rte_sched.o
  301.   CC rte_red.o
  302.   CC rte_approx.o
  303.   SYMLINK-FILE include/rte_ethdev.h
  304.   SYMLINK-FILE include/rte_ethdev_driver.h
  305.   SYMLINK-FILE include/rte_ethdev_pci.h
  306.   SYMLINK-FILE include/rte_ethdev_core.h
  307.   SYMLINK-FILE include/rte_dev_info.h
  308.   SYMLINK-FILE include/rte_flow.h
  309.   SYMLINK-FILE include/rte_ethdev_vdev.h
  310.   SYMLINK-FILE include/rte_flow_driver.h
  311.   SYMLINK-FILE include/rte_eth_ctrl.h
  312.   SYMLINK-FILE include/rte_tm_driver.h
  313.   SYMLINK-FILE include/rte_tm.h
  314.   SYMLINK-FILE include/rte_mtr.h
  315.   SYMLINK-FILE include/rte_mtr_driver.h
  316.   CC rte_ethdev.o
  317.   CC rte_mtr.o
  318.   CC rte_flow.o
  319.   CC rte_tm.o
  320.   CC ethdev_profile.o
  321.   AR librte_reorder.a
  322.   INSTALL-LIB librte_reorder.a
  323.   AR librte_cryptodev.a
  324.   INSTALL-LIB librte_cryptodev.a
  325.   AR librte_bbdev.a
  326.   INSTALL-LIB librte_bbdev.a
  327.   AR librte_efd.a
  328.   INSTALL-LIB librte_efd.a
  329.   AR librte_member.a
  330.   INSTALL-LIB librte_member.a
  331.   AR librte_sched.a
  332.   INSTALL-LIB librte_sched.a
  333.   AR librte_ethdev.a
  334.   INSTALL-LIB librte_ethdev.a
  335. == Build lib/librte_eventdev
  336. == Build lib/librte_security
  337. == Build lib/librte_rawdev
  338. == Build lib/librte_gro
  339. == Build lib/librte_ip_frag
  340. == Build lib/librte_kni
  341. == Build lib/librte_vhost
  342. == Build lib/librte_bitratestats
  343. == Build lib/librte_latencystats
  344. == Build lib/librte_pdump
  345. == Build lib/librte_gso
  346. == Build lib/librte_distributor
  347.   SYMLINK-FILE include/rte_rawdev.h
  348.   SYMLINK-FILE include/rte_rawdev_pmd.h
  349.   SYMLINK-FILE include/rte_eventdev.h
  350.   SYMLINK-FILE include/rte_eventdev_pmd.h
  351.   CC rte_rawdev.o
  352.   SYMLINK-FILE include/rte_eventdev_pmd_pci.h
  353.   SYMLINK-FILE include/rte_eventdev_pmd_vdev.h
  354.   SYMLINK-FILE include/rte_event_ring.h
  355.   SYMLINK-FILE include/rte_event_eth_rx_adapter.h
  356.   SYMLINK-FILE include/rte_latencystats.h
  357.   SYMLINK-FILE include/rte_security.h
  358.   SYMLINK-FILE include/rte_security_driver.h
  359.   SYMLINK-FILE include/rte_pdump.h
  360.   SYMLINK-FILE include/rte_gso.h
  361.   CC rte_security.o
  362.   SYMLINK-FILE include/rte_distributor.h
  363.   CC rte_latencystats.o
  364.   CC rte_eventdev.o
  365.   CC rte_pdump.o
  366.   CC rte_event_ring.o
  367.   CC rte_gso.o
  368.   CC rte_distributor_v20.o
  369.   CC rte_event_eth_rx_adapter.o
  370.   SYMLINK-FILE include/rte_kni.h
  371.   SYMLINK-FILE include/rte_vhost.h
  372.   CC gso_common.o
  373.   CC rte_distributor.o
  374.   CC rte_distributor_match_sse.o
  375.   CC gso_tcp4.o
  376.   CC gso_tunnel_tcp4.o
  377.   SYMLINK-FILE include/rte_gro.h
  378.   SYMLINK-FILE include/rte_bitrate.h
  379.   CC fd_man.o
  380.   CC rte_gro.o
  381.   CC iotlb.o
  382.   CC gro_tcp4.o
  383.   CC gro_vxlan_tcp4.o
  384.   CC rte_bitrate.o
  385.   CC socket.o
  386.   CC vhost.o
  387.   CC vhost_user.o
  388.   CC virtio_net.o
  389.   CC rte_kni.o
  390.   CC rte_ipv4_reassembly.o
  391.   CC rte_ipv4_fragmentation.o
  392.   CC rte_ipv6_reassembly.o
  393.   CC rte_ip_frag_common.o
  394.   CC ip_frag_internal.o
  395.   SYMLINK-FILE include/rte_ip_frag.h
  396.   CC rte_ipv6_fragmentation.o
  397.   AR librte_bitratestats.a
  398.   INSTALL-LIB librte_bitratestats.a
  399.   AR librte_gro.a
  400.   AR librte_security.a
  401.   INSTALL-LIB librte_security.a
  402.   INSTALL-LIB librte_gro.a
  403.   AR librte_latencystats.a
  404.   INSTALL-LIB librte_latencystats.a
  405.   AR librte_ip_frag.a
  406.   INSTALL-LIB librte_ip_frag.a
  407.   AR librte_gso.a
  408.   INSTALL-LIB librte_gso.a
  409.   AR librte_eventdev.a
  410.   INSTALL-LIB librte_eventdev.a
  411.   AR librte_kni.a
  412.   INSTALL-LIB librte_kni.a
  413. == Build lib/librte_port
  414.   AR librte_rawdev.a
  415.   INSTALL-LIB librte_rawdev.a
  416.   AR librte_distributor.a
  417.   INSTALL-LIB librte_distributor.a
  418.   AR librte_pdump.a
  419.   INSTALL-LIB librte_pdump.a
  420.   SYMLINK-FILE include/rte_port.h
  421.   SYMLINK-FILE include/rte_port_ethdev.h
  422.   SYMLINK-FILE include/rte_port_ring.h
  423.   SYMLINK-FILE include/rte_port_ras.h
  424.   SYMLINK-FILE include/rte_port_frag.h
  425.   SYMLINK-FILE include/rte_port_kni.h
  426.   SYMLINK-FILE include/rte_port_source_sink.h
  427.   SYMLINK-FILE include/rte_port_sched.h
  428.   SYMLINK-FILE include/rte_port_fd.h
  429.   CC rte_port_ethdev.o
  430.   CC rte_port_ring.o
  431.   CC rte_port_frag.o
  432.   CC rte_port_fd.o
  433.   CC rte_port_kni.o
  434.   CC rte_port_source_sink.o
  435.   CC rte_port_ras.o
  436.   CC rte_port_sched.o
  437.   AR librte_vhost.a
  438.   INSTALL-LIB librte_vhost.a
  439.   AR librte_port.a
  440.   INSTALL-LIB librte_port.a
  441. == Build lib/librte_table
  442.   SYMLINK-FILE include/rte_table.h
  443.   SYMLINK-FILE include/rte_table_lpm_ipv6.h
  444.   SYMLINK-FILE include/rte_table_lpm.h
  445.   SYMLINK-FILE include/rte_table_acl.h
  446.   SYMLINK-FILE include/rte_table_array.h
  447.   SYMLINK-FILE include/rte_lru_x86.h
  448.   SYMLINK-FILE include/rte_table_hash.h
  449.   SYMLINK-FILE include/rte_lru.h
  450.   SYMLINK-FILE include/rte_table_stub.h
  451.   CC rte_table_lpm.o
  452.   CC rte_table_acl.o
  453.   CC rte_table_lpm_ipv6.o
  454.   CC rte_table_hash_cuckoo.o
  455.   CC rte_table_hash_key8.o
  456.   CC rte_table_hash_key32.o
  457.   CC rte_table_hash_ext.o
  458.   CC rte_table_hash_lru.o
  459.   CC rte_table_array.o
  460.   CC rte_table_stub.o
  461.   CC rte_table_hash_key16.o
  462.   AR librte_table.a
  463.   INSTALL-LIB librte_table.a
  464. == Build lib/librte_pipeline
  465. == Build lib/librte_flow_classify
  466.   SYMLINK-FILE include/rte_pipeline.h
  467.   CC rte_pipeline.o
  468.   SYMLINK-FILE include/rte_flow_classify.h
  469.   CC rte_flow_classify.o
  470.   CC rte_flow_classify_parse.o
  471.   AR librte_flow_classify.a
  472.   INSTALL-LIB librte_flow_classify.a
  473.   AR librte_pipeline.a
  474.   INSTALL-LIB librte_pipeline.a
  475. == Build buildtools
  476. == Build buildtools/pmdinfogen
  477.   HOSTCC pmdinfogen.o
  478.   HOSTLD dpdk-pmdinfogen
  479.   INSTALL-HOSTAPP dpdk-pmdinfogen
  480. == Build drivers
  481. == Build drivers/bus
  482. == Build drivers/bus/vdev
  483. == Build drivers/bus/pci
  484.   SYMLINK-FILE include/rte_bus_vdev.h
  485.   CC vdev.o
  486.   SYMLINK-FILE include/rte_bus_pci.h
  487.   CC linux/pci.o
  488.   CC linux/pci_uio.o
  489.   CC linux/pci_vfio.o
  490.   CC pci_common.o
  491.   CC pci_common_uio.o
  492.   AR librte_bus_vdev.a
  493.   INSTALL-LIB librte_bus_vdev.a
  494.   AR librte_bus_pci.a
  495.   INSTALL-LIB librte_bus_pci.a
  496. == Build drivers/mempool
  497. == Build drivers/mempool/ring
  498. == Build drivers/mempool/stack
  499. == Build drivers/mempool/octeontx
  500.   CC rte_mempool_stack.o
  501.   CC rte_mempool_ring.o
  502.   CC octeontx_ssovf.o
  503.   CC octeontx_mbox.o
  504.   CC octeontx_fpavf.o
  505.   CC rte_mempool_octeontx.o
  506.   PMDINFO octeontx_ssovf.o.pmd.c
  507.   CC octeontx_ssovf.o.pmd.o
  508.   LD octeontx_ssovf.o
  509.   AR librte_mempool_stack.a
  510.   INSTALL-LIB librte_mempool_stack.a
  511.   PMDINFO octeontx_fpavf.o.pmd.c
  512.   CC octeontx_fpavf.o.pmd.o
  513.   LD octeontx_fpavf.o
  514.   AR librte_mempool_octeontx.a
  515.   INSTALL-LIB librte_mempool_octeontx.a
  516.   AR librte_mempool_ring.a
  517.   INSTALL-LIB librte_mempool_ring.a
  518. == Build drivers/net
  519. == Build drivers/crypto
  520. == Build drivers/bbdev
  521. == Build drivers/crypto/scheduler
  522. == Build drivers/crypto/null
  523. == Build drivers/net/ark
  524. == Build drivers/net/af_packet
  525. == Build drivers/net/e1000
  526. == Build drivers/net/avf
  527. == Build drivers/net/cxgbe
  528. == Build drivers/net/avp
  529. == Build drivers/net/enic
  530. == Build drivers/net/bonding
  531. == Build drivers/net/fm10k
  532. == Build drivers/net/i40e
  533. == Build drivers/net/tap
  534. == Build drivers/net/ixgbe
  535. == Build drivers/bbdev/null
  536. == Build drivers/net/liquidio
  537. == Build drivers/net/nfp
  538. == Build drivers/net/octeontx
  539. == Build drivers/net/bnxt
  540. == Build drivers/net/ena
  541. == Build drivers/net/failsafe
  542. == Build drivers/net/mlx5
  543. == Build drivers/net/qede
  544. == Build drivers/net/thunderx
  545. == Build drivers/net/vdev_netvsc
  546. == Build drivers/net/ring
  547. == Build drivers/net/sfc
  548. == Build drivers/net/null
  549. == Build drivers/net/virtio
  550. == Build drivers/net/kni
  551. == Build drivers/net/vmxnet3
  552. == Build drivers/net/softnic
  553. == Build drivers/net/vhost
  554.   SYMLINK-FILE include/rte_eth_vhost.h
  555.   CC rte_eth_vhost.o
  556.   CC ena_ethdev.o
  557.   CC nicvf_rxtx.o
  558.   CC ena_com.o
  559.   CC failsafe_args.o
  560.   CC failsafe.o
  561.   CC nicvf_mbox.o
  562.   CC rte_eth_af_packet.o
  563.   CC nicvf_ethdev.o
  564.   CC nicvf_hw.o
  565.   CC nicvf_bsvf.o
  566.   CC failsafe_rxtx.o
  567.   CC ena_eth_com.o
  568.   SYMLINK-FILE include/rte_cryptodev_scheduler.h
  569.   CC ark_ddm.o
  570.   CC ark_ethdev_tx.o
  571.   CC failsafe_ether.o
  572.   CC nicvf_svf.o
  573.   SYMLINK-FILE include/rte_cryptodev_scheduler_operations.h
  574.   CC failsafe_intr.o
  575.   CC nfp_nfpu.o
  576.   CC failsafe_flow.o
  577.   CC failsafe_ops.o
  578.   CC scheduler_pmd_ops.o
  579.   CC failsafe_eal.o
  580.   CC nfp_nspu.o
  581.   CC lio_mbox.o
  582.   CC ark_pktdir.o
  583.   CC ark_mpu.o
  584.   CC scheduler_roundrobin.o
  585.   CC lio_23xx_vf.o
  586.   CC ark_pktgen.o
  587.   CC scheduler_failover.o
  588.   CC ark_udm.o
  589.   CC nfp_net.o
  590.   SYMLINK-FILE include/rte_eth_ring.h
  591.   CC ark_rqp.o
  592.   CC lio_ethdev.o
  593.   CC lio_rxtx.o
  594.   CC scheduler_multicore.o
  595.   CC avf_adminq.o
  596.   CC scheduler_pkt_size_distr.o
  597.   CC virtqueue.o
  598.   CC avf_common.o
  599.   CC ark_ethdev_rx.o
  600.   CC ark_pktchkr.o
  601.   CC avf_rxtx.o
  602.   CC cxgbe_main.o
  603.   CC enic_res.o
  604.   CC virtio_user/vhost_user.o
  605.   SYMLINK-FILE include/rte_eth_bond.h
  606.   CC enic_clsf.o
  607.   CC ark_ethdev.o
  608.   CC avf_vchnl.o
  609.   CC vdev_netvsc.o
  610.   CC rte_cryptodev_scheduler.o
  611.   CC vmxnet3_ethdev.o
  612.   SYMLINK-FILE include/rte_pmd_bnxt.h
  613.   CC sge.o
  614.   CC vmxnet3_rxtx.o
  615.   CC avf_rxtx_vec_sse.o
  616.   CC bnxt_cpr.o
  617.   CC virtio_user/vhost_kernel_tap.o
  618.   CC rte_eth_ring.o
  619.   CC bnxt_stats.o
  620.   CC bnxt_txq.o
  621.   CC bnxt_txr.o
  622.   SYMLINK-FILE include/rte_eth_bond_8023ad.h
  623.   CC rte_eth_bond_api.o
  624.   CC bnxt_irq.o
  625.   CC enic_rxtx.o
  626.   CC rte_eth_bond_alb.o
  627.   CC virtio_pci.o
  628.   CC rte_pmd_bnxt.o
  629.   CC virtio_rxtx_simple_sse.o
  630.   CC null_crypto_pmd.o
  631.   CC rte_eth_bond_8023ad.o
  632.   CC virtio_rxtx_simple.o
  633.   CC virtio_ethdev.o
  634.   CC rte_eth_bond_args.o
  635.   CC bnxt_ring.o
  636.   CC virtio_user/vhost_kernel.o
  637.   CC base/vnic_intr.o
  638.   CC base/vnic_dev.o
  639.   CC enic_flow.o
  640.   CC cxgbe_ethdev.o
  641.   CC enic_main.o
  642.   CC rte_eth_bond_pmd.o
  643.   CC bnxt_rxq.o
  644.   CC enic_ethdev.o
  645.   CC virtio_user/virtio_user_dev.o
  646.   CC bnxt_filter.o
  647.   CC virtio_rxtx.o
  648.   CC base/vnic_cq.o
  649.   CC rte_eth_softnic.o
  650.   CC bnxt_vnic.o
  651.   CC bnxt_rxr.o
  652.   CC bnxt_ethdev.o
  653.   CC virtio_user_ethdev.o
  654.   CC null_crypto_pmd_ops.o
  655.   SYMLINK-FILE include/rte_avp_common.h
  656.   CC base/vnic_rq.o
  657.   SYMLINK-FILE include/rte_avp_fifo.h
  658.   CC base/vnic_rss.o
  659.   CC t4_hw.o
  660.   CC scheduler_pmd.o
  661.   CC base/vnic_wq.o
  662.   CC rte_eth_kni.o
  663.   CC octeontx_rxtx.o
  664.   CC rte_eth_null.o
  665.   SYMLINK-FILE include/rte_eth_softnic.h
  666.   CC octeontx_bgx.o
  667.   CC octeontx_pkovf.o
  668.   CC octeontx_pkivf.o
  669.   CC rte_eth_softnic_tm.o
  670.   CC em_ethdev.o
  671.   CC bbdev_null.o
  672.   CC avp_ethdev.o
  673.   CC e1000_i210.o
  674.   CC avf_ethdev.o
  675.   CC e1000_api.o
  676.   CC e1000_ich8lan.o
  677.   CC e1000_nvm.o
  678.   CC igb_rxtx.o
  679.   CC e1000_mac.o
  680.   CC igb_pf.o
  681.   CC e1000_vf.o
  682.   CC igb_flow.o
  683.   CC e1000_mbx.o
  684.   CC e1000_82575.o
  685.   CC bnxt_hwrm.o
  686.   CC e1000_82571.o
  687.   CC e1000_manage.o
  688.   CC e1000_osdep.o
  689.   CC igb_ethdev.o
  690.   CC e1000_80003es2lan.o
  691.   CC e1000_82543.o
  692.   CC e1000_82540.o
  693.   CC e1000_82542.o
  694.   SYMLINK-FILE include/rte_pmd_i40e.h
  695.   CC e1000_82541.o
  696.   CC em_rxtx.o
  697.   CC i40e_lan_hmc.o
  698.   CC octeontx_ethdev.o
  699.   CC i40e_nvm.o
  700.   CC i40e_hmc.o
  701.   CC e1000_phy.o
  702.   CC i40e_diag.o
  703.   CC i40e_fdir.o
  704.   CC rte_pmd_i40e.o
  705.   CC i40e_pf.o
  706.   CC i40e_adminq.o
  707.   CC i40e_rxtx_vec_sse.o
  708.   CC i40e_rxtx.o
  709.   CC i40e_tm.o
  710.   CC i40e_common.o
  711.   CC i40e_ethdev.o
  712.   CC i40e_ethdev_vf.o
  713.   CC i40e_dcb.o
  714.   CC i40e_flow.o
  715.   CC i40e_rxtx_vec_avx2.o
  716.   CC fm10k_rxtx.o
  717.   CC fm10k_pf.o
  718.   CC fm10k_ethdev.o
  719.   CC fm10k_mbx.o
  720.   CC fm10k_vf.o
  721.   CC fm10k_common.o
  722.   CC fm10k_rxtx_vec.o
  723.   CC fm10k_tlv.o
  724.   CC fm10k_api.o
  725.   CC sfc_kvargs.o
  726.   CC sfc.o
  727.   CC sfc_mcdi.o
  728.   CC sfc_intr.o
  729.   CC sfc_ev.o
  730.   CC sfc_ethdev.o
  731.   CC efx_crc32.o
  732.   CC efx_ev.o
  733.   CC sfc_ef10_tx.o
  734.   CC efx_bootcfg.o
  735.   CC sfc_ef10_rx.o
  736.   CC ecore_dev.o
  737.   CC sfc_dp.o
  738.   CC efx_intr.o
  739.   CC sfc_filter.o
  740.   CC sfc_flow.o
  741.   CC sfc_tx.o
  742.   CC sfc_tso.o
  743.   CC sfc_rx.o
  744.   CC sfc_port.o
  745.   CC efx_lic.o
  746.   CC efx_mcdi.o
  747.   CC efx_mac.o
  748.   CC efx_hash.o
  749.   CC efx_filter.o
  750.   CC efx_port.o
  751.   CC efx_vpd.o
  752.   CC efx_nic.o
  753.   CC efx_phy.o
  754.   CC efx_tx.o
  755.   CC mcdi_mon.o
  756.   CC efx_tunnel.o
  757.   CC qede_fdir.o
  758.   CC ecore_init_ops.o
  759.   CC efx_sram.o
  760.   CC efx_rx.o
  761.   CC ecore_spq.o
  762.   CC ecore_mcp.o
  763.   CC ecore_sp_commands.o
  764.   CC ecore_l2.o
  765.   CC ecore_init_fw_funcs.o
  766.   CC ecore_cxt.o
  767.   CC ecore_hw.o
  768.   CC efx_mon.o
  769.   CC efx_nvram.o
  770.   CC qede_rxtx.o
  771.   CC qede_main.o
  772.   CC qede_ethdev.o
  773.   CC ecore_vf.o
  774.   CC ecore_sriov.o
  775.   CC bcm_osal.o
  776.   CC siena_nic.o
  777.   CC siena_mcdi.o
  778.   CC siena_mac.o
  779.   CC ecore_dcbx.o
  780.   CC ecore_int.o
  781.   CC ef10_ev.o
  782.   CC siena_vpd.o
  783.   CC siena_phy.o
  784.   CC siena_sram.o
  785.   CC siena_nvram.o
  786.   CC ef10_rx.o
  787.   CC ef10_phy.o
  788.   CC ef10_nvram.o
  789.   PMDINFO octeontx_pkovf.o.pmd.c
  790.   PMDINFO octeontx_pkivf.o.pmd.c
  791.   CC octeontx_pkivf.o.pmd.o
  792.   CC ef10_tx.o
  793.   CC ef10_vpd.o
  794.   CC ef10_mcdi.o
  795.   CC hunt_nic.o
  796.   CC ef10_nic.o
  797.   CC ef10_mac.o
  798.   CC ef10_intr.o
  799.   CC ef10_filter.o
  800.   CC octeontx_pkovf.o.pmd.o
  801.   CC medford_nic.o
  802.   LD octeontx_pkovf.o
  803.   LD octeontx_pkivf.o
  804.   SYMLINK-FILE include/rte_pmd_ixgbe.h
  805.   CC ixgbe_common.o
  806.   CC ixgbe_82598.o
  807.   CC ixgbe_82599.o
  808.   CC ixgbe_x550.o
  809.   CC ixgbe_x540.o
  810.   CC ixgbe_dcb_82598.o
  811.   CC ixgbe_phy.o
  812.   CC ixgbe_api.o
  813.   CC ixgbe_vf.o
  814.   CC ixgbe_dcb.o
  815.   CC ixgbe_dcb_82599.o
  816.   CC ixgbe_mbx.o
  817.   CC ixgbe_rxtx.o
  818.   CC ixgbe_ethdev.o
  819.   CC ixgbe_fdir.o
  820.   CC ixgbe_flow.o
  821.   CC ixgbe_pf.o
  822.   CC ixgbe_hv_vf.o
  823.   CC ixgbe_tm.o
  824.   CC rte_pmd_ixgbe.o
  825.   CC ixgbe_ipsec.o
  826.   CC ixgbe_rxtx_vec_sse.o
  827.   PMDINFO nicvf_ethdev.o.pmd.c
  828.   CC nicvf_ethdev.o.pmd.o
  829.   CC tap_intr.o
  830.   CC tap_bpf_api.o
  831.   CC tap_netlink.o
  832.   CC tap_tcmsgs.o
  833.   CC tap_flow.o
  834.   CC rte_eth_tap.o
  835.   LD nicvf_ethdev.o
  836.   PMDINFO failsafe.o.pmd.c
  837.   CC failsafe.o.pmd.o
  838.   LD failsafe.o
  839.   PMDINFO null_crypto_pmd.o.pmd.c
  840.   CC null_crypto_pmd.o.pmd.o
  841.   PMDINFO rte_eth_kni.o.pmd.c
  842.   CC rte_eth_kni.o.pmd.o
  843.   CC mlx5_stats.o
  844.   CC mlx5_txq.o
  845.   CC mlx5_vlan.o
  846.   CC mlx5_socket.o
  847.   LD null_crypto_pmd.o
  848.   CC mlx5_rxtx.o
  849.   CC mlx5_rxtx_vec.o
  850.   CC mlx5_rss.o
  851.   CC mlx5.o
  852.   CC mlx5_trigger.o
  853.   PMDINFO virtio_user_ethdev.o.pmd.c
  854.   CC mlx5_mr.o
  855.   CC mlx5_rxmode.o
  856.   CC mlx5_mac.o
  857.   CC mlx5_rxq.o
  858.   CC mlx5_flow.o
  859.   CC mlx5_ethdev.o
  860.   CC virtio_user_ethdev.o.pmd.o
  861.   CC mlx5_glue.o
  862.   PMDINFO bbdev_null.o.pmd.c
  863.   CC bbdev_null.o.pmd.o
  864.   LD rte_eth_kni.o
  865.   LD virtio_user_ethdev.o
  866.   AR librte_pmd_null_crypto.a
  867.   INSTALL-LIB librte_pmd_null_crypto.a
  868.   LD bbdev_null.o
  869.   PMDINFO octeontx_ethdev.o.pmd.c
  870.   CC octeontx_ethdev.o.pmd.o
  871.   PMDINFO enic_ethdev.o.pmd.c
  872.   CC enic_ethdev.o.pmd.o
  873.   AR librte_pmd_kni.a
  874.   AR librte_pmd_bbdev_null.a
  875.   LD octeontx_ethdev.o
  876.   INSTALL-LIB librte_pmd_bbdev_null.a
  877.   INSTALL-LIB librte_pmd_kni.a
  878.   LD enic_ethdev.o
  879. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:21:0:
  880. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  881.     struct ibv_rwq_ind_table_init_attr *init_attr);
  882.            ^
  883. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:67:16: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  884.          struct ibv_wq_init_attr *wq_init_attr);
  885.                 ^
  886. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:69:45: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  887.   int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
  888.                                              ^
  889. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:98:39: warning: ‘struct ibv_cq_ex’ declared inside parameter list
  890.   struct ibv_cq *(*cq_ex_to_cq)(struct ibv_cq_ex *cq);
  891.                                        ^
  892. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  893.     struct mlx5dv_cq_init_attr *mlx5_cq_attr);
  894.            ^
  895. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  896. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:107:8: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  897.         void *attr);
  898.         ^
  899. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:127:18: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  900.            struct ibv_rwq_ind_table_init_attr *init_attr)
  901.                   ^
  902. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_create_rwq_ind_table’:
  903. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:129:9: warning: implicit declaration of function ‘ibv_create_rwq_ind_table’ [-Wimplicit-function-declaration]
  904.   return ibv_create_rwq_ind_table(context, init_attr);
  905.          ^
  906. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:129:2: warning: nested extern declaration of ‘ibv_create_rwq_ind_table’ [-Wnested-externs]
  907.   return ibv_create_rwq_ind_table(context, init_attr);
  908.   ^
  909. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:129:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  910.   return ibv_create_rwq_ind_table(context, init_attr);
  911.          ^
  912. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_destroy_rwq_ind_table’:
  913. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:135:9: warning: implicit declaration of function ‘ibv_destroy_rwq_ind_table’ [-Wimplicit-function-declaration]
  914.   return ibv_destroy_rwq_ind_table(rwq_ind_table);
  915.          ^
  916. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:135:2: warning: nested extern declaration of ‘ibv_destroy_rwq_ind_table’ [-Wnested-externs]
  917.   return ibv_destroy_rwq_ind_table(rwq_ind_table);
  918.   ^
  919. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: At top level:
  920. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:140:14: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  921.        struct ibv_wq_init_attr *wq_init_attr)
  922.               ^
  923. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_create_wq’:
  924. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:142:9: warning: implicit declaration of function ‘ibv_create_wq’ [-Wimplicit-function-declaration]
  925.   return ibv_create_wq(context, wq_init_attr);
  926.          ^
  927. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:142:2: warning: nested extern declaration of ‘ibv_create_wq’ [-Wnested-externs]
  928.   return ibv_create_wq(context, wq_init_attr);
  929.   ^
  930. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:142:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  931.   return ibv_create_wq(context, wq_init_attr);
  932.          ^
  933. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_destroy_wq’:
  934. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:148:9: warning: implicit declaration of function ‘ibv_destroy_wq’ [-Wimplicit-function-declaration]
  935.   return ibv_destroy_wq(wq);
  936.          ^
  937. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:148:2: warning: nested extern declaration of ‘ibv_destroy_wq’ [-Wnested-externs]
  938.   return ibv_destroy_wq(wq);
  939.   ^
  940. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: At top level:
  941. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:151:47: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  942.  mlx5_glue_modify_wq(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr)
  943.                                                ^
  944. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_modify_wq’:
  945. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:153:9: warning: implicit declaration of function ‘ibv_modify_wq’ [-Wimplicit-function-declaration]
  946.   return ibv_modify_wq(wq, wq_attr);
  947.          ^
  948. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:153:2: warning: nested extern declaration of ‘ibv_modify_wq’ [-Wnested-externs]
  949.   return ibv_modify_wq(wq, wq_attr);
  950.   ^
  951. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_cq_ex_to_cq’:
  952. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:279:9: warning: implicit declaration of function ‘ibv_cq_ex_to_cq’ [-Wimplicit-function-declaration]
  953.   return ibv_cq_ex_to_cq(cq);
  954.          ^
  955. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:279:2: warning: nested extern declaration of ‘ibv_cq_ex_to_cq’ [-Wnested-externs]
  956.   return ibv_cq_ex_to_cq(cq);
  957.   ^
  958. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:279:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  959.   return ibv_cq_ex_to_cq(cq);
  960.          ^
  961. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: At top level:
  962. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:285:17: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  963.           struct mlx5dv_cq_init_attr *mlx5_cq_attr)
  964.                  ^
  965. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:285:17: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  966. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_dv_create_cq’:
  967. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:287:9: warning: implicit declaration of function ‘mlx5dv_create_cq’ [-Wimplicit-function-declaration]
  968.   return mlx5dv_create_cq(context, cq_attr, mlx5_cq_attr);
  969.          ^
  970. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:287:2: warning: nested extern declaration of ‘mlx5dv_create_cq’ [-Wnested-externs]
  971.   return mlx5dv_create_cq(context, cq_attr, mlx5_cq_attr);
  972.   ^
  973. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:287:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
  974.   return mlx5dv_create_cq(context, cq_attr, mlx5_cq_attr);
  975.          ^
  976. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_dv_query_device’:
  977. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:294:29: warning: passing argument 1 of ‘mlx5dv_query_device’ from incompatible pointer type [-Wincompatible-pointer-types]
  978.   return mlx5dv_query_device(ctx, attrs_out);
  979.                              ^
  980. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:14:0:
  981. /usr/include/infiniband/mlx5dv.h:82:5: note: expected ‘struct ibv_context *’ but argument is of type ‘struct ibv_context *’
  982.  int mlx5dv_query_device(struct ibv_context *ctx_in,
  983.      ^
  984. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: At top level:
  985. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:299:15: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  986.           enum mlx5dv_set_ctx_attr_type type, void *attr)
  987.                ^
  988. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:299:40: error: parameter 2 (‘type’) has incomplete type
  989.           enum mlx5dv_set_ctx_attr_type type, void *attr)
  990.                                         ^
  991. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_dv_set_context_attr’:
  992. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:301:9: warning: implicit declaration of function ‘mlx5dv_set_context_attr’ [-Wimplicit-function-declaration]
  993.   return mlx5dv_set_context_attr(ibv_ctx, type, attr);
  994.          ^
  995. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:301:2: warning: nested extern declaration of ‘mlx5dv_set_context_attr’ [-Wnested-externs]
  996.   return mlx5dv_set_context_attr(ibv_ctx, type, attr);
  997.   ^
  998. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:299:40: warning: unused parameter ‘type’ [-Wunused-parameter]
  999.           enum mlx5dv_set_ctx_attr_type type, void *attr)
  1000.                                         ^
  1001. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: At top level:
  1002. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:328:26: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  1003.   .create_rwq_ind_table = mlx5_glue_create_rwq_ind_table,
  1004.                           ^
  1005. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:328:26: note: (near initialization for ‘(anonymous).create_rwq_ind_table’)
  1006. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:330:15: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  1007.   .create_wq = mlx5_glue_create_wq,
  1008.                ^
  1009. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:330:15: note: (near initialization for ‘(anonymous).create_wq’)
  1010. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:332:15: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  1011.   .modify_wq = mlx5_glue_modify_wq,
  1012.                ^
  1013. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:332:15: note: (near initialization for ‘(anonymous).modify_wq’)
  1014. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:348:17: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  1015.   .cq_ex_to_cq = mlx5_glue_cq_ex_to_cq,
  1016.                  ^
  1017. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:348:17: note: (near initialization for ‘(anonymous).cq_ex_to_cq’)
  1018. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:349:18: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  1019.   .dv_create_cq = mlx5_glue_dv_create_cq,
  1020.                   ^
  1021. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:349:18: note: (near initialization for ‘(anonymous).dv_create_cq’)
  1022. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c: In function ‘mlx5_glue_dv_set_context_attr’:
  1023. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.c:302:1: warning: control reaches end of non-void function [-Wreturn-type]
  1024.  }
  1025.  ^
  1026. /usr/src/dpdk-18.02-rc4/mk/internal/rte.compile-pre.mk:114: recipe for target 'mlx5_glue.o' failed
  1027. make[6]: *** [mlx5_glue.o] Error 1
  1028. make[6]: *** Waiting for unfinished jobs....
  1029.   AR librte_pmd_octeontx.a
  1030.   PMDINFO vdev_netvsc.o.pmd.c
  1031.   PMDINFO ark_ethdev.o.pmd.c
  1032.   CC ark_ethdev.o.pmd.o
  1033.   AR librte_pmd_thunderx_nicvf.a
  1034.   CC vdev_netvsc.o.pmd.o
  1035.   INSTALL-LIB librte_pmd_octeontx.a
  1036.   PMDINFO rte_eth_ring.o.pmd.c
  1037.   AR librte_pmd_crypto_scheduler.a
  1038.   INSTALL-LIB librte_pmd_thunderx_nicvf.a
  1039.   CC rte_eth_ring.o.pmd.o
  1040.   INSTALL-LIB librte_pmd_crypto_scheduler.a
  1041.   LD ark_ethdev.o
  1042.   LD vdev_netvsc.o
  1043.   LD rte_eth_ring.o
  1044.   PMDINFO rte_eth_softnic.o.pmd.c
  1045.   PMDINFO rte_eth_null.o.pmd.c
  1046.   CC rte_eth_softnic.o.pmd.o
  1047.   CC rte_eth_null.o.pmd.o
  1048.   PMDINFO lio_ethdev.o.pmd.c
  1049.   CC lio_ethdev.o.pmd.o
  1050.   PMDINFO rte_eth_vhost.o.pmd.c
  1051.   AR librte_pmd_vdev_netvsc.a
  1052.   CC rte_eth_vhost.o.pmd.o
  1053.   LD rte_eth_softnic.o
  1054.   LD rte_eth_null.o
  1055.   INSTALL-LIB librte_pmd_vdev_netvsc.a
  1056.   PMDINFO cxgbe_ethdev.o.pmd.c
  1057.   CC cxgbe_ethdev.o.pmd.o
  1058.   LD lio_ethdev.o
  1059. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:42:0:
  1060. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  1061.     struct ibv_rwq_ind_table_init_attr *init_attr);
  1062.            ^
  1063. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: its scope is only this definition or declaration, which is probably not what you want
  1064. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:67:16: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  1065.          struct ibv_wq_init_attr *wq_init_attr);
  1066.                 ^
  1067. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:69:45: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  1068.   int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
  1069.                                              ^
  1070. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:98:39: warning: ‘struct ibv_cq_ex’ declared inside parameter list
  1071.   struct ibv_cq *(*cq_ex_to_cq)(struct ibv_cq_ex *cq);
  1072.                                        ^
  1073. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  1074.     struct mlx5dv_cq_init_attr *mlx5_cq_attr);
  1075.            ^
  1076. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  1077. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:107:8: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  1078.         void *attr);
  1079.         ^
  1080.   AR librte_pmd_ring.a
  1081.   LD rte_eth_vhost.o
  1082.   LD cxgbe_ethdev.o
  1083. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c: In function ‘mlx5_pci_probe’:
  1084. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:836:37: error: ‘struct ibv_device_attr_ex’ has no member named ‘device_cap_flags_ex’
  1085.    config.hw_csum = !!(device_attr_ex.device_cap_flags_ex &
  1086.                                      ^
  1087. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:837:9: error: ‘IBV_DEVICE_RAW_IP_CSUM’ undeclared (first use in this function)
  1088.          IBV_DEVICE_RAW_IP_CSUM);
  1089.          ^
  1090. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:837:9: note: each undeclared identifier is reported only once for each function it appears in
  1091. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:857:18: error: ‘struct ibv_device_attr_ex’ has no member named ‘rss_caps’
  1092.     device_attr_ex.rss_caps.max_rwq_indirection_table_size;
  1093.                   ^
  1094. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:865:43: error: ‘struct ibv_device_attr_ex’ has no member named ‘raw_packet_caps’
  1095.    config.hw_vlan_strip = !!(device_attr_ex.raw_packet_caps &
  1096.                                            ^
  1097. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:866:7: error: ‘IBV_RAW_PACKET_CAP_CVLAN_STRIPPING’ undeclared (first use in this function)
  1098.        IBV_RAW_PACKET_CAP_CVLAN_STRIPPING);
  1099.        ^
  1100. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:870:42: error: ‘struct ibv_device_attr_ex’ has no member named ‘raw_packet_caps’
  1101.    config.hw_fcs_strip = !!(device_attr_ex.raw_packet_caps &
  1102.                                           ^
  1103. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:871:7: error: ‘IBV_RAW_PACKET_CAP_SCATTER_FCS’ undeclared (first use in this function)
  1104.        IBV_RAW_PACKET_CAP_SCATTER_FCS);
  1105.        ^
  1106. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:883:32: error: ‘struct ibv_device_attr_ex’ has no member named ‘tso_caps’
  1107.    config.tso = ((device_attr_ex.tso_caps.max_tso > 0) &&
  1108.                                 ^
  1109. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:884:25: error: ‘struct ibv_device_attr_ex’ has no member named ‘tso_caps’
  1110.           (device_attr_ex.tso_caps.supported_qpts &
  1111.                          ^
  1112. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:888:20: error: ‘struct ibv_device_attr_ex’ has no member named ‘tso_caps’
  1113.       device_attr_ex.tso_caps.max_tso;
  1114.                     ^
  1115. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:956:10: error: variable ‘alctr’ has initializer but incomplete type
  1116.    struct mlx5dv_ctx_allocators alctr = {
  1117.           ^
  1118. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:957:4: error: unknown field ‘alloc’ specified in initializer
  1119.     .alloc = &mlx5_alloc_verbs_buf,
  1120.     ^
  1121. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:957:13: warning: excess elements in struct initializer
  1122.     .alloc = &mlx5_alloc_verbs_buf,
  1123.              ^
  1124. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:957:13: note: (near initialization for ‘alctr’)
  1125. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:958:4: error: unknown field ‘free’ specified in initializer
  1126.     .free = &mlx5_free_verbs_buf,
  1127.     ^
  1128. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:958:12: warning: excess elements in struct initializer
  1129.     .free = &mlx5_free_verbs_buf,
  1130.             ^
  1131. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:958:12: note: (near initialization for ‘alctr’)
  1132. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:959:4: error: unknown field ‘data’ specified in initializer
  1133.     .data = priv,
  1134.     ^
  1135. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:959:12: warning: excess elements in struct initializer
  1136.     .data = priv,
  1137.             ^
  1138. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:959:12: note: (near initialization for ‘alctr’)
  1139. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:956:32: error: storage size of ‘alctr’ isn’t known
  1140.    struct mlx5dv_ctx_allocators alctr = {
  1141.                                 ^
  1142. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:962:13: error: ‘MLX5DV_CTX_ATTR_BUF_ALLOCATORS’ undeclared (first use in this function)
  1143.              MLX5DV_CTX_ATTR_BUF_ALLOCATORS,
  1144.              ^
  1145. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:962:13: error: type of formal parameter 2 is incomplete
  1146. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.c:956:32: warning: unused variable ‘alctr’ [-Wunused-variable]
  1147.    struct mlx5dv_ctx_allocators alctr = {
  1148.                                 ^
  1149.   INSTALL-LIB librte_pmd_ring.a
  1150. /usr/src/dpdk-18.02-rc4/mk/internal/rte.compile-pre.mk:114: recipe for target 'mlx5.o' failed
  1151. make[6]: *** [mlx5.o] Error 1
  1152.   AR librte_pmd_null.a
  1153.   AR librte_pmd_vhost.a
  1154.   AR librte_pmd_failsafe.a
  1155. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:28:0:
  1156. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  1157.     struct ibv_rwq_ind_table_init_attr *init_attr);
  1158.            ^
  1159. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: its scope is only this definition or declaration, which is probably not what you want
  1160. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:67:16: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  1161.          struct ibv_wq_init_attr *wq_init_attr);
  1162.                 ^
  1163. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:69:45: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  1164.   int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
  1165.                                              ^
  1166. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:27:0:
  1167. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  1168.     struct ibv_rwq_ind_table_init_attr *init_attr);
  1169.            ^
  1170. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:67:16: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  1171.          struct ibv_wq_init_attr *wq_init_attr);
  1172.                 ^
  1173. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:69:45: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  1174.   int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
  1175.                                              ^
  1176. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:98:39: warning: ‘struct ibv_cq_ex’ declared inside parameter list
  1177.   struct ibv_cq *(*cq_ex_to_cq)(struct ibv_cq_ex *cq);
  1178.                                        ^
  1179. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  1180.     struct mlx5dv_cq_init_attr *mlx5_cq_attr);
  1181.            ^
  1182. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  1183. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:107:8: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  1184.         void *attr);
  1185.         ^
  1186. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c: In function ‘priv_vlan_strip_queue_set’:
  1187. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:105:21: error: storage size of ‘mod’ isn’t known
  1188.   struct ibv_wq_attr mod;
  1189.                      ^
  1190. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:107:9: error: ‘IBV_WQ_FLAGS_CVLAN_STRIPPING’ undeclared (first use in this function)
  1191.    (on ? IBV_WQ_FLAGS_CVLAN_STRIPPING : 0) |
  1192.          ^
  1193. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:107:9: note: each undeclared identifier is reported only once for each function it appears in
  1194. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:119:3: error: unknown field ‘attr_mask’ specified in initializer
  1195.    .attr_mask = IBV_WQ_ATTR_FLAGS,
  1196.    ^
  1197. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:119:16: error: ‘IBV_WQ_ATTR_FLAGS’ undeclared (first use in this function)
  1198.    .attr_mask = IBV_WQ_ATTR_FLAGS,
  1199.                 ^
  1200. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:119:16: warning: excess elements in struct initializer
  1201. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:119:16: note: (near initialization for ‘(anonymous)’)
  1202. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:120:3: error: unknown field ‘flags_mask’ specified in initializer
  1203.    .flags_mask = IBV_WQ_FLAGS_CVLAN_STRIPPING,
  1204.    ^
  1205. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:120:17: warning: excess elements in struct initializer
  1206.    .flags_mask = IBV_WQ_FLAGS_CVLAN_STRIPPING,
  1207.                  ^
  1208. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:120:17: note: (near initialization for ‘(anonymous)’)
  1209. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:121:3: error: unknown field ‘flags’ specified in initializer
  1210.    .flags = vlan_offloads,
  1211.    ^
  1212. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:121:12: warning: excess elements in struct initializer
  1213.    .flags = vlan_offloads,
  1214.             ^
  1215. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:121:12: note: (near initialization for ‘(anonymous)’)
  1216. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:122:2: error: invalid use of undefined type ‘struct ibv_wq_attr’
  1217.   };
  1218.   ^
  1219. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_vlan.c:105:21: warning: unused variable ‘mod’ [-Wunused-variable]
  1220.   struct ibv_wq_attr mod;
  1221.                      ^
  1222.   INSTALL-LIB librte_pmd_failsafe.a
  1223.   PMDINFO em_ethdev.o.pmd.c
  1224.   INSTALL-LIB librte_pmd_null.a
  1225.   CC em_ethdev.o.pmd.o
  1226. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:98:39: warning: ‘struct ibv_cq_ex’ declared inside parameter list
  1227.   struct ibv_cq *(*cq_ex_to_cq)(struct ibv_cq_ex *cq);
  1228.                                        ^
  1229. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  1230.     struct mlx5dv_cq_init_attr *mlx5_cq_attr);
  1231.            ^
  1232. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  1233. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:107:8: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  1234.         void *attr);
  1235.         ^
  1236. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:116:19: error: ‘IBV_RX_HASH_SRC_IPV4’ undeclared here (not in a function)
  1237.    .hash_fields = (IBV_RX_HASH_SRC_IPV4 |
  1238.                    ^
  1239. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:117:5: error: ‘IBV_RX_HASH_DST_IPV4’ undeclared here (not in a function)
  1240.      IBV_RX_HASH_DST_IPV4 |
  1241.      ^
  1242. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:118:5: error: ‘IBV_RX_HASH_SRC_PORT_TCP’ undeclared here (not in a function)
  1243.      IBV_RX_HASH_SRC_PORT_TCP |
  1244.      ^
  1245. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:119:5: error: ‘IBV_RX_HASH_DST_PORT_TCP’ undeclared here (not in a function)
  1246.      IBV_RX_HASH_DST_PORT_TCP),
  1247.      ^
  1248. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:127:5: error: ‘IBV_RX_HASH_SRC_PORT_UDP’ undeclared here (not in a function)
  1249.      IBV_RX_HASH_SRC_PORT_UDP |
  1250.      ^
  1251. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:128:5: error: ‘IBV_RX_HASH_DST_PORT_UDP’ undeclared here (not in a function)
  1252.      IBV_RX_HASH_DST_PORT_UDP),
  1253.      ^
  1254. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:142:19: error: ‘IBV_RX_HASH_SRC_IPV6’ undeclared here (not in a function)
  1255.    .hash_fields = (IBV_RX_HASH_SRC_IPV6 |
  1256.                    ^
  1257. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:143:5: error: ‘IBV_RX_HASH_DST_IPV6’ undeclared here (not in a function)
  1258.      IBV_RX_HASH_DST_IPV6 |
  1259.      ^
  1260. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:321:20: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv4_ext’
  1261.    .dst_sz = sizeof(struct ibv_flow_spec_ipv4_ext),
  1262.                     ^
  1263. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:321:13: error: initializer element is not constant
  1264.    .dst_sz = sizeof(struct ibv_flow_spec_ipv4_ext),
  1265.              ^
  1266. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:321:13: note: (near initialization for ‘mlx5_flow_items[10].dst_sz’)
  1267. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:221:2: error: initializer element is not constant
  1268.   (const enum rte_flow_item_type []){ \
  1269.   ^
  1270. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:324:12: note: in expansion of macro ‘ITEMS’
  1271.    .items = ITEMS(RTE_FLOW_ITEM_TYPE_UDP,
  1272.             ^
  1273. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:221:2: note: (near initialization for ‘mlx5_flow_items[11].items’)
  1274.   (const enum rte_flow_item_type []){ \
  1275.   ^
  1276. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:324:12: note: in expansion of macro ‘ITEMS’
  1277.    .items = ITEMS(RTE_FLOW_ITEM_TYPE_UDP,
  1278.             ^
  1279. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:327:11: error: initializer element is not constant
  1280.    .mask = &(const struct rte_flow_item_ipv6){
  1281.            ^
  1282. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:327:11: note: (near initialization for ‘mlx5_flow_items[11].mask’)
  1283. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:349:20: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv6’
  1284.    .dst_sz = sizeof(struct ibv_flow_spec_ipv6),
  1285.                     ^
  1286. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:349:13: error: initializer element is not constant
  1287.    .dst_sz = sizeof(struct ibv_flow_spec_ipv6),
  1288.              ^
  1289. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:349:13: note: (near initialization for ‘mlx5_flow_items[11].dst_sz’)
  1290. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:221:2: error: initializer element is not constant
  1291.   (const enum rte_flow_item_type []){ \
  1292.   ^
  1293. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:352:12: note: in expansion of macro ‘ITEMS’
  1294.    .items = ITEMS(RTE_FLOW_ITEM_TYPE_VXLAN),
  1295.             ^
  1296. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:221:2: note: (near initialization for ‘mlx5_flow_items[13].items’)
  1297.   (const enum rte_flow_item_type []){ \
  1298.   ^
  1299. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:352:12: note: in expansion of macro ‘ITEMS’
  1300.    .items = ITEMS(RTE_FLOW_ITEM_TYPE_VXLAN),
  1301.             ^
  1302. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:354:11: error: initializer element is not constant
  1303.    .mask = &(const struct rte_flow_item_udp){
  1304.            ^
  1305. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:354:11: note: (near initialization for ‘mlx5_flow_items[13].mask’)
  1306. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:367:11: error: initializer element is not constant
  1307.    .mask = &(const struct rte_flow_item_tcp){
  1308.            ^
  1309. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:367:11: note: (near initialization for ‘mlx5_flow_items[14].mask’)
  1310. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:221:2: error: initializer element is not constant
  1311.   (const enum rte_flow_item_type []){ \
  1312.   ^
  1313. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:379:12: note: in expansion of macro ‘ITEMS’
  1314.    .items = ITEMS(RTE_FLOW_ITEM_TYPE_ETH),
  1315.             ^
  1316. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:221:2: note: (near initialization for ‘mlx5_flow_items[16].items’)
  1317.   (const enum rte_flow_item_type []){ \
  1318.   ^
  1319. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:379:12: note: in expansion of macro ‘ITEMS’
  1320.    .items = ITEMS(RTE_FLOW_ITEM_TYPE_ETH),
  1321.             ^
  1322. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:381:11: error: initializer element is not constant
  1323.    .mask = &(const struct rte_flow_item_vxlan){
  1324.            ^
  1325. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:381:11: note: (near initialization for ‘mlx5_flow_items[16].mask’)
  1326. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:387:20: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_tunnel’
  1327.    .dst_sz = sizeof(struct ibv_flow_spec_tunnel),
  1328.                     ^
  1329. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:387:13: error: initializer element is not constant
  1330.    .dst_sz = sizeof(struct ibv_flow_spec_tunnel),
  1331.              ^
  1332. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:387:13: note: (near initialization for ‘mlx5_flow_items[16].dst_sz’)
  1333. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_convert_items_validate’:
  1334. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:828:20: error: ‘IBV_FLOW_SPEC_INNER’ undeclared (first use in this function)
  1335.     parser->inner = IBV_FLOW_SPEC_INNER;
  1336.                     ^
  1337. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:828:20: note: each undeclared identifier is reported only once for each function it appears in
  1338. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:828:18: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
  1339.     parser->inner = IBV_FLOW_SPEC_INNER;
  1340.                   ^
  1341. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:839:11: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_drop’
  1342.     sizeof(struct ibv_flow_spec_action_drop);
  1343.            ^
  1344. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:838:38: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
  1345.    parser->queue[HASH_RXQ_ETH].offset +=
  1346.                                       ^
  1347. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:844:12: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_tag’
  1348.      sizeof(struct ibv_flow_spec_action_tag);
  1349.             ^
  1350. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:843:28: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
  1351.     parser->queue[i].offset +=
  1352.                             ^
  1353. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_convert_finalise’:
  1354. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:957:34: error: field ‘ipv4’ has incomplete type
  1355.     struct ibv_flow_spec_ipv4_ext ipv4;
  1356.                                   ^
  1357. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:958:30: error: field ‘ipv6’ has incomplete type
  1358.     struct ibv_flow_spec_ipv6 ipv6;
  1359.                               ^
  1360. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:968:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv4_ext’
  1361.      size = sizeof(struct ibv_flow_spec_ipv4_ext);
  1362.                    ^
  1363. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:968:10: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
  1364.      size = sizeof(struct ibv_flow_spec_ipv4_ext);
  1365.           ^
  1366. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:970:6: error: unknown field ‘type’ specified in initializer
  1367.       .type = IBV_FLOW_SPEC_IPV4_EXT,
  1368.       ^
  1369. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:970:14: error: ‘IBV_FLOW_SPEC_IPV4_EXT’ undeclared (first use in this function)
  1370.       .type = IBV_FLOW_SPEC_IPV4_EXT,
  1371.               ^
  1372. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:970:14: warning: excess elements in struct initializer
  1373. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:970:14: note: (near initialization for ‘(anonymous)’)
  1374. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:971:6: error: unknown field ‘size’ specified in initializer
  1375.       .size = size,
  1376.       ^
  1377. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:971:14: warning: excess elements in struct initializer
  1378.       .size = size,
  1379.               ^
  1380. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:971:14: note: (near initialization for ‘(anonymous)’)
  1381. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:972:5: error: invalid use of undefined type ‘struct ibv_flow_spec_ipv4_ext’
  1382.      };
  1383.      ^
  1384. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:969:5: warning: statement with no effect [-Wunused-value]
  1385.      specs.ipv4 = (struct ibv_flow_spec_ipv4_ext){
  1386.      ^
  1387. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:974:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv6’
  1388.      size = sizeof(struct ibv_flow_spec_ipv6);
  1389.                    ^
  1390. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:974:10: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
  1391.      size = sizeof(struct ibv_flow_spec_ipv6);
  1392.           ^
  1393. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:976:6: error: unknown field ‘type’ specified in initializer
  1394.       .type = IBV_FLOW_SPEC_IPV6,
  1395.       ^
  1396. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:976:14: error: ‘IBV_FLOW_SPEC_IPV6’ undeclared (first use in this function)
  1397.       .type = IBV_FLOW_SPEC_IPV6,
  1398.               ^
  1399. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:976:14: warning: excess elements in struct initializer
  1400. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:976:14: note: (near initialization for ‘(anonymous)’)
  1401. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:977:6: error: unknown field ‘size’ specified in initializer
  1402.       .size = size,
  1403.       ^
  1404. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:977:14: warning: excess elements in struct initializer
  1405.       .size = size,
  1406.               ^
  1407. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:977:14: note: (near initialization for ‘(anonymous)’)
  1408. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:978:5: error: invalid use of undefined type ‘struct ibv_flow_spec_ipv6’
  1409.      };
  1410.      ^
  1411. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:975:5: warning: statement with no effect [-Wunused-value]
  1412.      specs.ipv6 = (struct ibv_flow_spec_ipv6){
  1413.      ^
  1414. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_ipv4’:
  1415. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1311:34: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv4_ext’
  1416.   unsigned int ipv4_size = sizeof(struct ibv_flow_spec_ipv4_ext);
  1417.                                   ^
  1418. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1311:27: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
  1419.   unsigned int ipv4_size = sizeof(struct ibv_flow_spec_ipv4_ext);
  1420.                            ^
  1421. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1312:9: error: variable ‘ipv4’ has initializer but incomplete type
  1422.   struct ibv_flow_spec_ipv4_ext ipv4 = {
  1423.          ^
  1424. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1313:3: error: unknown field ‘type’ specified in initializer
  1425.    .type = parser->inner | IBV_FLOW_SPEC_IPV4_EXT,
  1426.    ^
  1427. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1313:27: error: ‘IBV_FLOW_SPEC_IPV4_EXT’ undeclared (first use in this function)
  1428.    .type = parser->inner | IBV_FLOW_SPEC_IPV4_EXT,
  1429.                            ^
  1430. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1313:25: error: invalid operands to binary | (have ‘uint32_t {aka unsigned int}’ and ‘const struct mlx5_flow_items *’)
  1431.    .type = parser->inner | IBV_FLOW_SPEC_IPV4_EXT,
  1432.                          ^
  1433. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1313:11: warning: excess elements in struct initializer
  1434.    .type = parser->inner | IBV_FLOW_SPEC_IPV4_EXT,
  1435.            ^
  1436. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1313:11: note: (near initialization for ‘ipv4’)
  1437. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1314:3: error: unknown field ‘size’ specified in initializer
  1438.    .size = ipv4_size,
  1439.    ^
  1440. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1314:11: warning: excess elements in struct initializer
  1441.    .size = ipv4_size,
  1442.            ^
  1443. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1314:11: note: (near initialization for ‘ipv4’)
  1444. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1312:32: error: storage size of ‘ipv4’ isn’t known
  1445.   struct ibv_flow_spec_ipv4_ext ipv4 = {
  1446.                                 ^
  1447. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1323:7: error: request for member ‘val’ in something not a structure or union
  1448.    ipv4.val = (struct ibv_flow_ipv4_ext_filter){
  1449.        ^
  1450. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1324:4: error: unknown field ‘src_ip’ specified in initializer
  1451.     .src_ip = spec->hdr.src_addr,
  1452.     ^
  1453. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1324:14: warning: excess elements in struct initializer
  1454.     .src_ip = spec->hdr.src_addr,
  1455.               ^
  1456. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1324:14: note: (near initialization for ‘(anonymous)’)
  1457. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1325:4: error: unknown field ‘dst_ip’ specified in initializer
  1458.     .dst_ip = spec->hdr.dst_addr,
  1459.     ^
  1460. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1325:14: warning: excess elements in struct initializer
  1461.     .dst_ip = spec->hdr.dst_addr,
  1462.               ^
  1463. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1325:14: note: (near initialization for ‘(anonymous)’)
  1464. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1326:4: error: unknown field ‘proto’ specified in initializer
  1465.     .proto = spec->hdr.next_proto_id,
  1466.     ^
  1467. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1326:13: warning: excess elements in struct initializer
  1468.     .proto = spec->hdr.next_proto_id,
  1469.              ^
  1470. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1326:13: note: (near initialization for ‘(anonymous)’)
  1471. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1327:4: error: unknown field ‘tos’ specified in initializer
  1472.     .tos = spec->hdr.type_of_service,
  1473.     ^
  1474. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1327:11: warning: excess elements in struct initializer
  1475.     .tos = spec->hdr.type_of_service,
  1476.            ^
  1477. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1327:11: note: (near initialization for ‘(anonymous)’)
  1478. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1328:3: error: invalid use of undefined type ‘struct ibv_flow_ipv4_ext_filter’
  1479.    };
  1480.    ^
  1481. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1323:3: warning: statement with no effect [-Wunused-value]
  1482.    ipv4.val = (struct ibv_flow_ipv4_ext_filter){
  1483.    ^
  1484. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1329:7: error: request for member ‘mask’ in something not a structure or union
  1485.    ipv4.mask = (struct ibv_flow_ipv4_ext_filter){
  1486.        ^
  1487. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1330:4: error: unknown field ‘src_ip’ specified in initializer
  1488.     .src_ip = mask->hdr.src_addr,
  1489.     ^
  1490. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1330:14: warning: excess elements in struct initializer
  1491.     .src_ip = mask->hdr.src_addr,
  1492.               ^
  1493. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1330:14: note: (near initialization for ‘(anonymous)’)
  1494. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1331:4: error: unknown field ‘dst_ip’ specified in initializer
  1495.     .dst_ip = mask->hdr.dst_addr,
  1496.     ^
  1497. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1331:14: warning: excess elements in struct initializer
  1498.     .dst_ip = mask->hdr.dst_addr,
  1499.               ^
  1500. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1331:14: note: (near initialization for ‘(anonymous)’)
  1501. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1332:4: error: unknown field ‘proto’ specified in initializer
  1502.     .proto = mask->hdr.next_proto_id,
  1503.     ^
  1504. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1332:13: warning: excess elements in struct initializer
  1505.     .proto = mask->hdr.next_proto_id,
  1506.              ^
  1507. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1332:13: note: (near initialization for ‘(anonymous)’)
  1508. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1333:4: error: unknown field ‘tos’ specified in initializer
  1509.     .tos = mask->hdr.type_of_service,
  1510.     ^
  1511. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1333:11: warning: excess elements in struct initializer
  1512.     .tos = mask->hdr.type_of_service,
  1513.            ^
  1514. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1333:11: note: (near initialization for ‘(anonymous)’)
  1515. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1334:3: error: invalid use of undefined type ‘struct ibv_flow_ipv4_ext_filter’
  1516.    };
  1517.    ^
  1518. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1329:3: warning: statement with no effect [-Wunused-value]
  1519.    ipv4.mask = (struct ibv_flow_ipv4_ext_filter){
  1520.    ^
  1521. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1336:7: error: request for member ‘val’ in something not a structure or union
  1522.    ipv4.val.src_ip &= ipv4.mask.src_ip;
  1523.        ^
  1524. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1336:11: error: request for member ‘src_ip’ in something not a structure or union
  1525.    ipv4.val.src_ip &= ipv4.mask.src_ip;
  1526.            ^
  1527. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1336:26: error: request for member ‘mask’ in something not a structure or union
  1528.    ipv4.val.src_ip &= ipv4.mask.src_ip;
  1529.                           ^
  1530. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1336:31: error: request for member ‘src_ip’ in something not a structure or union
  1531.    ipv4.val.src_ip &= ipv4.mask.src_ip;
  1532.                                ^
  1533. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1336:3: warning: statement with no effect [-Wunused-value]
  1534.    ipv4.val.src_ip &= ipv4.mask.src_ip;
  1535.    ^
  1536. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1337:7: error: request for member ‘val’ in something not a structure or union
  1537.    ipv4.val.dst_ip &= ipv4.mask.dst_ip;
  1538.        ^
  1539. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1337:11: error: request for member ‘dst_ip’ in something not a structure or union
  1540.    ipv4.val.dst_ip &= ipv4.mask.dst_ip;
  1541.            ^
  1542. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1337:26: error: request for member ‘mask’ in something not a structure or union
  1543.    ipv4.val.dst_ip &= ipv4.mask.dst_ip;
  1544.                           ^
  1545. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1337:31: error: request for member ‘dst_ip’ in something not a structure or union
  1546.    ipv4.val.dst_ip &= ipv4.mask.dst_ip;
  1547.                                ^
  1548. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1337:3: warning: statement with no effect [-Wunused-value]
  1549.    ipv4.val.dst_ip &= ipv4.mask.dst_ip;
  1550.    ^
  1551. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1338:7: error: request for member ‘val’ in something not a structure or union
  1552.    ipv4.val.proto &= ipv4.mask.proto;
  1553.        ^
  1554. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1338:11: error: request for member ‘proto’ in something not a structure or union
  1555.    ipv4.val.proto &= ipv4.mask.proto;
  1556.            ^
  1557. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1338:25: error: request for member ‘mask’ in something not a structure or union
  1558.    ipv4.val.proto &= ipv4.mask.proto;
  1559.                          ^
  1560. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1338:30: error: request for member ‘proto’ in something not a structure or union
  1561.    ipv4.val.proto &= ipv4.mask.proto;
  1562.                               ^
  1563. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1338:3: warning: statement with no effect [-Wunused-value]
  1564.    ipv4.val.proto &= ipv4.mask.proto;
  1565.    ^
  1566. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1339:7: error: request for member ‘val’ in something not a structure or union
  1567.    ipv4.val.tos &= ipv4.mask.tos;
  1568.        ^
  1569. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1339:11: error: request for member ‘tos’ in something not a structure or union
  1570.    ipv4.val.tos &= ipv4.mask.tos;
  1571.            ^
  1572. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1339:23: error: request for member ‘mask’ in something not a structure or union
  1573.    ipv4.val.tos &= ipv4.mask.tos;
  1574.                        ^
  1575. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1339:28: error: request for member ‘tos’ in something not a structure or union
  1576.    ipv4.val.tos &= ipv4.mask.tos;
  1577.                             ^
  1578. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1339:3: warning: statement with no effect [-Wunused-value]
  1579.    ipv4.val.tos &= ipv4.mask.tos;
  1580.    ^
  1581. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1341:32: warning: passing argument 2 of ‘mlx5_flow_create_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
  1582.   mlx5_flow_create_copy(parser, &ipv4, ipv4_size);
  1583.                                 ^
  1584. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1180:1: note: expected ‘void *’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  1585.  mlx5_flow_create_copy(struct mlx5_flow_parse *parser, void *src,
  1586.  ^
  1587. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1312:32: warning: unused variable ‘ipv4’ [-Wunused-variable]
  1588.   struct ibv_flow_spec_ipv4_ext ipv4 = {
  1589.                                 ^
  1590. /usr/src/dpdk-18.02-rc4/mk/internal/rte.compile-pre.mk:114: recipe for target 'mlx5_vlan.o' failed
  1591. make[6]: *** [mlx5_vlan.o] Error 1
  1592. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_ipv6’:
  1593. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1363:34: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_ipv6’
  1594.   unsigned int ipv6_size = sizeof(struct ibv_flow_spec_ipv6);
  1595.                                   ^
  1596. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1363:27: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
  1597.   unsigned int ipv6_size = sizeof(struct ibv_flow_spec_ipv6);
  1598.                            ^
  1599. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1364:9: error: variable ‘ipv6’ has initializer but incomplete type
  1600.   struct ibv_flow_spec_ipv6 ipv6 = {
  1601.          ^
  1602. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1365:3: error: unknown field ‘type’ specified in initializer
  1603.    .type = parser->inner | IBV_FLOW_SPEC_IPV6,
  1604.    ^
  1605. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1365:27: error: ‘IBV_FLOW_SPEC_IPV6’ undeclared (first use in this function)
  1606.    .type = parser->inner | IBV_FLOW_SPEC_IPV6,
  1607.                            ^
  1608. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1365:25: error: invalid operands to binary | (have ‘uint32_t {aka unsigned int}’ and ‘const struct mlx5_flow_items *’)
  1609.    .type = parser->inner | IBV_FLOW_SPEC_IPV6,
  1610.                          ^
  1611. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1365:11: warning: excess elements in struct initializer
  1612.    .type = parser->inner | IBV_FLOW_SPEC_IPV6,
  1613.            ^
  1614. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1365:11: note: (near initialization for ‘ipv6’)
  1615. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1366:3: error: unknown field ‘size’ specified in initializer
  1616.    .size = ipv6_size,
  1617.    ^
  1618. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1366:11: warning: excess elements in struct initializer
  1619.    .size = ipv6_size,
  1620.            ^
  1621. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1366:11: note: (near initialization for ‘ipv6’)
  1622. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1364:28: error: storage size of ‘ipv6’ isn’t known
  1623.   struct ibv_flow_spec_ipv6 ipv6 = {
  1624.                             ^
  1625. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1379:15: error: request for member ‘val’ in something not a structure or union
  1626.    memcpy(&ipv6.val.src_ip, spec->hdr.src_addr,
  1627.                ^
  1628. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1379:19: error: request for member ‘src_ip’ in something not a structure or union
  1629.    memcpy(&ipv6.val.src_ip, spec->hdr.src_addr,
  1630.                    ^
  1631. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1632.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1633.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1634.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1635. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1380:22: error: request for member ‘val’ in something not a structure or union
  1636.           RTE_DIM(ipv6.val.src_ip));
  1637.                       ^
  1638. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1639.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1640.                              ^
  1641. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1380:26: error: request for member ‘src_ip’ in something not a structure or union
  1642.           RTE_DIM(ipv6.val.src_ip));
  1643.                           ^
  1644. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1645.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1646.                              ^
  1647. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1380:22: error: request for member ‘val’ in something not a structure or union
  1648.           RTE_DIM(ipv6.val.src_ip));
  1649.                       ^
  1650. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1651.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1652.                                            ^
  1653. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1380:26: error: request for member ‘src_ip’ in something not a structure or union
  1654.           RTE_DIM(ipv6.val.src_ip));
  1655.                           ^
  1656. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1657.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1658.                                            ^
  1659. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
  1660.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1661.                                 ^
  1662. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1380:10: note: in expansion of macro ‘RTE_DIM’
  1663.           RTE_DIM(ipv6.val.src_ip));
  1664.           ^
  1665. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1379:10: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
  1666.    memcpy(&ipv6.val.src_ip, spec->hdr.src_addr,
  1667.           ^
  1668. In file included from /usr/include/features.h:367:0,
  1669.                  from /usr/include/string.h:25,
  1670.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:7:
  1671. /usr/include/x86_64-linux-gnu/bits/string3.h:50:1: note: expected ‘void * restrict’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  1672.  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
  1673.  ^
  1674. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1675.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1676.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1677.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1678. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:20: warning: passing argument 3 of ‘memcpy’ makes integer from pointer without a cast [-Wint-conversion]
  1679.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1680.                     ^
  1681. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1380:10: note: in expansion of macro ‘RTE_DIM’
  1682.           RTE_DIM(ipv6.val.src_ip));
  1683.           ^
  1684. In file included from /usr/include/features.h:367:0,
  1685.                  from /usr/include/string.h:25,
  1686.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:7:
  1687. /usr/include/x86_64-linux-gnu/bits/string3.h:50:1: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘const struct mlx5_flow_items *’
  1688.  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
  1689.  ^
  1690. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1381:15: error: request for member ‘val’ in something not a structure or union
  1691.    memcpy(&ipv6.val.dst_ip, spec->hdr.dst_addr,
  1692.                ^
  1693. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1381:19: error: request for member ‘dst_ip’ in something not a structure or union
  1694.    memcpy(&ipv6.val.dst_ip, spec->hdr.dst_addr,
  1695.                    ^
  1696. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1697.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1698.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1699.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1700. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1382:22: error: request for member ‘val’ in something not a structure or union
  1701.           RTE_DIM(ipv6.val.dst_ip));
  1702.                       ^
  1703. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1704.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1705.                              ^
  1706. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1382:26: error: request for member ‘dst_ip’ in something not a structure or union
  1707.           RTE_DIM(ipv6.val.dst_ip));
  1708.                           ^
  1709. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1710.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1711.                              ^
  1712. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1382:22: error: request for member ‘val’ in something not a structure or union
  1713.           RTE_DIM(ipv6.val.dst_ip));
  1714.                       ^
  1715. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1716.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1717.                                            ^
  1718. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1382:26: error: request for member ‘dst_ip’ in something not a structure or union
  1719.           RTE_DIM(ipv6.val.dst_ip));
  1720.                           ^
  1721. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1722.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1723.                                            ^
  1724. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
  1725.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1726.                                 ^
  1727. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1382:10: note: in expansion of macro ‘RTE_DIM’
  1728.           RTE_DIM(ipv6.val.dst_ip));
  1729.           ^
  1730. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1381:10: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
  1731.    memcpy(&ipv6.val.dst_ip, spec->hdr.dst_addr,
  1732.           ^
  1733. In file included from /usr/include/features.h:367:0,
  1734.                  from /usr/include/string.h:25,
  1735.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:7:
  1736. /usr/include/x86_64-linux-gnu/bits/string3.h:50:1: note: expected ‘void * restrict’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  1737.  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
  1738.  ^
  1739. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1740.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1741.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1742.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1743. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:20: warning: passing argument 3 of ‘memcpy’ makes integer from pointer without a cast [-Wint-conversion]
  1744.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1745.                     ^
  1746. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1382:10: note: in expansion of macro ‘RTE_DIM’
  1747.           RTE_DIM(ipv6.val.dst_ip));
  1748.           ^
  1749. In file included from /usr/include/features.h:367:0,
  1750.                  from /usr/include/string.h:25,
  1751.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:7:
  1752. /usr/include/x86_64-linux-gnu/bits/string3.h:50:1: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘const struct mlx5_flow_items *’
  1753.  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
  1754.  ^
  1755. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1383:15: error: request for member ‘mask’ in something not a structure or union
  1756.    memcpy(&ipv6.mask.src_ip, mask->hdr.src_addr,
  1757.                ^
  1758. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1383:20: error: request for member ‘src_ip’ in something not a structure or union
  1759.    memcpy(&ipv6.mask.src_ip, mask->hdr.src_addr,
  1760.                     ^
  1761. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1762.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1763.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1764.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1765. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1384:22: error: request for member ‘mask’ in something not a structure or union
  1766.           RTE_DIM(ipv6.mask.src_ip));
  1767.                       ^
  1768. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1769.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1770.                              ^
  1771. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1384:27: error: request for member ‘src_ip’ in something not a structure or union
  1772.           RTE_DIM(ipv6.mask.src_ip));
  1773.                            ^
  1774. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1775.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1776.                              ^
  1777. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1384:22: error: request for member ‘mask’ in something not a structure or union
  1778.           RTE_DIM(ipv6.mask.src_ip));
  1779.                       ^
  1780. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1781.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1782.                                            ^
  1783. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1384:27: error: request for member ‘src_ip’ in something not a structure or union
  1784.           RTE_DIM(ipv6.mask.src_ip));
  1785.                            ^
  1786. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1787.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1788.                                            ^
  1789. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
  1790.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1791.                                 ^
  1792. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1384:10: note: in expansion of macro ‘RTE_DIM’
  1793.           RTE_DIM(ipv6.mask.src_ip));
  1794.           ^
  1795. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1383:10: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
  1796.    memcpy(&ipv6.mask.src_ip, mask->hdr.src_addr,
  1797.           ^
  1798. In file included from /usr/include/features.h:367:0,
  1799.                  from /usr/include/string.h:25,
  1800.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:7:
  1801. /usr/include/x86_64-linux-gnu/bits/string3.h:50:1: note: expected ‘void * restrict’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  1802.  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
  1803.  ^
  1804. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1805.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1806.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1807.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1808. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:20: warning: passing argument 3 of ‘memcpy’ makes integer from pointer without a cast [-Wint-conversion]
  1809.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1810.                     ^
  1811. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1384:10: note: in expansion of macro ‘RTE_DIM’
  1812.           RTE_DIM(ipv6.mask.src_ip));
  1813.           ^
  1814. In file included from /usr/include/features.h:367:0,
  1815.                  from /usr/include/string.h:25,
  1816.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:7:
  1817. /usr/include/x86_64-linux-gnu/bits/string3.h:50:1: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘const struct mlx5_flow_items *’
  1818.  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
  1819.  ^
  1820. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1385:15: error: request for member ‘mask’ in something not a structure or union
  1821.    memcpy(&ipv6.mask.dst_ip, mask->hdr.dst_addr,
  1822.                ^
  1823. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1385:20: error: request for member ‘dst_ip’ in something not a structure or union
  1824.    memcpy(&ipv6.mask.dst_ip, mask->hdr.dst_addr,
  1825.                     ^
  1826. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1827.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1828.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1829.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1830. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1386:22: error: request for member ‘mask’ in something not a structure or union
  1831.           RTE_DIM(ipv6.mask.dst_ip));
  1832.                       ^
  1833. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1834.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1835.                              ^
  1836. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1386:27: error: request for member ‘dst_ip’ in something not a structure or union
  1837.           RTE_DIM(ipv6.mask.dst_ip));
  1838.                            ^
  1839. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1840.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1841.                              ^
  1842. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1386:22: error: request for member ‘mask’ in something not a structure or union
  1843.           RTE_DIM(ipv6.mask.dst_ip));
  1844.                       ^
  1845. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1846.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1847.                                            ^
  1848. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1386:27: error: request for member ‘dst_ip’ in something not a structure or union
  1849.           RTE_DIM(ipv6.mask.dst_ip));
  1850.                            ^
  1851. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1852.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1853.                                            ^
  1854. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
  1855.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1856.                                 ^
  1857. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1386:10: note: in expansion of macro ‘RTE_DIM’
  1858.           RTE_DIM(ipv6.mask.dst_ip));
  1859.           ^
  1860. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1385:10: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
  1861.    memcpy(&ipv6.mask.dst_ip, mask->hdr.dst_addr,
  1862.           ^
  1863. In file included from /usr/include/features.h:367:0,
  1864.                  from /usr/include/string.h:25,
  1865.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:7:
  1866. /usr/include/x86_64-linux-gnu/bits/string3.h:50:1: note: expected ‘void * restrict’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  1867.  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
  1868.  ^
  1869. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1870.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1871.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1872.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1873. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:20: warning: passing argument 3 of ‘memcpy’ makes integer from pointer without a cast [-Wint-conversion]
  1874.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1875.                     ^
  1876. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1386:10: note: in expansion of macro ‘RTE_DIM’
  1877.           RTE_DIM(ipv6.mask.dst_ip));
  1878.           ^
  1879. In file included from /usr/include/features.h:367:0,
  1880.                  from /usr/include/string.h:25,
  1881.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:7:
  1882. /usr/include/x86_64-linux-gnu/bits/string3.h:50:1: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘const struct mlx5_flow_items *’
  1883.  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
  1884.  ^
  1885. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1389:7: error: request for member ‘val’ in something not a structure or union
  1886.    ipv6.val.flow_label =
  1887.        ^
  1888. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1389:11: error: request for member ‘flow_label’ in something not a structure or union
  1889.    ipv6.val.flow_label =
  1890.            ^
  1891. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1389:3: warning: statement with no effect [-Wunused-value]
  1892.    ipv6.val.flow_label =
  1893.    ^
  1894. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1392:7: error: request for member ‘val’ in something not a structure or union
  1895.    ipv6.val.traffic_class = (vtc_flow_val & IPV6_HDR_TC_MASK) >>
  1896.        ^
  1897. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1392:11: error: request for member ‘traffic_class’ in something not a structure or union
  1898.    ipv6.val.traffic_class = (vtc_flow_val & IPV6_HDR_TC_MASK) >>
  1899.            ^
  1900. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1392:3: warning: statement with no effect [-Wunused-value]
  1901.    ipv6.val.traffic_class = (vtc_flow_val & IPV6_HDR_TC_MASK) >>
  1902.    ^
  1903. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1394:7: error: request for member ‘val’ in something not a structure or union
  1904.    ipv6.val.next_hdr = spec->hdr.proto;
  1905.        ^
  1906. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1394:11: error: request for member ‘next_hdr’ in something not a structure or union
  1907.    ipv6.val.next_hdr = spec->hdr.proto;
  1908.            ^
  1909. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1394:3: warning: statement with no effect [-Wunused-value]
  1910.    ipv6.val.next_hdr = spec->hdr.proto;
  1911.    ^
  1912. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1395:7: error: request for member ‘val’ in something not a structure or union
  1913.    ipv6.val.hop_limit = spec->hdr.hop_limits;
  1914.        ^
  1915. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1395:11: error: request for member ‘hop_limit’ in something not a structure or union
  1916.    ipv6.val.hop_limit = spec->hdr.hop_limits;
  1917.            ^
  1918. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1395:3: warning: statement with no effect [-Wunused-value]
  1919.    ipv6.val.hop_limit = spec->hdr.hop_limits;
  1920.    ^
  1921. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1396:7: error: request for member ‘mask’ in something not a structure or union
  1922.    ipv6.mask.flow_label =
  1923.        ^
  1924. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1396:12: error: request for member ‘flow_label’ in something not a structure or union
  1925.    ipv6.mask.flow_label =
  1926.             ^
  1927. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1396:3: warning: statement with no effect [-Wunused-value]
  1928.    ipv6.mask.flow_label =
  1929.    ^
  1930. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1399:7: error: request for member ‘mask’ in something not a structure or union
  1931.    ipv6.mask.traffic_class = (vtc_flow_mask & IPV6_HDR_TC_MASK) >>
  1932.        ^
  1933. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1399:12: error: request for member ‘traffic_class’ in something not a structure or union
  1934.    ipv6.mask.traffic_class = (vtc_flow_mask & IPV6_HDR_TC_MASK) >>
  1935.             ^
  1936. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1399:3: warning: statement with no effect [-Wunused-value]
  1937.    ipv6.mask.traffic_class = (vtc_flow_mask & IPV6_HDR_TC_MASK) >>
  1938.    ^
  1939. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1401:7: error: request for member ‘mask’ in something not a structure or union
  1940.    ipv6.mask.next_hdr = mask->hdr.proto;
  1941.        ^
  1942. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1401:12: error: request for member ‘next_hdr’ in something not a structure or union
  1943.    ipv6.mask.next_hdr = mask->hdr.proto;
  1944.             ^
  1945. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1401:3: warning: statement with no effect [-Wunused-value]
  1946.    ipv6.mask.next_hdr = mask->hdr.proto;
  1947.    ^
  1948. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1402:7: error: request for member ‘mask’ in something not a structure or union
  1949.    ipv6.mask.hop_limit = mask->hdr.hop_limits;
  1950.        ^
  1951. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1402:12: error: request for member ‘hop_limit’ in something not a structure or union
  1952.    ipv6.mask.hop_limit = mask->hdr.hop_limits;
  1953.             ^
  1954. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1402:3: warning: statement with no effect [-Wunused-value]
  1955.    ipv6.mask.hop_limit = mask->hdr.hop_limits;
  1956.    ^
  1957. In file included from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_compat.h:8:0,
  1958.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:149,
  1959.                  from /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_ethdev_driver.h:18,
  1960.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:19:
  1961. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1404:31: error: request for member ‘val’ in something not a structure or union
  1962.    for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
  1963.                                ^
  1964. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1965.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1966.                              ^
  1967. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1404:35: error: request for member ‘src_ip’ in something not a structure or union
  1968.    for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
  1969.                                    ^
  1970. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:29: note: in definition of macro ‘RTE_DIM’
  1971.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1972.                              ^
  1973. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1404:31: error: request for member ‘val’ in something not a structure or union
  1974.    for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
  1975.                                ^
  1976. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1977.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1978.                                            ^
  1979. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1404:35: error: request for member ‘src_ip’ in something not a structure or union
  1980.    for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
  1981.                                    ^
  1982. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:43: note: in definition of macro ‘RTE_DIM’
  1983.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1984.                                            ^
  1985. /usr/src/dpdk-18.02-rc4/x86_64-native-linuxapp-gcc/include/rte_common.h:389:32: error: invalid operands to binary / (have ‘const struct mlx5_flow_items *’ and ‘long unsigned int’)
  1986.  #define RTE_DIM(a) (sizeof (a) / sizeof ((a)[0]))
  1987.                                 ^
  1988. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1404:19: note: in expansion of macro ‘RTE_DIM’
  1989.    for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
  1990.                    ^
  1991. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1404:17: warning: comparison between pointer and integer
  1992.    for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
  1993.                  ^
  1994. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1405:8: error: request for member ‘val’ in something not a structure or union
  1995.     ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
  1996.         ^
  1997. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1405:12: error: request for member ‘src_ip’ in something not a structure or union
  1998.     ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
  1999.             ^
  2000. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1405:30: error: request for member ‘mask’ in something not a structure or union
  2001.     ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
  2002.                               ^
  2003. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1405:35: error: request for member ‘src_ip’ in something not a structure or union
  2004.     ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
  2005.                                    ^
  2006. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1405:23: error: invalid operands to binary & (have ‘const struct mlx5_flow_items’ and ‘const struct mlx5_flow_items’)
  2007.     ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
  2008.                        ^
  2009. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1405:23: error: assignment of read-only location ‘<erroneous-expression>[i]’
  2010. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1405:4: warning: statement with no effect [-Wunused-value]
  2011.     ipv6.val.src_ip[i] &= ipv6.mask.src_ip[i];
  2012.     ^
  2013. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1406:8: error: request for member ‘val’ in something not a structure or union
  2014.     ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
  2015.         ^
  2016. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1406:12: error: request for member ‘dst_ip’ in something not a structure or union
  2017.     ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
  2018.             ^
  2019. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1406:30: error: request for member ‘mask’ in something not a structure or union
  2020.     ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
  2021.                               ^
  2022. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1406:35: error: request for member ‘dst_ip’ in something not a structure or union
  2023.     ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
  2024.                                    ^
  2025. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1406:23: error: invalid operands to binary & (have ‘const struct mlx5_flow_items’ and ‘const struct mlx5_flow_items’)
  2026.     ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
  2027.                        ^
  2028. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1406:23: error: assignment of read-only location ‘<erroneous-expression>[i]’
  2029. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1406:4: warning: statement with no effect [-Wunused-value]
  2030.     ipv6.val.dst_ip[i] &= ipv6.mask.dst_ip[i];
  2031.     ^
  2032. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1408:7: error: request for member ‘val’ in something not a structure or union
  2033.    ipv6.val.flow_label &= ipv6.mask.flow_label;
  2034.        ^
  2035. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1408:11: error: request for member ‘flow_label’ in something not a structure or union
  2036.    ipv6.val.flow_label &= ipv6.mask.flow_label;
  2037.            ^
  2038. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1408:30: error: request for member ‘mask’ in something not a structure or union
  2039.    ipv6.val.flow_label &= ipv6.mask.flow_label;
  2040.                               ^
  2041. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1408:35: error: request for member ‘flow_label’ in something not a structure or union
  2042.    ipv6.val.flow_label &= ipv6.mask.flow_label;
  2043.                                    ^
  2044. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1408:3: warning: statement with no effect [-Wunused-value]
  2045.    ipv6.val.flow_label &= ipv6.mask.flow_label;
  2046.    ^
  2047. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1409:7: error: request for member ‘val’ in something not a structure or union
  2048.    ipv6.val.traffic_class &= ipv6.mask.traffic_class;
  2049.        ^
  2050. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1409:11: error: request for member ‘traffic_class’ in something not a structure or union
  2051.    ipv6.val.traffic_class &= ipv6.mask.traffic_class;
  2052.            ^
  2053. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1409:33: error: request for member ‘mask’ in something not a structure or union
  2054.    ipv6.val.traffic_class &= ipv6.mask.traffic_class;
  2055.                                  ^
  2056. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1409:38: error: request for member ‘traffic_class’ in something not a structure or union
  2057.    ipv6.val.traffic_class &= ipv6.mask.traffic_class;
  2058.                                       ^
  2059. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1409:3: warning: statement with no effect [-Wunused-value]
  2060.    ipv6.val.traffic_class &= ipv6.mask.traffic_class;
  2061.    ^
  2062. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1410:7: error: request for member ‘val’ in something not a structure or union
  2063.    ipv6.val.next_hdr &= ipv6.mask.next_hdr;
  2064.        ^
  2065. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1410:11: error: request for member ‘next_hdr’ in something not a structure or union
  2066.    ipv6.val.next_hdr &= ipv6.mask.next_hdr;
  2067.            ^
  2068. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1410:28: error: request for member ‘mask’ in something not a structure or union
  2069.    ipv6.val.next_hdr &= ipv6.mask.next_hdr;
  2070.                             ^
  2071.   INSTALL-LIB librte_pmd_vhost.a
  2072. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1410:33: error: request for member ‘next_hdr’ in something not a structure or union
  2073.    ipv6.val.next_hdr &= ipv6.mask.next_hdr;
  2074.                                  ^
  2075. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1410:3: warning: statement with no effect [-Wunused-value]
  2076.    ipv6.val.next_hdr &= ipv6.mask.next_hdr;
  2077.    ^
  2078. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1411:7: error: request for member ‘val’ in something not a structure or union
  2079.    ipv6.val.hop_limit &= ipv6.mask.hop_limit;
  2080.        ^
  2081. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1411:11: error: request for member ‘hop_limit’ in something not a structure or union
  2082.    ipv6.val.hop_limit &= ipv6.mask.hop_limit;
  2083.            ^
  2084. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1411:29: error: request for member ‘mask’ in something not a structure or union
  2085.    ipv6.val.hop_limit &= ipv6.mask.hop_limit;
  2086.                              ^
  2087. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1411:34: error: request for member ‘hop_limit’ in something not a structure or union
  2088.    ipv6.val.hop_limit &= ipv6.mask.hop_limit;
  2089.                                   ^
  2090. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1411:3: warning: statement with no effect [-Wunused-value]
  2091.    ipv6.val.hop_limit &= ipv6.mask.hop_limit;
  2092.    ^
  2093. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1413:32: warning: passing argument 2 of ‘mlx5_flow_create_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
  2094.   mlx5_flow_create_copy(parser, &ipv6, ipv6_size);
  2095.                                 ^
  2096. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1180:1: note: expected ‘void *’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  2097.  mlx5_flow_create_copy(struct mlx5_flow_parse *parser, void *src,
  2098.  ^
  2099. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1364:28: warning: unused variable ‘ipv6’ [-Wunused-variable]
  2100.   struct ibv_flow_spec_ipv6 ipv6 = {
  2101.                             ^
  2102. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_vxlan’:
  2103. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1527:29: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_tunnel’
  2104.   unsigned int size = sizeof(struct ibv_flow_spec_tunnel);
  2105.                              ^
  2106. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1527:22: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
  2107.   unsigned int size = sizeof(struct ibv_flow_spec_tunnel);
  2108.                       ^
  2109. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1528:9: error: variable ‘vxlan’ has initializer but incomplete type
  2110.   struct ibv_flow_spec_tunnel vxlan = {
  2111.          ^
  2112. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1529:3: error: unknown field ‘type’ specified in initializer
  2113.    .type = parser->inner | IBV_FLOW_SPEC_VXLAN_TUNNEL,
  2114.    ^
  2115. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1529:27: error: ‘IBV_FLOW_SPEC_VXLAN_TUNNEL’ undeclared (first use in this function)
  2116.    .type = parser->inner | IBV_FLOW_SPEC_VXLAN_TUNNEL,
  2117.                            ^
  2118. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1529:25: error: invalid operands to binary | (have ‘uint32_t {aka unsigned int}’ and ‘const struct mlx5_flow_items *’)
  2119.    .type = parser->inner | IBV_FLOW_SPEC_VXLAN_TUNNEL,
  2120.                          ^
  2121. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1529:11: warning: excess elements in struct initializer
  2122.    .type = parser->inner | IBV_FLOW_SPEC_VXLAN_TUNNEL,
  2123.            ^
  2124. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1529:11: note: (near initialization for ‘vxlan’)
  2125. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1530:3: error: unknown field ‘size’ specified in initializer
  2126.    .size = size,
  2127.    ^
  2128. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1530:11: warning: excess elements in struct initializer
  2129.    .size = size,
  2130.            ^
  2131. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1530:11: note: (near initialization for ‘vxlan’)
  2132. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1528:30: error: storage size of ‘vxlan’ isn’t known
  2133.   struct ibv_flow_spec_tunnel vxlan = {
  2134.                               ^
  2135. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1538:18: error: ‘IBV_FLOW_SPEC_INNER’ undeclared (first use in this function)
  2136.   parser->inner = IBV_FLOW_SPEC_INNER;
  2137.                   ^
  2138. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1538:16: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
  2139.   parser->inner = IBV_FLOW_SPEC_INNER;
  2140.                 ^
  2141. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1543:8: error: request for member ‘val’ in something not a structure or union
  2142.    vxlan.val.tunnel_id = id.vlan_id;
  2143.         ^
  2144. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1543:12: error: request for member ‘tunnel_id’ in something not a structure or union
  2145.    vxlan.val.tunnel_id = id.vlan_id;
  2146.             ^
  2147. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1543:3: warning: statement with no effect [-Wunused-value]
  2148.    vxlan.val.tunnel_id = id.vlan_id;
  2149.    ^
  2150. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1545:8: error: request for member ‘mask’ in something not a structure or union
  2151.    vxlan.mask.tunnel_id = id.vlan_id;
  2152.         ^
  2153. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1545:13: error: request for member ‘tunnel_id’ in something not a structure or union
  2154.    vxlan.mask.tunnel_id = id.vlan_id;
  2155.              ^
  2156. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1545:3: warning: statement with no effect [-Wunused-value]
  2157.    vxlan.mask.tunnel_id = id.vlan_id;
  2158.    ^
  2159. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1547:8: error: request for member ‘val’ in something not a structure or union
  2160.    vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
  2161.         ^
  2162. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1547:12: error: request for member ‘tunnel_id’ in something not a structure or union
  2163.    vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
  2164.             ^
  2165. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1547:31: error: request for member ‘mask’ in something not a structure or union
  2166.    vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
  2167.                                ^
  2168. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1547:36: error: request for member ‘tunnel_id’ in something not a structure or union
  2169.    vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
  2170.                                     ^
  2171. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1547:3: warning: statement with no effect [-Wunused-value]
  2172.    vxlan.val.tunnel_id &= vxlan.mask.tunnel_id;
  2173.    ^
  2174. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1557:12: error: request for member ‘val’ in something not a structure or union
  2175.   if (!vxlan.val.tunnel_id)
  2176.             ^
  2177. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1557:16: error: request for member ‘tunnel_id’ in something not a structure or union
  2178.   if (!vxlan.val.tunnel_id)
  2179.                 ^
  2180. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1559:32: warning: passing argument 2 of ‘mlx5_flow_create_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
  2181.   mlx5_flow_create_copy(parser, &vxlan, size);
  2182.                                 ^
  2183. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1180:1: note: expected ‘void *’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  2184.  mlx5_flow_create_copy(struct mlx5_flow_parse *parser, void *src,
  2185.  ^
  2186. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1528:30: warning: unused variable ‘vxlan’ [-Wunused-variable]
  2187.   struct ibv_flow_spec_tunnel vxlan = {
  2188.                               ^
  2189. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘mlx5_flow_create_flag_mark’:
  2190. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1574:29: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_tag’
  2191.   unsigned int size = sizeof(struct ibv_flow_spec_action_tag);
  2192.                              ^
  2193. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1574:22: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
  2194.   unsigned int size = sizeof(struct ibv_flow_spec_action_tag);
  2195.                       ^
  2196. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1575:9: error: variable ‘tag’ has initializer but incomplete type
  2197.   struct ibv_flow_spec_action_tag tag = {
  2198.          ^
  2199. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1576:3: error: unknown field ‘type’ specified in initializer
  2200.    .type = IBV_FLOW_SPEC_ACTION_TAG,
  2201.    ^
  2202. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1576:11: error: ‘IBV_FLOW_SPEC_ACTION_TAG’ undeclared (first use in this function)
  2203.    .type = IBV_FLOW_SPEC_ACTION_TAG,
  2204.            ^
  2205. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1576:11: warning: excess elements in struct initializer
  2206. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1576:11: note: (near initialization for ‘tag’)
  2207. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1577:3: error: unknown field ‘size’ specified in initializer
  2208.    .size = size,
  2209.    ^
  2210. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1577:11: warning: excess elements in struct initializer
  2211.    .size = size,
  2212.            ^
  2213. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1577:11: note: (near initialization for ‘tag’)
  2214. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1578:3: error: unknown field ‘tag_id’ specified in initializer
  2215.    .tag_id = mlx5_flow_mark_set(mark_id),
  2216.    ^
  2217. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1578:13: warning: excess elements in struct initializer
  2218.    .tag_id = mlx5_flow_mark_set(mark_id),
  2219.              ^
  2220. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1578:13: note: (near initialization for ‘tag’)
  2221. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1575:34: error: storage size of ‘tag’ isn’t known
  2222.   struct ibv_flow_spec_action_tag tag = {
  2223.                                   ^
  2224. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1582:32: warning: passing argument 2 of ‘mlx5_flow_create_copy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
  2225.   mlx5_flow_create_copy(parser, &tag, size);
  2226.                                 ^
  2227. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1180:1: note: expected ‘void *’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  2228.  mlx5_flow_create_copy(struct mlx5_flow_parse *parser, void *src,
  2229.  ^
  2230. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1575:34: warning: unused variable ‘tag’ [-Wunused-variable]
  2231.   struct ibv_flow_spec_action_tag tag = {
  2232.                                   ^
  2233. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_create_action_queue_drop’:
  2234. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1642:29: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_drop’
  2235.   unsigned int size = sizeof(struct ibv_flow_spec_action_drop);
  2236.                              ^
  2237. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1642:22: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
  2238.   unsigned int size = sizeof(struct ibv_flow_spec_action_drop);
  2239.                       ^
  2240. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1650:2: error: dereferencing pointer to incomplete type ‘struct ibv_flow_spec_action_drop’
  2241.   *drop = (struct ibv_flow_spec_action_drop){
  2242.   ^
  2243. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1651:4: error: unknown field ‘type’ specified in initializer
  2244.     .type = IBV_FLOW_SPEC_ACTION_DROP,
  2245.     ^
  2246. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1651:12: error: ‘IBV_FLOW_SPEC_ACTION_DROP’ undeclared (first use in this function)
  2247.     .type = IBV_FLOW_SPEC_ACTION_DROP,
  2248.             ^
  2249. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1651:12: warning: excess elements in struct initializer
  2250. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1651:12: note: (near initialization for ‘(anonymous)’)
  2251. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1652:4: error: unknown field ‘size’ specified in initializer
  2252.     .size = size,
  2253.     ^
  2254. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1652:12: warning: excess elements in struct initializer
  2255.     .size = size,
  2256.             ^
  2257. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1652:12: note: (near initialization for ‘(anonymous)’)
  2258. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1653:2: error: invalid use of undefined type ‘struct ibv_flow_spec_action_drop’
  2259.   };
  2260.   ^
  2261. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:1650:2: warning: statement with no effect [-Wunused-value]
  2262.   *drop = (struct ibv_flow_spec_action_drop){
  2263.   ^
  2264.   LD em_ethdev.o
  2265. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_flow_create_drop_queue’:
  2266. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2075:4: error: unknown field ‘wq_type’ specified in initializer
  2267.     .wq_type = IBV_WQT_RQ,
  2268.     ^
  2269. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2075:15: error: ‘IBV_WQT_RQ’ undeclared (first use in this function)
  2270.     .wq_type = IBV_WQT_RQ,
  2271.                ^
  2272. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2075:15: warning: excess elements in struct initializer
  2273. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2075:15: note: (near initialization for ‘(anonymous)’)
  2274. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2076:4: error: unknown field ‘max_wr’ specified in initializer
  2275.     .max_wr = 1,
  2276.     ^
  2277. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2076:14: warning: excess elements in struct initializer
  2278.     .max_wr = 1,
  2279.               ^
  2280. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2076:14: note: (near initialization for ‘(anonymous)’)
  2281. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2077:4: error: unknown field ‘max_sge’ specified in initializer
  2282.     .max_sge = 1,
  2283.     ^
  2284. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2077:15: warning: excess elements in struct initializer
  2285.     .max_sge = 1,
  2286.                ^
  2287. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2077:15: note: (near initialization for ‘(anonymous)’)
  2288. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2078:4: error: unknown field ‘pd’ specified in initializer
  2289.     .pd = priv->pd,
  2290.     ^
  2291. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2078:10: warning: excess elements in struct initializer
  2292.     .pd = priv->pd,
  2293.           ^
  2294. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2078:10: note: (near initialization for ‘(anonymous)’)
  2295. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2079:4: error: unknown field ‘cq’ specified in initializer
  2296.     .cq = fdq->cq,
  2297.     ^
  2298. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2079:10: warning: excess elements in struct initializer
  2299.     .cq = fdq->cq,
  2300.           ^
  2301. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2079:10: note: (near initialization for ‘(anonymous)’)
  2302. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2080:4: error: invalid use of undefined type ‘struct ibv_wq_init_attr’
  2303.     });
  2304.     ^
  2305. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2074:4: warning: passing argument 2 of ‘mlx5_glue->create_wq’ from incompatible pointer type [-Wincompatible-pointer-types]
  2306.     &(struct ibv_wq_init_attr){
  2307.     ^
  2308. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2074:4: note: expected ‘struct ibv_wq_init_attr *’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  2309. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2088:4: error: unknown field ‘log_ind_tbl_size’ specified in initializer
  2310.     .log_ind_tbl_size = 0,
  2311.     ^
  2312. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2088:24: warning: excess elements in struct initializer
  2313.     .log_ind_tbl_size = 0,
  2314.                         ^
  2315. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2088:24: note: (near initialization for ‘(anonymous)’)
  2316. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2089:4: error: unknown field ‘ind_tbl’ specified in initializer
  2317.     .ind_tbl = &fdq->wq,
  2318.     ^
  2319. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2089:15: warning: excess elements in struct initializer
  2320.     .ind_tbl = &fdq->wq,
  2321.                ^
  2322. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2089:15: note: (near initialization for ‘(anonymous)’)
  2323. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2090:4: error: unknown field ‘comp_mask’ specified in initializer
  2324.     .comp_mask = 0,
  2325.     ^
  2326. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2090:17: warning: excess elements in struct initializer
  2327.     .comp_mask = 0,
  2328.                  ^
  2329. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2090:17: note: (near initialization for ‘(anonymous)’)
  2330. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2091:4: error: invalid use of undefined type ‘struct ibv_rwq_ind_table_init_attr’
  2331.     });
  2332.     ^
  2333. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2087:4: warning: passing argument 2 of ‘mlx5_glue->create_rwq_ind_table’ from incompatible pointer type [-Wincompatible-pointer-types]
  2334.     &(struct ibv_rwq_ind_table_init_attr){
  2335.     ^
  2336. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2087:4: note: expected ‘struct ibv_rwq_ind_table_init_attr *’ but argument is of type ‘const struct mlx5_flow_items (*)[1]’
  2337. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2102:5: error: ‘IBV_QP_INIT_ATTR_IND_TABLE’ undeclared (first use in this function)
  2338.      IBV_QP_INIT_ATTR_IND_TABLE |
  2339.      ^
  2340. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2101:25: error: invalid operands to binary | (have ‘int’ and ‘const struct mlx5_flow_items *’)
  2341.      IBV_QP_INIT_ATTR_PD |
  2342.                          ^
  2343. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2103:5: error: ‘IBV_QP_INIT_ATTR_RX_HASH’ undeclared (first use in this function)
  2344.      IBV_QP_INIT_ATTR_RX_HASH,
  2345.      ^
  2346. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2102:32: error: invalid operands to binary | (have ‘const struct mlx5_flow_items *’ and ‘const struct mlx5_flow_items *’)
  2347.      IBV_QP_INIT_ATTR_IND_TABLE |
  2348.                                 ^
  2349. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2101:5: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
  2350.      IBV_QP_INIT_ATTR_PD |
  2351.      ^
  2352. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2101:5: note: (near initialization for ‘(anonymous).comp_mask’)
  2353. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2104:4: error: unknown field ‘rx_hash_conf’ specified in initializer
  2354.     .rx_hash_conf = (struct ibv_rx_hash_conf){
  2355.     ^
  2356. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2105:5: error: unknown field ‘rx_hash_function’ specified in initializer
  2357.      .rx_hash_function =
  2358.      ^
  2359. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2106:6: error: ‘IBV_RX_HASH_FUNC_TOEPLITZ’ undeclared (first use in this function)
  2360.       IBV_RX_HASH_FUNC_TOEPLITZ,
  2361.       ^
  2362. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2106:6: warning: excess elements in struct initializer
  2363. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2106:6: note: (near initialization for ‘(anonymous)’)
  2364. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2107:5: error: unknown field ‘rx_hash_key_len’ specified in initializer
  2365.      .rx_hash_key_len = rss_hash_default_key_len,
  2366.      ^
  2367. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2107:24: warning: excess elements in struct initializer
  2368.      .rx_hash_key_len = rss_hash_default_key_len,
  2369.                         ^
  2370. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2107:24: note: (near initialization for ‘(anonymous)’)
  2371. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2108:5: error: unknown field ‘rx_hash_key’ specified in initializer
  2372.      .rx_hash_key = rss_hash_default_key,
  2373.      ^
  2374. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2108:20: warning: excess elements in struct initializer
  2375.      .rx_hash_key = rss_hash_default_key,
  2376.                     ^
  2377. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2108:20: note: (near initialization for ‘(anonymous)’)
  2378. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2109:5: error: unknown field ‘rx_hash_fields_mask’ specified in initializer
  2379.      .rx_hash_fields_mask = 0,
  2380.      ^
  2381. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2109:28: warning: excess elements in struct initializer
  2382.      .rx_hash_fields_mask = 0,
  2383.                             ^
  2384. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2109:28: note: (near initialization for ‘(anonymous)’)
  2385. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2110:5: error: invalid use of undefined type ‘struct ibv_rx_hash_conf’
  2386.      },
  2387.      ^
  2388. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2104:20: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  2389.     .rx_hash_conf = (struct ibv_rx_hash_conf){
  2390.                     ^
  2391. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2104:20: note: (near initialization for ‘(anonymous).pd’)
  2392. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2111:4: error: unknown field ‘rwq_ind_tbl’ specified in initializer
  2393.     .rwq_ind_tbl = fdq->ind_table,
  2394.     ^
  2395. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2111:19: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  2396.     .rwq_ind_tbl = fdq->ind_table,
  2397.                    ^
  2398. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2111:19: note: (near initialization for ‘(anonymous).xrcd’)
  2399. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2112:10: warning: initialized field overwritten [-Woverride-init]
  2400.     .pd = priv->pd
  2401.           ^
  2402. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2112:10: note: (near initialization for ‘(anonymous).pd’)
  2403. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c: In function ‘priv_fdir_filter_delete’:
  2404. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2851:3: error: dereferencing pointer to incomplete type ‘struct ibv_flow_spec_action_drop’
  2405.    *drop = (struct ibv_flow_spec_action_drop){
  2406.    ^
  2407. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2852:4: error: unknown field ‘type’ specified in initializer
  2408.     .type = IBV_FLOW_SPEC_ACTION_DROP,
  2409.     ^
  2410. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2852:12: error: ‘IBV_FLOW_SPEC_ACTION_DROP’ undeclared (first use in this function)
  2411.     .type = IBV_FLOW_SPEC_ACTION_DROP,
  2412.             ^
  2413. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2852:12: warning: excess elements in struct initializer
  2414. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2852:12: note: (near initialization for ‘(anonymous)’)
  2415. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2853:4: error: unknown field ‘size’ specified in initializer
  2416.     .size = sizeof(struct ibv_flow_spec_action_drop),
  2417.     ^
  2418. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2853:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct ibv_flow_spec_action_drop’
  2419.     .size = sizeof(struct ibv_flow_spec_action_drop),
  2420.                    ^
  2421. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2853:12: warning: excess elements in struct initializer
  2422.     .size = sizeof(struct ibv_flow_spec_action_drop),
  2423.             ^
  2424. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2853:12: note: (near initialization for ‘(anonymous)’)
  2425. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2854:3: error: invalid use of undefined type ‘struct ibv_flow_spec_action_drop’
  2426.    };
  2427.    ^
  2428. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_flow.c:2851:3: warning: statement with no effect [-Wunused-value]
  2429.    *drop = (struct ibv_flow_spec_action_drop){
  2430.    ^
  2431. /usr/src/dpdk-18.02-rc4/mk/internal/rte.compile-pre.mk:114: recipe for target 'mlx5_flow.o' failed
  2432. make[6]: *** [mlx5_flow.o] Error 1
  2433.   PMDINFO vmxnet3_ethdev.o.pmd.c
  2434.   CC vmxnet3_ethdev.o.pmd.o
  2435. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:34:0:
  2436. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  2437.     struct ibv_rwq_ind_table_init_attr *init_attr);
  2438.            ^
  2439. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: its scope is only this definition or declaration, which is probably not what you want
  2440. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:67:16: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  2441.          struct ibv_wq_init_attr *wq_init_attr);
  2442.                 ^
  2443. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:69:45: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  2444.   int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
  2445.                                              ^
  2446. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:98:39: warning: ‘struct ibv_cq_ex’ declared inside parameter list
  2447.   struct ibv_cq *(*cq_ex_to_cq)(struct ibv_cq_ex *cq);
  2448.                                        ^
  2449. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  2450.     struct mlx5dv_cq_init_attr *mlx5_cq_attr);
  2451.            ^
  2452. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  2453. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:107:8: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  2454.         void *attr);
  2455.         ^
  2456. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c: In function ‘mlx5_priv_txq_ibv_new’:
  2457. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:382:30: error: field ‘cq’ has incomplete type
  2458.    struct ibv_cq_init_attr_ex cq;
  2459.                               ^
  2460. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:384:20: error: field ‘cq_attr’ has incomplete type
  2461.    struct ibv_cq_ex cq_attr;
  2462.                     ^
  2463. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:387:39: error: ‘MLX5DV_QP_MASK_UAR_MMAP_OFFSET’ undeclared (first use in this function)
  2464.   struct mlx5dv_qp qp = { .comp_mask = MLX5DV_QP_MASK_UAR_MMAP_OFFSET };
  2465.                                        ^
  2466. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:387:39: note: each undeclared identifier is reported only once for each function it appears in
  2467. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:404:3: error: unknown field ‘comp_mask’ specified in initializer
  2468.    .comp_mask = 0,
  2469.    ^
  2470. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:404:16: warning: excess elements in struct initializer
  2471.    .comp_mask = 0,
  2472.                 ^
  2473. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:404:16: note: (near initialization for ‘(anonymous)’)
  2474. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:405:2: error: invalid use of undefined type ‘struct ibv_cq_init_attr_ex’
  2475.   };
  2476.   ^
  2477. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:448:12: error: ‘struct ibv_qp_init_attr_ex’ has no member named ‘max_tso_header’
  2478.    attr.init.max_tso_header = txq_ctrl->max_tso_header;
  2479.             ^
  2480. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:449:26: error: ‘IBV_QP_INIT_ATTR_MAX_TSO_HEADER’ undeclared (first use in this function)
  2481.    attr.init.comp_mask |= IBV_QP_INIT_ATTR_MAX_TSO_HEADER;
  2482.                           ^
  2483. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_txq.c:520:33: error: ‘struct mlx5dv_qp’ has no member named ‘uar_mmap_offset’
  2484.    txq_ctrl->uar_mmap_offset = qp.uar_mmap_offset;
  2485.                                  ^
  2486.   PMDINFO ena_ethdev.o.pmd.c
  2487.   CC ena_ethdev.o.pmd.o
  2488.   LD vmxnet3_ethdev.o
  2489. /usr/src/dpdk-18.02-rc4/mk/internal/rte.compile-pre.mk:114: recipe for target 'mlx5_txq.o' failed
  2490. make[6]: *** [mlx5_txq.o] Error 1
  2491. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_ethdev.c:39:0:
  2492. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  2493.     struct ibv_rwq_ind_table_init_attr *init_attr);
  2494.            ^
  2495. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:38:0:
  2496. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  2497.     struct ibv_rwq_ind_table_init_attr *init_attr);
  2498.            ^
  2499. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: its scope is only this definition or declaration, which is probably not what you want
  2500. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:67:16: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  2501.          struct ibv_wq_init_attr *wq_init_attr);
  2502.                 ^
  2503. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:69:45: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  2504.   int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
  2505.                                              ^
  2506. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:98:39: warning: ‘struct ibv_cq_ex’ declared inside parameter list
  2507.   struct ibv_cq *(*cq_ex_to_cq)(struct ibv_cq_ex *cq);
  2508.                                        ^
  2509. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  2510.     struct mlx5dv_cq_init_attr *mlx5_cq_attr);
  2511.            ^
  2512. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  2513. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:107:8: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  2514.         void *attr);
  2515.         ^
  2516. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: its scope is only this definition or declaration, which is probably not what you want
  2517. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:67:16: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  2518.          struct ibv_wq_init_attr *wq_init_attr);
  2519.                 ^
  2520. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:69:45: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  2521.   int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
  2522.                                              ^
  2523. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:98:39: warning: ‘struct ibv_cq_ex’ declared inside parameter list
  2524.   struct ibv_cq *(*cq_ex_to_cq)(struct ibv_cq_ex *cq);
  2525.                                        ^
  2526. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  2527.     struct mlx5dv_cq_init_attr *mlx5_cq_attr);
  2528.            ^
  2529. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  2530. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:107:8: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  2531.         void *attr);
  2532.         ^
  2533. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c: In function ‘mlx5_priv_rxq_ibv_new’:
  2534. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:610:21: error: storage size of ‘mod’ isn’t known
  2535.   struct ibv_wq_attr mod;
  2536.                      ^
  2537. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:613:31: error: field ‘ibv’ has incomplete type
  2538.     struct ibv_cq_init_attr_ex ibv;
  2539.                                ^
  2540. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:614:31: error: field ‘mlx5’ has incomplete type
  2541.     struct mlx5dv_cq_init_attr mlx5;
  2542.                                ^
  2543. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:616:27: error: field ‘wq’ has incomplete type
  2544.    struct ibv_wq_init_attr wq;
  2545.                            ^
  2546. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:617:20: error: field ‘cq_attr’ has incomplete type
  2547.    struct ibv_cq_ex cq_attr;
  2548.                     ^
  2549. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:658:3: error: unknown field ‘cqe’ specified in initializer
  2550.    .cqe = cqe_n,
  2551.    ^
  2552. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:658:10: warning: excess elements in struct initializer
  2553.    .cqe = cqe_n,
  2554.           ^
  2555. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:658:10: note: (near initialization for ‘(anonymous)’)
  2556. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:659:3: error: unknown field ‘channel’ specified in initializer
  2557.    .channel = tmpl->channel,
  2558.    ^
  2559. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:659:14: warning: excess elements in struct initializer
  2560.    .channel = tmpl->channel,
  2561.               ^
  2562. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:659:14: note: (near initialization for ‘(anonymous)’)
  2563. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:660:3: error: unknown field ‘comp_mask’ specified in initializer
  2564.    .comp_mask = 0,
  2565.    ^
  2566. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:660:16: warning: excess elements in struct initializer
  2567.    .comp_mask = 0,
  2568.                 ^
  2569. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:660:16: note: (near initialization for ‘(anonymous)’)
  2570. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:661:2: error: invalid use of undefined type ‘struct ibv_cq_init_attr_ex’
  2571.   };
  2572.   ^
  2573. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:663:3: error: unknown field ‘comp_mask’ specified in initializer
  2574.    .comp_mask = 0,
  2575.    ^
  2576. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:663:16: warning: excess elements in struct initializer
  2577.    .comp_mask = 0,
  2578.                 ^
  2579. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:663:16: note: (near initialization for ‘(anonymous)’)
  2580. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:664:2: error: invalid use of undefined type ‘struct mlx5dv_cq_init_attr’
  2581.   };
  2582.   ^
  2583. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:667:4: error: ‘MLX5DV_CQ_INIT_ATTR_MASK_COMPRESSED_CQE’ undeclared (first use in this function)
  2584.     MLX5DV_CQ_INIT_ATTR_MASK_COMPRESSED_CQE;
  2585.     ^
  2586. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:667:4: note: each undeclared identifier is reported only once for each function it appears in
  2587. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:668:38: error: ‘MLX5DV_CQE_RES_FORMAT_HASH’ undeclared (first use in this function)
  2588.    attr.cq.mlx5.cqe_comp_res_format = MLX5DV_CQE_RES_FORMAT_HASH;
  2589.                                       ^
  2590. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:690:3: error: unknown field ‘wq_context’ specified in initializer
  2591.    .wq_context = NULL, /* Could be useful in the future. */
  2592.    ^
  2593. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:691:3: error: unknown field ‘wq_type’ specified in initializer
  2594.    .wq_type = IBV_WQT_RQ,
  2595.    ^
  2596. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:691:14: error: ‘IBV_WQT_RQ’ undeclared (first use in this function)
  2597.    .wq_type = IBV_WQT_RQ,
  2598.               ^
  2599. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:691:14: warning: excess elements in struct initializer
  2600. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:691:14: note: (near initialization for ‘(anonymous)’)
  2601. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:693:3: error: unknown field ‘max_wr’ specified in initializer
  2602.    .max_wr = (1 << rxq_data->elts_n) >> rxq_data->sges_n,
  2603.    ^
  2604. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:693:13: warning: excess elements in struct initializer
  2605.    .max_wr = (1 << rxq_data->elts_n) >> rxq_data->sges_n,
  2606.              ^
  2607. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:693:13: note: (near initialization for ‘(anonymous)’)
  2608. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:695:3: error: unknown field ‘max_sge’ specified in initializer
  2609.    .max_sge = 1 << rxq_data->sges_n,
  2610.    ^
  2611. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:695:14: warning: excess elements in struct initializer
  2612.    .max_sge = 1 << rxq_data->sges_n,
  2613.               ^
  2614. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:695:14: note: (near initialization for ‘(anonymous)’)
  2615. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:696:3: error: unknown field ‘pd’ specified in initializer
  2616.    .pd = priv->pd,
  2617.    ^
  2618. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:696:9: warning: excess elements in struct initializer
  2619.    .pd = priv->pd,
  2620.          ^
  2621. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:696:9: note: (near initialization for ‘(anonymous)’)
  2622. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:697:3: error: unknown field ‘cq’ specified in initializer
  2623.    .cq = tmpl->cq,
  2624.    ^
  2625. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:697:9: warning: excess elements in struct initializer
  2626.    .cq = tmpl->cq,
  2627.          ^
  2628. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:697:9: note: (near initialization for ‘(anonymous)’)
  2629. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:698:3: error: unknown field ‘comp_mask’ specified in initializer
  2630.    .comp_mask =
  2631.    ^
  2632. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:699:4: error: ‘IBV_WQ_FLAGS_CVLAN_STRIPPING’ undeclared (first use in this function)
  2633.     IBV_WQ_FLAGS_CVLAN_STRIPPING |
  2634.     ^
  2635. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:699:4: warning: excess elements in struct initializer
  2636. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:699:4: note: (near initialization for ‘(anonymous)’)
  2637. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:701:3: error: unknown field ‘create_flags’ specified in initializer
  2638.    .create_flags = (rxq_data->vlan_strip ?
  2639.    ^
  2640. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:701:19: warning: excess elements in struct initializer
  2641.    .create_flags = (rxq_data->vlan_strip ?
  2642.                    ^
  2643. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:701:19: note: (near initialization for ‘(anonymous)’)
  2644. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:704:2: error: invalid use of undefined type ‘struct ibv_wq_init_attr’
  2645.   };
  2646.   ^
  2647. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:707:27: error: ‘IBV_WQ_FLAGS_SCATTER_FCS’ undeclared (first use in this function)
  2648.    attr.wq.create_flags |= IBV_WQ_FLAGS_SCATTER_FCS;
  2649.                            ^
  2650. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:708:24: error: ‘IBV_WQ_INIT_ATTR_FLAGS’ undeclared (first use in this function)
  2651.    attr.wq.comp_mask |= IBV_WQ_INIT_ATTR_FLAGS;
  2652.                         ^
  2653. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5.h:34:0,
  2654.                  from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:33:
  2655. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_utils.h:41:54: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  2656.  #define ERRNO_SAFE(x) ((errno = (int []){ errno, ((x), 0) }[0]))
  2657.                                                       ^
  2658. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_utils.h:85:2: note: in expansion of macro ‘ERRNO_SAFE’
  2659.   ERRNO_SAFE(RTE_LOG(level, PMD, MLX5_DRIVER_NAME ": " __VA_ARGS__))
  2660.   ^
  2661. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_utils.h:87:2: note: in expansion of macro ‘PMD_DRV_LOG___’
  2662.   PMD_DRV_LOG___(level, __VA_ARGS__)
  2663.   ^
  2664. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_utils.h:89:2: note: in expansion of macro ‘PMD_DRV_LOG__’
  2665.   PMD_DRV_LOG__(level, s "\n", __VA_ARGS__)
  2666.   ^
  2667. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_utils.h:95:2: note: in expansion of macro ‘PMD_DRV_LOG_’
  2668.   PMD_DRV_LOG_(level, \
  2669.   ^
  2670. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_utils.h:119:20: note: in expansion of macro ‘PMD_DRV_LOG’
  2671.  #define ERROR(...) PMD_DRV_LOG(ERR, __VA_ARGS__)
  2672.                     ^
  2673. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:728:3: note: in expansion of macro ‘ERROR’
  2674.    ERROR("%p: requested %u*%u but got %u*%u WRs*SGEs",
  2675.    ^
  2676. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:737:3: error: unknown field ‘attr_mask’ specified in initializer
  2677.    .attr_mask = IBV_WQ_ATTR_STATE,
  2678.    ^
  2679.   LD ena_ethdev.o
  2680. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:737:16: error: ‘IBV_WQ_ATTR_STATE’ undeclared (first use in this function)
  2681.    .attr_mask = IBV_WQ_ATTR_STATE,
  2682.                 ^
  2683. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:737:16: warning: excess elements in struct initializer
  2684. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:737:16: note: (near initialization for ‘(anonymous)’)
  2685. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:738:3: error: unknown field ‘wq_state’ specified in initializer
  2686.    .wq_state = IBV_WQS_RDY,
  2687.    ^
  2688. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:738:15: error: ‘IBV_WQS_RDY’ undeclared (first use in this function)
  2689.    .wq_state = IBV_WQS_RDY,
  2690.                ^
  2691. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:738:15: warning: excess elements in struct initializer
  2692. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:738:15: note: (near initialization for ‘(anonymous)’)
  2693. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:739:2: error: invalid use of undefined type ‘struct ibv_wq_attr’
  2694.   };
  2695.   ^
  2696. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:748:13: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
  2697.   obj.rwq.in = tmpl->wq;
  2698.              ^
  2699. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:784:28: error: ‘struct mlx5dv_cq’ has no member named ‘cq_uar’
  2700.   rxq_data->cq_uar = cq_info.cq_uar;
  2701.                             ^
  2702. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:618:4: warning: variable ‘attr’ set but not used [-Wunused-but-set-variable]
  2703.   } attr;
  2704.     ^
  2705. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:610:21: warning: unused variable ‘mod’ [-Wunused-variable]
  2706.   struct ibv_wq_attr mod;
  2707.                      ^
  2708. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c: In function ‘mlx5_priv_ind_table_ibv_new’:
  2709. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1205:4: error: unknown field ‘log_ind_tbl_size’ specified in initializer
  2710.     .log_ind_tbl_size = wq_n,
  2711.     ^
  2712. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1205:24: warning: excess elements in struct initializer
  2713.     .log_ind_tbl_size = wq_n,
  2714.                         ^
  2715. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1205:24: note: (near initialization for ‘(anonymous)’)
  2716. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1206:4: error: unknown field ‘ind_tbl’ specified in initializer
  2717.     .ind_tbl = wq,
  2718.     ^
  2719. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1206:15: warning: excess elements in struct initializer
  2720.     .ind_tbl = wq,
  2721.                ^
  2722. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1206:15: note: (near initialization for ‘(anonymous)’)
  2723. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1207:4: error: unknown field ‘comp_mask’ specified in initializer
  2724.     .comp_mask = 0,
  2725.     ^
  2726. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1207:17: warning: excess elements in struct initializer
  2727.     .comp_mask = 0,
  2728.                  ^
  2729. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1207:17: note: (near initialization for ‘(anonymous)’)
  2730. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1208:4: error: invalid use of undefined type ‘struct ibv_rwq_ind_table_init_attr’
  2731.     });
  2732.     ^
  2733. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c: In function ‘mlx5_priv_hrxq_new’:
  2734. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1354:5: error: ‘IBV_QP_INIT_ATTR_IND_TABLE’ undeclared (first use in this function)
  2735.      IBV_QP_INIT_ATTR_IND_TABLE |
  2736.      ^
  2737. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1355:5: error: ‘IBV_QP_INIT_ATTR_RX_HASH’ undeclared (first use in this function)
  2738.      IBV_QP_INIT_ATTR_RX_HASH,
  2739.      ^
  2740. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1356:4: error: unknown field ‘rx_hash_conf’ specified in initializer
  2741.     .rx_hash_conf = (struct ibv_rx_hash_conf){
  2742.     ^
  2743. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1357:5: error: unknown field ‘rx_hash_function’ specified in initializer
  2744.      .rx_hash_function = IBV_RX_HASH_FUNC_TOEPLITZ,
  2745.      ^
  2746. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1357:25: error: ‘IBV_RX_HASH_FUNC_TOEPLITZ’ undeclared (first use in this function)
  2747.      .rx_hash_function = IBV_RX_HASH_FUNC_TOEPLITZ,
  2748.                          ^
  2749. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1357:25: warning: excess elements in struct initializer
  2750. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1357:25: note: (near initialization for ‘(anonymous)’)
  2751. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1358:5: error: unknown field ‘rx_hash_key_len’ specified in initializer
  2752.      .rx_hash_key_len = rss_key_len,
  2753.      ^
  2754. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1358:24: warning: excess elements in struct initializer
  2755.      .rx_hash_key_len = rss_key_len,
  2756.                         ^
  2757. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1358:24: note: (near initialization for ‘(anonymous)’)
  2758. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1359:5: error: unknown field ‘rx_hash_key’ specified in initializer
  2759.      .rx_hash_key = rss_key,
  2760.      ^
  2761. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1359:20: warning: excess elements in struct initializer
  2762.      .rx_hash_key = rss_key,
  2763.                     ^
  2764. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1359:20: note: (near initialization for ‘(anonymous)’)
  2765. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1360:5: error: unknown field ‘rx_hash_fields_mask’ specified in initializer
  2766.      .rx_hash_fields_mask = hash_fields,
  2767.      ^
  2768. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1360:28: warning: excess elements in struct initializer
  2769.      .rx_hash_fields_mask = hash_fields,
  2770.                             ^
  2771. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1360:28: note: (near initialization for ‘(anonymous)’)
  2772. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1362:4: error: unknown field ‘rwq_ind_tbl’ specified in initializer
  2773.     .rwq_ind_tbl = ind_tbl->ind_table,
  2774.     ^
  2775. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1362:19: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  2776.     .rwq_ind_tbl = ind_tbl->ind_table,
  2777.                    ^
  2778. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_rxq.c:1362:19: note: (near initialization for ‘(anonymous).xrcd’)
  2779.   AR librte_pmd_ark.a
  2780. In file included from /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_mr.c:19:0:
  2781. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: ‘struct ibv_rwq_ind_table_init_attr’ declared inside parameter list
  2782.     struct ibv_rwq_ind_table_init_attr *init_attr);
  2783.            ^
  2784. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:64:11: warning: its scope is only this definition or declaration, which is probably not what you want
  2785. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:67:16: warning: ‘struct ibv_wq_init_attr’ declared inside parameter list
  2786.          struct ibv_wq_init_attr *wq_init_attr);
  2787.                 ^
  2788. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:69:45: warning: ‘struct ibv_wq_attr’ declared inside parameter list
  2789.   int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
  2790.                                              ^
  2791. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:98:39: warning: ‘struct ibv_cq_ex’ declared inside parameter list
  2792.   struct ibv_cq *(*cq_ex_to_cq)(struct ibv_cq_ex *cq);
  2793.                                        ^
  2794. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct mlx5dv_cq_init_attr’ declared inside parameter list
  2795.     struct mlx5dv_cq_init_attr *mlx5_cq_attr);
  2796.            ^
  2797. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:102:11: warning: ‘struct ibv_cq_init_attr_ex’ declared inside parameter list
  2798. /usr/src/dpdk-18.02-rc4/drivers/net/mlx5/mlx5_glue.h:107:8: warning: ‘enum mlx5dv_set_ctx_attr_type’ declared inside parameter list
  2799.         void *attr);
  2800.         ^
  2801.   INSTALL-LIB librte_pmd_ark.a
  2802. /usr/src/dpdk-18.02-rc4/mk/internal/rte.compile-pre.mk:114: recipe for target 'mlx5_rxq.o' failed
  2803. make[6]: *** [mlx5_rxq.o] Error 1
  2804.   PMDINFO rte_eth_af_packet.o.pmd.c
  2805.   CC rte_eth_af_packet.o.pmd.o
  2806.   PMDINFO sfc_ethdev.o.pmd.c
  2807.   AR librte_pmd_ena.a
  2808.   INSTALL-LIB librte_pmd_ena.a
  2809.   CC sfc_ethdev.o.pmd.o
  2810.   LD rte_eth_af_packet.o
  2811.   PMDINFO avf_ethdev.o.pmd.c
  2812.   AR librte_pmd_softnic.a
  2813.   CC avf_ethdev.o.pmd.o
  2814.   AR librte_pmd_lio.a
  2815.   INSTALL-LIB librte_pmd_softnic.a
  2816.   LD sfc_ethdev.o
  2817.   INSTALL-LIB librte_pmd_lio.a
  2818.   LD avf_ethdev.o
  2819.   PMDINFO virtio_ethdev.o.pmd.c
  2820.   CC virtio_ethdev.o.pmd.o
  2821.   PMDINFO bnxt_ethdev.o.pmd.c
  2822.   AR librte_pmd_af_packet.a
  2823.   INSTALL-LIB librte_pmd_af_packet.a
  2824.   AR librte_pmd_sfc_efx.a
  2825.   LD virtio_ethdev.o
  2826.   INSTALL-LIB librte_pmd_sfc_efx.a
  2827.   CC bnxt_ethdev.o.pmd.o
  2828.   LD bnxt_ethdev.o
  2829.   AR librte_pmd_enic.a
  2830.   INSTALL-LIB librte_pmd_enic.a
  2831.   PMDINFO rte_eth_tap.o.pmd.c
  2832.   CC rte_eth_tap.o.pmd.o
  2833.   LD rte_eth_tap.o
  2834.   PMDINFO i40e_ethdev_vf.o.pmd.c
  2835.   CC i40e_ethdev_vf.o.pmd.o
  2836.   AR librte_pmd_tap.a
  2837.   INSTALL-LIB librte_pmd_tap.a
  2838.   LD i40e_ethdev_vf.o
  2839.   PMDINFO nfp_net.o.pmd.c
  2840.   CC nfp_net.o.pmd.o
  2841.   LD nfp_net.o
  2842.   AR librte_pmd_nfp.a
  2843.   INSTALL-LIB librte_pmd_nfp.a
  2844.   PMDINFO avp_ethdev.o.pmd.c
  2845.   CC avp_ethdev.o.pmd.o
  2846.   LD avp_ethdev.o
  2847.   AR librte_pmd_avf.a
  2848.   INSTALL-LIB librte_pmd_avf.a
  2849.   AR librte_pmd_avp.a
  2850.   AR librte_pmd_vmxnet3_uio.a
  2851.   INSTALL-LIB librte_pmd_avp.a
  2852.   INSTALL-LIB librte_pmd_vmxnet3_uio.a
  2853.   PMDINFO qede_ethdev.o.pmd.c
  2854.   CC qede_ethdev.o.pmd.o
  2855.   LD qede_ethdev.o
  2856.   AR librte_pmd_cxgbe.a
  2857.   INSTALL-LIB librte_pmd_cxgbe.a
  2858.   PMDINFO igb_ethdev.o.pmd.c
  2859.   CC igb_ethdev.o.pmd.o
  2860.   LD igb_ethdev.o
  2861.   AR librte_pmd_e1000.a
  2862.   INSTALL-LIB librte_pmd_e1000.a
  2863.   AR librte_pmd_virtio.a
  2864.   INSTALL-LIB librte_pmd_virtio.a
  2865.   AR librte_pmd_bnxt.a
  2866.   INSTALL-LIB librte_pmd_bnxt.a
  2867.   PMDINFO fm10k_ethdev.o.pmd.c
  2868.   CC fm10k_ethdev.o.pmd.o
  2869.   LD fm10k_ethdev.o
  2870.   AR librte_pmd_fm10k.a
  2871.   INSTALL-LIB librte_pmd_fm10k.a
  2872.   PMDINFO rte_eth_bond_pmd.o.pmd.c
  2873.   CC rte_eth_bond_pmd.o.pmd.o
  2874.   LD rte_eth_bond_pmd.o
  2875.   AR librte_pmd_bond.a
  2876.   INSTALL-LIB librte_pmd_bond.a
  2877.   PMDINFO ixgbe_ethdev.o.pmd.c
  2878.   CC ixgbe_ethdev.o.pmd.o
  2879.   LD ixgbe_ethdev.o
  2880.   AR librte_pmd_qede.a
  2881.   INSTALL-LIB librte_pmd_qede.a
  2882.   AR librte_pmd_ixgbe.a
  2883.   INSTALL-LIB librte_pmd_ixgbe.a
  2884. /usr/src/dpdk-18.02-rc4/mk/rte.subdir.mk:35: recipe for target 'mlx5' failed
  2885. make[5]: *** [mlx5] Error 2
  2886. make[5]: *** Waiting for unfinished jobs....
  2887.   PMDINFO i40e_ethdev.o.pmd.c
  2888.   CC i40e_ethdev.o.pmd.o
  2889.   LD i40e_ethdev.o
  2890.   AR librte_pmd_i40e.a
  2891.   INSTALL-LIB librte_pmd_i40e.a
  2892. /usr/src/dpdk-18.02-rc4/mk/rte.subdir.mk:35: recipe for target 'net' failed
  2893. make[4]: *** [net] Error 2
  2894. /usr/src/dpdk-18.02-rc4/mk/rte.sdkbuild.mk:48: recipe for target 'drivers' failed
  2895. make[3]: *** [drivers] Error 2
  2896. /usr/src/dpdk-18.02-rc4/mk/rte.sdkroot.mk:100: recipe for target 'all' failed
  2897. make[2]: *** [all] Error 2
  2898. /usr/src/dpdk-18.02-rc4/mk/rte.sdkinstall.mk:85: recipe for target 'pre_install' failed
  2899. make[1]: *** [pre_install] Error 2
  2900. /usr/src/dpdk-18.02-rc4/mk/rte.sdkroot.mk:79: recipe for target 'install' failed
  2901. make: *** [install] Error 2
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top