Open ddaya opened 2 years ago
This vnf acceleration example is not up to the latest DPDK. It only works with DPDK versions up to 21.02
Hi Jackmin:
Thank you for your quick response. I've successfully compiled dpdk-21.02 and ran the following to find errors, is this correct?
root@localhost:/home/ubuntu/src/vnf_acceleration_example-master/build# cat /proc/meminfo | grep Huge AnonHugePages: 0 kB ShmemHugePages: 0 kB FileHugePages: 0 kB HugePages_Total: 4096 HugePages_Free: 4030 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 8388608 kB
pci@0000:03:00.0 enp3s0f0s0 network MT42822 BlueField-2 integrated ConnectX-6 Dx network controller [15B3:A2D6] pci@0000:03:00.1 pf1hpf network MT42822 BlueField-2 integrated ConnectX-6 Dx network controller [15B3:A2D6] virtio@1 tmfifo_net0 network Ethernet interface pci@0000:03:00.0 pf0vf0 network Ethernet interface pci@0000:03:00.0 en3f0pf0sf0 network Ethernet interface pci@0000:03:00.1 p1 network Ethernet interface pci@0000:03:00.1 en3f1pf1sf0 network Ethernet interface pci@0000:03:00.0 pf0hpf network Ethernet interface pci@0000:03:00.1 enp3s0f1s0 network Ethernet interface pci@0000:03:00.1 pf1vf0 network Ethernet interface pci@0000:03:00.0 p0 network Ethernet interface oob_net0 network Ethernet interface
root@localhost:/home/ubuntu/src/vnf_acceleration_example-master/build# ./vnf_example -l 1-2 -n 4 -a 0000:03:00.0 -a 0000:03:00.1 EAL: Detected 8 lcore(s) EAL: Detected 1 NUMA nodes EAL: Detected shared linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: No available 32768 kB hugepages reported EAL: No available 64 kB hugepages reported EAL: No available 1048576 kB hugepages reported EAL: Probing VFIO support... EAL: VFIO support initialized EAL: Invalid NUMA socket, default to 0 EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.0 (socket 0) mlx5_pci: Failed to allocate Tx DevX UAR (BF) mlx5_pci: Failed to allocate Rx DevX UAR (BF) mlx5_pci: Size 0xFFFF is not power of 2, will be aligned to 0x10000. EAL: Invalid NUMA socket, default to 0 EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.1 (socket 0) mlx5_pci: Failed to allocate Tx DevX UAR (BF) mlx5_pci: Failed to allocate Rx DevX UAR (BF) mlx5_pci: Size 0xFFFF is not power of 2, will be aligned to 0x10000. EAL: No legacy callbacks, legacy socket not created :: initializing port: 0 :: initializing port: 0 done :: initializing port: 1 :: initializing port: 1 done :: 2 ports active, setup 2 ports hairpin...done :: 2 ports hairpin bind...done :: warning: only use first port: 0 Can't create decap flow. hardware refuses to create flow Can't create encap flow. hardware refuses to create flow Can't create encap flow. hardware refuses to create flow Flow can't be created EAL: Error - exiting with code: 1 Cause: error in creating flow root@localhost:/home/ubuntu/src/vnf_acceleration_example-master/build#
With one port:
root@localhost:/home/ubuntu/src/vnf_acceleration_example-master/build# ./vnf_example -l 1 -n 4 -a 0000:03:00.0 EAL: Detected 8 lcore(s) EAL: Detected 1 NUMA nodes EAL: Detected shared linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: No available 32768 kB hugepages reported EAL: No available 64 kB hugepages reported EAL: No available 1048576 kB hugepages reported EAL: Probing VFIO support... EAL: VFIO support initialized EAL: Invalid NUMA socket, default to 0 EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.0 (socket 0) mlx5_pci: Failed to allocate Tx DevX UAR (BF) mlx5_pci: Failed to allocate Rx DevX UAR (BF) mlx5_pci: Size 0xFFFF is not power of 2, will be aligned to 0x10000. EAL: No legacy callbacks, legacy socket not created :: initializing port: 0 :: initializing port: 0 done :: 1 ports active, setup 1 ports hairpin...done mlx5_pci: port 0 failed to set defaults flows EAL: Error - exiting with code: 1 Cause: rte_eth_dev_start:err=-22, port=0 root@localhost:/home/ubuntu/src/vnf_acceleration_example-master/build#
root@localhost:/home/ubuntu/src/vnf_acceleration_example-master/build# ./vnf_example -v -l 1 -n 4 -a 0000:03:00.0 --log-level=10 EAL: Detected 8 lcore(s) EAL: Detected 1 NUMA nodes EAL: RTE Version: 'DPDK 21.02.0' EAL: Detected shared linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: No available 32768 kB hugepages reported EAL: No available 64 kB hugepages reported EAL: No available 1048576 kB hugepages reported EAL: Probing VFIO support... EAL: VFIO support initialized EAL: Invalid NUMA socket, default to 0 EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.0 (socket 0) mlx5_pci: Failed to allocate Tx DevX UAR (BF) mlx5_pci: Failed to allocate Rx DevX UAR (BF) mlx5_pci: Size 0xFFFF is not power of 2, will be aligned to 0x10000. EAL: No legacy callbacks, legacy socket not created :: initializing port: 0 :: initializing port: 0 done :: 1 ports active, setup 1 ports hairpin...done mlx5_pci: port 0 failed to set defaults flows EAL: Error - exiting with code: 1 Cause: rte_eth_dev_start:err=-22, port=0 root@localhost:/home/ubuntu/src/vnf_acceleration_example-master/build#
Additional debug information:
root@localhost:/home/ubuntu/src/vnf_acceleration_example-master# mlxconfig -d /dev/mst/mt41686_pciconf0 q | grep -i flex
FLEX_PARSER_PROFILE_ENABLE 3
FLEX_IPV4_OVER_VXLAN_PORT 0
root@localhost:/home/ubuntu/src/vnf_acceleration_example-master# mlxconfig -d /dev/mst/mt41686_pciconf0.1 q | grep -i flex
FLEX_PARSER_PROFILE_ENABLE 3
FLEX_IPV4_OVER_VXLAN_PORT 0
root@localhost:/home/ubuntu/src/dpdk-21.02# /home/ubuntu/src/vnf_acceleration_example-master/build/vnf_example -v --log-level pmd.net.mlx5:debug -l 1-2 -n 4 -a 0000:03:00.0 EAL: Detected 8 lcore(s) EAL: Detected 1 NUMA nodes EAL: RTE Version: 'DPDK 21.02.0' EAL: Detected shared linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: No available 32768 kB hugepages reported EAL: No available 64 kB hugepages reported EAL: No available 1048576 kB hugepages reported EAL: Probing VFIO support... EAL: VFIO support initialized EAL: Invalid NUMA socket, default to 0 EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.0 (socket 0) mlx5_pci: checking device "mlx5_3" mlx5_pci: checking device "mlx5_2" mlx5_pci: checking device "mlx5_1" mlx5_pci: checking device "mlx5_0" mlx5_pci: PCI information matches for device "mlx5_0" mlx5_pci: naming Ethernet device "0000:03:00.0" mlx5_pci: DevX is supported mlx5_pci: Failed to allocate Tx DevX UAR (BF) mlx5_pci: Failed to allocate Rx DevX UAR (BF) mlx5_pci: enhanced MPW is supported mlx5_pci: SWP support: 7 mlx5_pci: min_single_stride_log_num_of_bytes: 6 mlx5_pci: max_single_stride_log_num_of_bytes: 13 mlx5_pci: min_single_wqe_log_num_of_strides: 3 mlx5_pci: max_single_wqe_log_num_of_strides: 16 mlx5_pci: supported_qpts: 256 mlx5_pci: device supports Multi-Packet RQ mlx5_pci: tunnel offloading is supported mlx5_pci: MPLS over GRE/UDP tunnel offloading is not supported mlx5_pci: checksum offloading is supported mlx5_pci: maximum Rx indirection table size is 512 mlx5_pci: VLAN stripping is supported mlx5_pci: enhanced MPS is enabled mlx5_pci: Device supports LRO mlx5_pci: LRO session timeout set to 8 usec mlx5_pci: LRO minimal size of TCP segment required for coalescing is 1348 bytes mlx5_pci: The REG_C meter uses is 6 mlx5_pci: Flow Hit ASO is supported. mlx5_pci: The Sampler enabled!
mlx5_pci: Rx CQE compression is supported mlx5_pci: FCS stripping configuration is not supported mlx5_pci: port 0 MAC address is 6a:e2:d0:48:1d:ca mlx5_pci: port 0 MTU is 1500 mlx5_pci: port 0 forcing Ethernet interface up mlx5_pci: Tx VLAN insertion is supported mlx5_pci: min tx inline configured: 0 mlx5_pci: Hash list with mlx5_0_flow_table size 0x1000 is created. mlx5_pci: Cache list mlx5_0_port_id_action_cache initialized. mlx5_pci: Cache list mlx5_0_push_vlan_action_cache initialized. mlx5_pci: Cache list mlx5_0_sample_action_cache initialized. mlx5_pci: Cache list mlx5_0_dest_array_cache initialized. mlx5_pci: Hash list with mlx5_0_tags size 0x2000 is created. mlx5_pci: Hash list with mlx5_0_hdr_modify size 0x10000 is created. mlx5_pci: Hash list with mlx5_0_encaps_decaps size 0x10000 is created. mlx5_pci: Size 0xFFFF is not power of 2, will be aligned to 0x10000. mlx5_pci: Hash list with flow groups size 0x10000 is created. mlx5_pci: port 0 supported flow priorities: 0-3 for ingress or egress root table, 0-21843 for non-root table or transfer root table. mlx5_pci: metadata mode 0 mlx5_pci: metadata MARK mask 00FFFFFF mlx5_pci: metadata META mask FFFFFFFF mlx5_pci: metadata reg_c0 mask FFFFFFFF mlx5_pci: Cache list hrxq initialized. mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=1 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: Cache list NIC_ingress_65534_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 new: 1. mlx5_pci: Table_id 65534 tunnel 0 group 65534 registered. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 new: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 new: 1. mlx5_pci: Table_id 65533 tunnel 0 group 65533 registered. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 new: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 ref--: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 removed. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 deref: 1. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 removed. mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=1 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: Cache list NIC_ingress_65534_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 new: 1. mlx5_pci: Table_id 65534 tunnel 0 group 65534 registered. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 new: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 new: 1. mlx5_pci: Table_id 65533 tunnel 0 group 65533 registered. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 new: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 ref--: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 removed. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 deref: 1. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 removed. mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=1 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: Cache list NIC_ingress_65534_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 new: 1. mlx5_pci: Table_id 65534 tunnel 0 group 65534 registered. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 new: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 new: 1. mlx5_pci: Table_id 65533 tunnel 0 group 65533 registered. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 new: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 ref--: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 removed. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 deref: 1. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 removed. mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=1 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: Cache list NIC_ingress_65534_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 new: 1. mlx5_pci: Table_id 65534 tunnel 0 group 65534 registered. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 new: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 new: 1. mlx5_pci: Table_id 65533 tunnel 0 group 65533 registered. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 new: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 ref--: 1. mlx5_pci: Cache list NIC_ingress_65533_matcher_cache entry 0x100200ac0 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8fe8 removed. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 deref: 1. mlx5_pci: Hash list mlx5_0_hdr_modify entry 0x100200d00 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 removed. mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=1 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: Cache list NIC_ingress_65534_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 new: 1. mlx5_pci: Table_id 65534 tunnel 0 group 65534 registered. mlx5_pci: Can't allocate hash list mlx5_0_hdr_modify entry. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 removed. mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=1 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: port 0 group=65533 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffd table=0xfffd mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: Cache list NIC_ingress_65534_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 new: 1. mlx5_pci: Table_id 65534 tunnel 0 group 65534 registered. mlx5_pci: Can't allocate hash list mlx5_0_hdr_modify entry. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011d8f40 removed. mlx5_pci: Cache list NIC_ingress_0_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011fd480 new: 1. mlx5_pci: Table_id 0 tunnel 0 group 0 registered. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011fd480 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x1011fd480 removed. EAL: No legacy callbacks, legacy socket not created :: initializing port: 0 mlx5_pci: port 0 Tx queues number update: 0 -> 9 mlx5_pci: port 0 Rx queues number update: 0 -> 9 mlx5_pci: port 0 configuring Rx queue 0 for 512 descriptors mlx5_pci: port 0 maximum number of segments per packet: 1 mlx5_pci: port 0 Rx Queue 0 max LRO message size adjusted to 1280 bytes mlx5_pci: port 0 CRC stripping is enabled, 0 bytes will be subtracted from incoming frames to hide it mlx5_pci: port 0 adding Rx queue 0 to list mlx5_pci: port 0 configuring Rx queue 1 for 512 descriptors mlx5_pci: port 0 maximum number of segments per packet: 1 mlx5_pci: port 0 Rx Queue 1 max LRO message size adjusted to 1280 bytes mlx5_pci: port 0 CRC stripping is enabled, 0 bytes will be subtracted from incoming frames to hide it mlx5_pci: port 0 adding Rx queue 1 to list mlx5_pci: port 0 configuring Rx queue 2 for 512 descriptors mlx5_pci: port 0 maximum number of segments per packet: 1 mlx5_pci: port 0 Rx Queue 2 max LRO message size adjusted to 1280 bytes mlx5_pci: port 0 CRC stripping is enabled, 0 bytes will be subtracted from incoming frames to hide it mlx5_pci: port 0 adding Rx queue 2 to list mlx5_pci: port 0 configuring Rx queue 3 for 512 descriptors mlx5_pci: port 0 maximum number of segments per packet: 1 mlx5_pci: port 0 Rx Queue 3 max LRO message size adjusted to 1280 bytes mlx5_pci: port 0 CRC stripping is enabled, 0 bytes will be subtracted from incoming frames to hide it mlx5_pci: port 0 adding Rx queue 3 to list mlx5_pci: port 0 configuring Rx queue 4 for 512 descriptors mlx5_pci: port 0 maximum number of segments per packet: 1 mlx5_pci: port 0 Rx Queue 4 max LRO message size adjusted to 1280 bytes mlx5_pci: port 0 CRC stripping is enabled, 0 bytes will be subtracted from incoming frames to hide it mlx5_pci: port 0 adding Rx queue 4 to list mlx5_pci: port 0 configuring Rx queue 5 for 512 descriptors mlx5_pci: port 0 maximum number of segments per packet: 1 mlx5_pci: port 0 Rx Queue 5 max LRO message size adjusted to 1280 bytes mlx5_pci: port 0 CRC stripping is enabled, 0 bytes will be subtracted from incoming frames to hide it mlx5_pci: port 0 adding Rx queue 5 to list mlx5_pci: port 0 configuring Rx queue 6 for 512 descriptors mlx5_pci: port 0 maximum number of segments per packet: 1 mlx5_pci: port 0 Rx Queue 6 max LRO message size adjusted to 1280 bytes mlx5_pci: port 0 CRC stripping is enabled, 0 bytes will be subtracted from incoming frames to hide it mlx5_pci: port 0 adding Rx queue 6 to list mlx5_pci: port 0 configuring Rx queue 7 for 512 descriptors mlx5_pci: port 0 maximum number of segments per packet: 1 mlx5_pci: port 0 Rx Queue 7 max LRO message size adjusted to 1280 bytes mlx5_pci: port 0 CRC stripping is enabled, 0 bytes will be subtracted from incoming frames to hide it mlx5_pci: port 0 adding Rx queue 7 to list mlx5_pci: port 0 configuring queue 0 for 512 descriptors mlx5_pci: port 0 adding Tx queue 0 to list mlx5_pci: port 0 configuring queue 1 for 512 descriptors mlx5_pci: port 0 adding Tx queue 1 to list mlx5_pci: port 0 configuring queue 2 for 512 descriptors mlx5_pci: port 0 adding Tx queue 2 to list mlx5_pci: port 0 configuring queue 3 for 512 descriptors mlx5_pci: port 0 adding Tx queue 3 to list mlx5_pci: port 0 configuring queue 4 for 512 descriptors mlx5_pci: port 0 adding Tx queue 4 to list mlx5_pci: port 0 configuring queue 5 for 512 descriptors mlx5_pci: port 0 adding Tx queue 5 to list mlx5_pci: port 0 configuring queue 6 for 512 descriptors mlx5_pci: port 0 adding Tx queue 6 to list mlx5_pci: port 0 configuring queue 7 for 512 descriptors mlx5_pci: port 0 adding Tx queue 7 to list :: initializing port: 0 done :: 1 ports active, setup 1 ports hairpin...mlx5_pci: port 0 configuring Rx queue 8 for 512 descriptors mlx5_pci: port 0 adding Rx queue 8 to list mlx5_pci: port 0 configuring queue 8 for 512 descriptors mlx5_pci: port 0 adding Tx queue 8 to list done mlx5_pci: port 0 starting device mlx5_pci: port 0 Rx queues number update: 9 -> 9 mlx5_pci: port 0 Tx queue 0 allocated and configured 512 WRs mlx5_pci: Port 0 Tx queue 0 TIS number 12 transport domain 2. mlx5_pci: Port 0: uar_mmap_offset 0x900000. mlx5_pci: Port 0 txq 0 updated with 0x101759be8. mlx5_pci: port 0 Tx queue 1 allocated and configured 512 WRs mlx5_pci: Port 0: uar_mmap_offset 0x900000. mlx5_pci: Port 0 txq 1 updated with 0x101757468. mlx5_pci: port 0 Tx queue 2 allocated and configured 512 WRs mlx5_pci: Port 0: uar_mmap_offset 0x900000. mlx5_pci: Port 0 txq 2 updated with 0x101754ce8. mlx5_pci: port 0 Tx queue 3 allocated and configured 512 WRs mlx5_pci: Port 0: uar_mmap_offset 0x900000. mlx5_pci: Port 0 txq 3 updated with 0x101752568. mlx5_pci: port 0 Tx queue 4 allocated and configured 512 WRs mlx5_pci: Port 0: uar_mmap_offset 0x900000. mlx5_pci: Port 0 txq 4 updated with 0x10174fde8. mlx5_pci: port 0 Tx queue 5 allocated and configured 512 WRs mlx5_pci: Port 0: uar_mmap_offset 0x900000. mlx5_pci: Port 0 txq 5 updated with 0x10174d668. mlx5_pci: port 0 Tx queue 6 allocated and configured 512 WRs mlx5_pci: Port 0: uar_mmap_offset 0x900000. mlx5_pci: Port 0 txq 6 updated with 0x10174aee8. mlx5_pci: port 0 Tx queue 7 allocated and configured 512 WRs mlx5_pci: Port 0: uar_mmap_offset 0x900000. mlx5_pci: Port 0 txq 7 updated with 0x101748768. mlx5_pci: Port 0 txq 8 updated with 0x100204d28. mlx5_pci: Port 0 device_attr.max_qp_wr is 32768. mlx5_pci: Port 0 device_attr.max_sge is 30. mlx5_pci: Port 0 Rx queue registering mp mbuf_pool having 26 chunks. mlx5_pci: port 0 SPRQ queue 0 allocated and configured 512 segments (max 512 packets) mlx5_pci: Port 0 Rx CQE compression is enabled, format 0. mlx5_pci: Port 0 rxq 0 updated with 0x10176dc98. mlx5_pci: Port 0 Rx queue registering mp mbuf_pool having 26 chunks. mlx5_pci: port 0 SPRQ queue 1 allocated and configured 512 segments (max 512 packets) mlx5_pci: Port 0 Rx CQE compression is enabled, format 0. mlx5_pci: Port 0 rxq 1 updated with 0x10176c698. mlx5_pci: Port 0 Rx queue registering mp mbuf_pool having 26 chunks. mlx5_pci: port 0 SPRQ queue 2 allocated and configured 512 segments (max 512 packets) mlx5_pci: Port 0 Rx CQE compression is enabled, format 0. mlx5_pci: Port 0 rxq 2 updated with 0x101769c18. mlx5_pci: Port 0 Rx queue registering mp mbuf_pool having 26 chunks. mlx5_pci: port 0 SPRQ queue 3 allocated and configured 512 segments (max 512 packets) mlx5_pci: Port 0 Rx CQE compression is enabled, format 0. mlx5_pci: Port 0 rxq 3 updated with 0x101767198. mlx5_pci: Port 0 Rx queue registering mp mbuf_pool having 26 chunks. mlx5_pci: port 0 SPRQ queue 4 allocated and configured 512 segments (max 512 packets) mlx5_pci: Port 0 Rx CQE compression is enabled, format 0. mlx5_pci: Port 0 rxq 4 updated with 0x101764718. mlx5_pci: Port 0 Rx queue registering mp mbuf_pool having 26 chunks. mlx5_pci: port 0 SPRQ queue 5 allocated and configured 512 segments (max 512 packets) mlx5_pci: Port 0 Rx CQE compression is enabled, format 0. mlx5_pci: Port 0 rxq 5 updated with 0x101761c98. mlx5_pci: Port 0 Rx queue registering mp mbuf_pool having 26 chunks. mlx5_pci: port 0 SPRQ queue 6 allocated and configured 512 segments (max 512 packets) mlx5_pci: Port 0 Rx CQE compression is enabled, format 0. mlx5_pci: Port 0 rxq 6 updated with 0x10175f218. mlx5_pci: Port 0 Rx queue registering mp mbuf_pool having 26 chunks. mlx5_pci: port 0 SPRQ queue 7 allocated and configured 512 segments (max 512 packets) mlx5_pci: Port 0 Rx CQE compression is enabled, format 0. mlx5_pci: Port 0 rxq 7 updated with 0x10175c798. mlx5_pci: Port 0 rxq 8 updated with 0x1002024d8. mlx5_pci: port 0 group=0 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0 table=0 mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=1 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: port 0 group=0 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0 table=0 mlx5_pci: port 0 group=65534 transfer=0 external=0 fdb_def_rule=0 translate=STANDARD mlx5_pci: port 0 group=0xfffe table=0xfffe mlx5_pci: Cache list NIC_egress_65534_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x10101b2c0 new: 1. mlx5_pci: Table_id 65534 tunnel 0 group 65534 registered. mlx5_pci: Cache list NIC_egress_0_matcher_cache initialized. mlx5_pci: Hash list mlx5_0_flow_table entry 0x10101b368 new: 1. mlx5_pci: Table_id 0 tunnel 0 group 0 registered. mlx5_pci: Cache list NIC_egress_0_matcher_cache entry 0x101021900 new: 1. mlx5_pci: Cache list NIC_egress_0_matcher_cache entry 0x101021900 ref--: 1. mlx5_pci: Cache list NIC_egress_0_matcher_cache entry 0x101021900 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x10101b368 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x10101b368 removed. mlx5_pci: Hash list mlx5_0_flow_table entry 0x10101b2c0 deref: 1. mlx5_pci: Hash list mlx5_0_flow_table entry 0x10101b2c0 removed. mlx5_pci: Failed to create ctrl flow: rte_errno(22), type(1), message(hardware refuses to create flow) mlx5_pci: port 0 failed to set defaults flows mlx5_pci: port 0 Tx queue 0 freeing WRs mlx5_pci: port 0 Tx queue 1 freeing WRs mlx5_pci: port 0 Tx queue 2 freeing WRs mlx5_pci: port 0 Tx queue 3 freeing WRs mlx5_pci: port 0 Tx queue 4 freeing WRs mlx5_pci: port 0 Tx queue 5 freeing WRs mlx5_pci: port 0 Tx queue 6 freeing WRs mlx5_pci: port 0 Tx queue 7 freeing WRs mlx5_pci: port 0 Rx queue 0 freeing 512 WRs mlx5_pci: port 0 Rx queue 1 freeing 512 WRs mlx5_pci: port 0 Rx queue 2 freeing 512 WRs mlx5_pci: port 0 Rx queue 3 freeing 512 WRs mlx5_pci: port 0 Rx queue 4 freeing 512 WRs mlx5_pci: port 0 Rx queue 5 freeing 512 WRs mlx5_pci: port 0 Rx queue 6 freeing 512 WRs mlx5_pci: port 0 Rx queue 7 freeing 512 WRs EAL: Error - exiting with code: 1 Cause: rte_eth_dev_start:err=-22, port=0 root@localhost:/home/ubuntu/src/dpdk-21.02#
Environment:
root@localhost:/home/ubuntu/src/vnf_acceleration_example-master# make cc -O3 -include rte_config.h -mcpu=cortex-a72 -I/usr/local/include -I/usr/include/libnl3 -DALLOW_EXPERIMENTAL_API main.c rss_example.c decap_example.c encap_example.c sync_flow_example.c hairpin_example.c flow_tag_example.c sampling_mirror_example.c symmetric_rss_example.c meter_example.c gtp_u_qfi_example.c flow_age_example.c flow_meta_example.c counter_example.c gtp_teid_modify_example.c -o build/vnf_example-shared -L/usr/local/lib/aarch64-linux-gnu -Wl,--as-needed -lrte_node -lrte_graph -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_pdump -lrte_port -lrte_fib -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib -lrte_dmadev -lrte_regexdev -lrte_rawdev -lrte_power -lrte_pcapng -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_gpudev -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bpf -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs -lbsd -lrte_net_mlx5 main.c: In function ‘dump_pkt_info’: main.c:66:13: warning: "PKT_RX_RSS_HASH" is deprecated 66 | if (ol_flags & PKT_RX_RSS_HASH) { | ^
~~~~~main.c:70:13: warning: "PKT_RX_FDIR" is deprecated 70 | if (ol_flags & PKT_RX_FDIR) { | ^
~~~~~main.c:72:13: warning: "PKT_RX_FDIR_ID" is deprecated 72 | if (ol_flags & PKT_RX_FDIR_ID) | ^
~~~~~~~main.c:74:13: warning: "PKT_RX_FDIR_FLX" is deprecated 74 | else if (ol_flags & PKT_RX_FDIR_FLX) | ^
~~~~~main.c: In function ‘assert_link_status’: main.c:142:13: warning: "ETH_LINK_UP" is deprecated 142 | if (link_get_err == 0 && link.link_status == ETH_LINK_UP) | ^
~~~~~~main.c:150:13: warning: "ETH_LINK_DOWN" is deprecated 150 | if (link.link_status == ETH_LINK_DOWN) | ^~~~~~~main.c: In function ‘init_port’: main.c:165:13: warning: "DEV_TX_OFFLOAD_VLAN_INSERT" is deprecated 165 | DEV_TX_OFFLOAD_VLAN_INSERT | | ^
~~~~~~~main.c:166:13: warning: "DEV_TX_OFFLOAD_IPV4_CKSUM" is deprecated 166 | DEV_TX_OFFLOAD_IPV4_CKSUM | | ^
~~~~~~~main.c:167:13: warning: "DEV_TX_OFFLOAD_UDP_CKSUM" is deprecated 167 | DEV_TX_OFFLOAD_UDP_CKSUM | | ^
~~~~~~~main.c:168:13: warning: "DEV_TX_OFFLOAD_TCP_CKSUM" is deprecated 168 | DEV_TX_OFFLOAD_TCP_CKSUM | | ^
~~~~~~~main.c:169:13: warning: "DEV_TX_OFFLOAD_SCTP_CKSUM" is deprecated 169 | DEV_TX_OFFLOAD_SCTP_CKSUM | | ^
~~~~~~~main.c:170:13: warning: "DEV_TX_OFFLOAD_TCP_TSO" is deprecated 170 | DEV_TX_OFFLOAD_TCP_TSO, | ^
~~~~~~rss_example.c: In function ‘create_gtp_u_inner_ip_rss_flow’: rss_example.c:96:13: warning: "ETH_RSS_IP" is deprecated 96 | .types = ETH_RSS_IP | ETH_RSS_L3_SRC_ONLY }; | ^
~~~~~~~~~ rss_example.c:96:13: warning: "ETH_RSS_L3_SRC_ONLY" is deprecated 96 | .types = ETH_RSS_IP | ETH_RSS_L3_SRC_ONLY }; | ^~~~~~~~rss_example.c: In function ‘create_gtp_u_inner_ip_shared_rss_flow’: rss_example.c:152:13: warning: "ETH_RSS_IP" is deprecated 152 | .types = ETH_RSS_IP }; | ^
~~~~~rss_example.c:162:9: error: variable ‘shared_action_conf’ has initializer but incomplete type 162 | struct rte_flow_shared_action_conf shared_action_conf = { | ^
~~~~~~ rss_example.c:163:4: error: ‘struct rte_flow_shared_action_conf’ has no member named ‘ingress’ 163 | .ingress = 1, | ^~~ rss_example.c:163:14: warning: excess elements in struct initializer 163 | .ingress = 1, | ^ rss_example.c:163:14: note: (near initialization for ‘shared_action_conf’) rss_example.c:164:4: error: ‘struct rte_flow_shared_action_conf’ has no member named ‘egress’ 164 | .egress = 0, | ^~rss_example.c:164:13: warning: excess elements in struct initializer 164 | .egress = 0, | ^ rss_example.c:164:13: note: (near initialization for ‘shared_action_conf’) rss_example.c:165:4: error: ‘struct rte_flow_shared_action_conf’ has no member named ‘transfer’ 165 | .transfer = 0, | ^~~~ rss_example.c:165:15: warning: excess elements in struct initializer 165 | .transfer = 0, | ^ rss_example.c:165:15: note: (near initialization for ‘shared_action_conf’) rss_example.c:162:37: error: storage size of ‘shared_action_conf’ isn’t known 162 | struct rte_flow_shared_action_conf shared_action_conf = { | ^~~~~~ rss_example.c:168:15: warning: implicit declaration of function ‘rte_flow_shared_action_create’; did you mean ‘rte_flow_flex_item_create’? [-Wimplicit-function-declaration] 168 | shared_rss = rte_flow_shared_action_create(port, &shared_action_conf, | ^~~~~~~~~ | rte_flow_flex_item_create decap_example.c: In function ‘create_gtp_u_decap_rss_flow’: decap_example.c:102:13: warning: "ETH_RSS_IP" is deprecated 102 | .types = ETH_RSS_IP | ETH_RSS_L3_SRC_ONLY }; | ^~~~~~~~~~ decap_example.c:102:13: warning: "ETH_RSS_L3_SRC_ONLY" is deprecated 102 | .types = ETH_RSS_IP | ETH_RSS_L3_SRC_ONLY }; | ^~~~~~~~decap_example.c:106:5: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 106 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^
~| dst_addr decap_example.c:106:25: warning: excess elements in struct initializer 106 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~decap_example.c:106:25: note: (near initialization for ‘eth’) decap_example.c:107:5: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 107 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01" }; | ^~| dst_addr decap_example.c:107:25: warning: excess elements in struct initializer 107 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01" }; | ^~~~~~~~~ decap_example.c:107:25: note: (near initialization for ‘eth’) decap_example.c: In function ‘create_gre_decap_rss_flow’: decap_example.c:256:13: warning: "ETH_RSS_IP" is deprecated 256 | .types = ETH_RSS_IP | ETH_RSS_L3_SRC_ONLY }; | ^~~~~~~~~~ decap_example.c:256:13: warning: "ETH_RSS_L3_SRC_ONLY" is deprecated 256 | .types = ETH_RSS_IP | ETH_RSS_L3_SRC_ONLY }; | ^~~~~~~~decap_example.c:260:5: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 260 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^
~| dst_addr decap_example.c:260:25: warning: excess elements in struct initializer 260 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~decap_example.c:260:25: note: (near initialization for ‘eth’) decap_example.c:261:5: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 261 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01" }; | ^~| dst_addr decap_example.c:261:25: warning: excess elements in struct initializer 261 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01" }; | ^~~~~~~~~ decap_example.c:261:25: note: (near initialization for ‘eth’) encap_example.c: In function ‘create_gtp_u_encap_flow’: encap_example.c:94:5: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 94 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~| dst_addr encap_example.c:94:25: warning: excess elements in struct initializer 94 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~encap_example.c:94:25: note: (near initialization for ‘eth’) encap_example.c:95:5: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 95 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\x01" }; | ^~| dst_addr encap_example.c:95:25: warning: excess elements in struct initializer 95 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\x01" }; | ^~~~~~encap_example.c:95:25: note: (near initialization for ‘eth’) encap_example.c: In function ‘create_gtp_u_psc_encap_flow’: encap_example.c:228:5: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 228 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~| dst_addr encap_example.c:228:25: warning: excess elements in struct initializer 228 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~encap_example.c:228:25: note: (near initialization for ‘eth’) encap_example.c:229:5: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 229 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\x01" }; | ^~| dst_addr encap_example.c:229:25: warning: excess elements in struct initializer 229 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\x01" }; | ^~~~~~encap_example.c:229:25: note: (near initialization for ‘eth’) encap_example.c: In function ‘create_gre_encap_flow’: encap_example.c:360:5: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 360 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~| dst_addr encap_example.c:360:25: warning: excess elements in struct initializer 360 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~encap_example.c:360:25: note: (near initialization for ‘eth’) encap_example.c:361:5: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 361 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\x01" }; | ^~| dst_addr encap_example.c:361:25: warning: excess elements in struct initializer 361 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\x01" }; | ^~~~~~encap_example.c:361:25: note: (near initialization for ‘eth’) hairpin_example.c: In function ‘hairpin_port_unbind’: hairpin_example.c:77:8: error: ‘rte_eth_devices’ undeclared (first use in this function); did you mean ‘rte_eth_dev’? 77 | if (!rte_eth_devices[i].data->dev_started) | ^~~~~~~ | rte_eth_dev hairpin_example.c:77:8: note: each undeclared identifier is reported only once for each function it appears in hairpin_example.c: In function ‘hairpin_port_bind’: hairpin_example.c:96:8: error: ‘rte_eth_devices’ undeclared (first use in this function); did you mean ‘rte_eth_dev’? 96 | if (!rte_eth_devices[i].data->dev_started) | ^~~~~~~ | rte_eth_dev hairpin_example.c: In function ‘hairpin_two_ports_flows_create’: hairpin_example.c:317:4: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 317 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~| dst_addr hairpin_example.c:317:24: warning: excess elements in struct initializer 317 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~hairpin_example.c:317:24: note: (near initialization for ‘eth’) hairpin_example.c:318:4: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 318 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01", | ^~| dst_addr hairpin_example.c:318:24: warning: excess elements in struct initializer 318 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01", | ^~~~~~~~~ hairpin_example.c:318:24: note: (near initialization for ‘eth’) hairpin_example.c:384:30: error: ‘rte_eth_devices’ undeclared (first use in this function); did you mean ‘rte_eth_dev’? 384 | struct rte_eth_dev dev = &rte_eth_devices[port_id]; | ^~~~~~~ | rte_eth_dev hairpin_example.c:385:7: warning: implicit declaration of function ‘rte_eth_dev_is_rx_hairpin_queue’ [-Wimplicit-function-declaration] 385 | if (rte_eth_dev_is_rx_hairpin_queue(dev, qi)) | ^~~~~~~hairpin_example.c: In function ‘hairpin_one_port_flows_create’: hairpin_example.c:473:4: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 473 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~| dst_addr hairpin_example.c:473:24: warning: excess elements in struct initializer 473 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~hairpin_example.c:473:24: note: (near initialization for ‘eth’) hairpin_example.c:474:4: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 474 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01", | ^~| dst_addr hairpin_example.c:474:24: warning: excess elements in struct initializer 474 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01", | ^~~~~~~~~ hairpin_example.c:474:24: note: (near initialization for ‘eth’) hairpin_example.c:540:30: error: ‘rte_eth_devices’ undeclared (first use in this function); did you mean ‘rte_eth_dev’? 540 | struct rte_eth_dev dev = &rte_eth_devices[port_id]; | ^~~~~~~ | rte_eth_dev flow_tag_example.c: In function ‘create_flow_with_tag’: flow_tag_example.c:104:4: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 104 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~| dst_addr flow_tag_example.c:104:24: warning: excess elements in struct initializer 104 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~flow_tag_example.c:104:24: note: (near initialization for ‘eth’) flow_tag_example.c:105:4: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 105 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\x01", | ^~| dst_addr flow_tag_example.c:105:24: warning: excess elements in struct initializer 105 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\x01", | ^~~~~~flow_tag_example.c:105:24: note: (near initialization for ‘eth’) symmetric_rss_example.c: In function ‘create_symmetric_rss_flow’: symmetric_rss_example.c:123:13: warning: "ETH_RSS_IP" is deprecated 123 | .types = ETH_RSS_IP, | ^~~~meter_example.c: In function ‘create_meter’: meter_example.c:100:8: error: ‘struct rte_mtr_params’ has no member named ‘action’ 100 | params.action[RTE_COLOR_GREEN] = MTR_POLICER_ACTION_COLOR_GREEN; | ^ meter_example.c:100:35: error: ‘MTR_POLICER_ACTION_COLOR_GREEN’ undeclared (first use in this function) 100 | params.action[RTE_COLOR_GREEN] = MTR_POLICER_ACTION_COLOR_GREEN; | ^
~~~~~~~~~ meter_example.c:100:35: note: each undeclared identifier is reported only once for each function it appears in meter_example.c:101:8: error: ‘struct rte_mtr_params’ has no member named ‘action’ 101 | params.action[RTE_COLOR_YELLOW] = MTR_POLICER_ACTION_COLOR_YELLOW; | ^ meter_example.c:101:36: error: ‘MTR_POLICER_ACTION_COLOR_YELLOW’ undeclared (first use in this function) 101 | params.action[RTE_COLOR_YELLOW] = MTR_POLICER_ACTION_COLOR_YELLOW; | ^~~~~~~meter_example.c:102:8: error: ‘struct rte_mtr_params’ has no member named ‘action’ 102 | params.action[RTE_COLOR_RED] = MTR_POLICER_ACTION_DROP; | ^ meter_example.c:102:33: error: ‘MTR_POLICER_ACTION_DROP’ undeclared (first use in this function) 102 | params.action[RTE_COLOR_RED] = MTR_POLICER_ACTION_DROP; | ^~~~~~~ gtp_u_qfi_example.c: In function ‘create_gtp_u_qfi_flow’: gtp_u_qfi_example.c:158:5: error: ‘struct rte_flow_item_gtp_psc’ has no member named ‘pdu_type’ 158 | .pdu_type = 0x01, / UL PDU Session Information. / | ^~~~ gtp_u_qfi_example.c:159:5: error: ‘struct rte_flow_item_gtp_psc’ has no member named ‘qfi’ 159 | .qfi = 9}; | ^~~ gtp_u_qfi_example.c:159:11: warning: excess elements in struct initializer 159 | .qfi = 9}; | ^ gtp_u_qfi_example.c:159:11: note: (near initialization for ‘gtp_psc_spec’) gtp_u_qfi_example.c:161:5: error: ‘struct rte_flow_item_gtp_psc’ has no member named ‘pdu_type’ 161 | .pdu_type = 0xFF, | ^~~~ gtp_u_qfi_example.c:162:5: error: ‘struct rte_flow_item_gtp_psc’ has no member named ‘qfi’ 162 | .qfi = 0x3F}; / QFI field is 6 bits. / | ^~~ gtp_u_qfi_example.c:162:11: warning: excess elements in struct initializer 162 | .qfi = 0x3F}; / QFI field is 6 bits. / | ^~~~ gtp_u_qfi_example.c:162:11: note: (near initialization for ‘gtp_psc_mask’) flow_age_example.c: In function ‘aged_event_callback’: flow_age_example.c:143:7: warning: implicit declaration of function ‘rte_eal_alarm_set’ [-Wimplicit-function-declaration] 143 | if (rte_eal_alarm_set(1000, | ^~~~~ flow_meta_example.c: In function ‘create_hairpin_meta_flow’: flow_meta_example.c:92:5: error: ‘struct rte_ether_hdr’ has no member named ‘d_addr’; did you mean ‘dst_addr’? 92 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~| dst_addr flow_meta_example.c:92:25: warning: excess elements in struct initializer 92 | .d_addr.addr_bytes = "\x01\x02\x03\x04\x05\x06", | ^~~~~~flow_meta_example.c:92:25: note: (near initialization for ‘eth’) flow_meta_example.c:93:5: error: ‘struct rte_ether_hdr’ has no member named ‘s_addr’; did you mean ‘dst_addr’? 93 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01" }; | ^~| dst_addr flow_meta_example.c:93:25: warning: excess elements in struct initializer 93 | .s_addr.addr_bytes = "\x06\x05\x04\x03\x02\01" }; | ^~~~~~~~~ flow_meta_example.c:93:25: note: (near initialization for ‘eth’) flow_meta_example.c:139:30: error: ‘rte_eth_devices’ undeclared (first use in this function); did you mean ‘rte_eth_dev’? 139 | struct rte_eth_dev *dev = &rte_eth_devices[port_id]; | ^~~~~~~ | rte_eth_dev flow_meta_example.c:139:30: note: each undeclared identifier is reported only once for each function it appears in flow_meta_example.c:140:7: warning: implicit declaration of function ‘rte_eth_dev_is_rx_hairpin_queue’ [-Wimplicit-function-declaration] 140 | if (rte_eth_dev_is_rx_hairpin_queue(dev, qi)) | ^~~~~~~counter_example.c:75:3: error: ‘struct rte_flow_action_count’ has no member named ‘shared’ 75 | .shared = 1, | ^~counter_example.c:80:3: error: ‘struct rte_flow_action_count’ has no member named ‘shared’ 80 | .shared = 0, | ^~make: *** [Makefile:36: build/vnf_example-shared] Error 1 root@localhost:/home/ubuntu/src/vnf_acceleration_example-master#