Testpmd application will crash in fclose() upon quit after running the below command. "sudo gdb --args ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf0 -n 4 --vdev 'eth_pcap0,tx_iface=enp1s0f1,rx_pcap=/tmp/test.pcap' -- --port-topology=chained -i" The reason is, pcap vdev creation with tx stream type as "iface" as in above command doesn't need member "dumpers" of "struct tx_pcaps", hence will not have memory allocated for it. It contains a garbage values, as local object of struct tx_pcaps is not initialized to 0 inside rte_pmd_pcap_dev_init(). So calling pcap_dump_close() on dumper as part of eth_dev_stop() is causing segfault in fclose(). Fix is to initialize local object of struct tx_pcaps to 0. Also initialize local object of struct rx_pcaps to 0. So during eth_dev_stop(), pcap_dump_close() will not be called if dumper is NULL. Fixes: 4c173302c307 ("pcap: add new driver") Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD license for the core libraries and drivers. The kernel components are GPLv2 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%