arm64-armv8a-linuxapp-gcc/.config.orig:168:CONFIG_RTE_LIBRTE_HNS3_PMD=y arm64-armv8a-linuxapp-gcc/.config:168:CONFIG_RTE_LIBRTE_HNS3_PMD=y
[root@localhost dpdk-19.11]# grep -E 'CONFIG_RTE_LIBRTE_PDUMP|CONFIG_RTE_LIBRTE_PMD_PCAP' arm64-armv8a-linuxapp-gcc/.config CONFIG_RTE_LIBRTE_PMD_PCAP=y CONFIG_RTE_LIBRTE_PDUMP=y
[root@localhost dpdk-19.11]# grep -E 'CONFIG_RTE_LIBRTE_PDUMP|CONFIG_RTE_LIBRTE_PMD_PCAP' config/common_base CONFIG_RTE_LIBRTE_PMD_PCAP=y CONFIG_RTE_LIBRTE_PDUMP=y
export RTE_SDK=/data1/dpdk-19.11 export RTE_TARGET=arm64-armv8a-linuxapp-gcc yum install libpcap-devel make install T=$RTE_TARGET -j 128 V=2 make -j 128 V=2
[root@localhost pdump]# ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/capture.pcap' EAL: Detected 128 lcore(s) EAL: Detected 4 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket_54590_1db1044148b EAL: Selected IOVA mode 'PA' EAL: Probing VFIO support... EAL: PCI device 0000:05:00.0 on NUMA socket 0 EAL: probe driver: 19e5:200 net_hinic net_hinic: Initializing pf hinic-0000:05:00.0 in secondary process net_hinic: Initialize 0000:05:00.0 in secondary process EAL: PCI device 0000:06:00.0 on NUMA socket 0 EAL: probe driver: 19e5:200 net_hinic EAL: PCI device 0000:7d:00.0 on NUMA socket 0 EAL: probe driver: 19e5:a222 net_hns3 EAL: PCI device 0000:7d:00.1 on NUMA socket 0 EAL: probe driver: 19e5:a221 net_hns3 EAL: PCI device 0000:7d:00.2 on NUMA socket 0 EAL: probe driver: 19e5:a222 net_hns3 EAL: PCI device 0000:7d:00.3 on NUMA socket 0 EAL: probe driver: 19e5:a221 net_hns3 EAL: Failed to hotplug add device EAL: Error - exiting with code: 1 Cause: vdev creation failed:create_mp_ring_vdev:770
应用程序也报这个错误
net_hinic: Disable promiscuous, nic_dev: hinic-0000:05:00.0, port_id: 0, promisc: 0 net_hinic: Disable allmulticast succeed, nic_dev: hinic-0000:05:00.0, port_id: 0 Port 0 MAC: 44 a1 91 a4 9b eb net_hinic: Enable allmulticast succeed, nic_dev: hinic-0000:05:00.0, port_id: 0 My ether addr is: 44:A1:91:A4:9B:EB Core 0 forwarding packets. [Ctrl+C to quit] EAL: failed to parse device "vdev:net_pcap_rx_0" EAL: Failed to hotplug add device on primary EAL: failed to parse device "vdev:net_pcap_rx_0" EAL: Failed to hotplug add device on primary EAL: failed to parse device "vdev:net_pcap_rx_0" EAL: Failed to hotplug add device on primary EAL: failed to parse device "vdev:net_pcap_rx_0" EAL: Failed to hotplug add device on primary ^C
应用程序重新编译
bug2
重新编译后
My IP is: 10.10.103.229, port is 80 user_init_func: argc=1 net_hinic: Disable vlan filter succeed, device: hinic-0000:05:00.0, port_id: 0 net_hinic: Disable vlan strip succeed, device: hinic-0000:05:00.0, port_id: 0 RX IPv4 checksum: support RX TCP checksum: support TX IPv4 checksum: support TX TCP checksum: support TX IPv4/TCP checksum both supported, so I will use IPv4/IPv6 hardware checksum net_hinic: Set new mac address 44:a1:91:a4:9b:eb net_hinic: Disable promiscuous, nic_dev: hinic-0000:05:00.0, port_id: 0, promisc: 0 net_hinic: Disable allmulticast succeed, nic_dev: hinic-0000:05:00.0, port_id: 0 Port 0 MAC: 44 a1 91 a4 9b eb net_hinic: Enable allmulticast succeed, nic_dev: hinic-0000:05:00.0, port_id: 0 My ether addr is: 44:A1:91:A4:9B:EB Core 0 forwarding packets. [Ctrl+C to quit] EAL: Cannot find action: mp_pdump EAL: Cannot find action: mp_pdump
EAL: PCI device 0000:06:00.0 on NUMA socket 0 EAL: probe driver: 19e5:200 net_hinic EAL: PCI device 0000:7d:00.0 on NUMA socket 0 EAL: probe driver: 19e5:a222 net_hns3 EAL: PCI device 0000:7d:00.1 on NUMA socket 0 EAL: probe driver: 19e5:a221 net_hns3 EAL: PCI device 0000:7d:00.2 on NUMA socket 0 EAL: probe driver: 19e5:a222 net_hns3 EAL: PCI device 0000:7d:00.3 on NUMA socket 0 EAL: probe driver: 19e5:a221 net_hns3 Port 1 MAC: 02 70 63 61 70 00 EAL: Fail to recv reply for request /var/run/dpdk/rte/mp_socket:mp_pdump PDUMP: client request for pdump enable/disable failed EAL: Fail to recv reply for request /var/run/dpdk/rte/mp_socket:mp_pdump PDUMP: client request for pdump enable/disable failed EAL: Error - exiting with code: 1 Cause: Connection timed out
在 l2fwd 的 例程上添加 pdump 的功能: 头文件引用 <rte_pdump.h>。 signal_handler() 中添加 rte_pdump_uninit()。 main() 中添加 rte_pdump_init()。 差分结果: 左边 是修改前。 右边 是修改后。添加了 pdump 的 功能。 41c41,43 < --- > #ifdef RTE_LIBRTE_PDUMP > #include <rte_pdump.h> > #endif 509a512,515 > #ifdef RTE_LIBRTE_PDUMP > /* uninitialize packet capture framework */ > rte_pdump_uninit(); > #endif 536a543,548 > > #ifdef RTE_LIBRTE_PDUMP > #warning l2fwd with pdump > /* initialize packet capture framework */ > rte_pdump_init(NULL); > #endif