arm64-armv8a-linuxapp-gcc/.config tcpdump

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
原文地址:https://www.cnblogs.com/dream397/p/13685618.html