Pktgen failing in a virtualbox virtual machine
cuyu tang
me at expoli.tech
Thu Oct 31 10:57:04 CET 2024
I'm having segfault issues when running pktgen in a virtualbox virtual
machine.
Here's what I run it in and some details about running the commands,
and what I can do to get it to run correctly
pktgen version: git main brunch
# git log
commit cc1d4c606dea3939adf75cc02de0f7cf2b28cf1e (HEAD -> main, tag:
pktgen-24.07.0, origin/main, origin/HEAD)
dpdk version: dpdk-24.07
[root at localhost dpdk-24.07]# ./usertools/dpdk-devbind.py -s
Network devices using DPDK-compatible driver
============================================
0000:00:09.0 '82540EM Gigabit Ethernet Controller 100e' drv=igb_uio
unused=e1000,vfio-pci
0000:00:0a.0 '82540EM Gigabit Ethernet Controller 100e' drv=igb_uio
unused=e1000,vfio-pci
pktgen run command:
gdb --args /root/pktgen-dpdk/usr/local/bin/pktgen -m 1.0
Port DevName Index NUMA PCI Information Src MAC
Promiscuous
Thread 1 "pktgen" received signal SIGSEGV, Segmentation fault.
0x000000000043c38b in dump_device_info () at ../app/pktgen-port-cfg.c:102
102 pkt = &pinfo->seq_pkt[SINGLE_PKT];
(gdb) bt
#0 0x000000000043c38b in dump_device_info () at
../app/pktgen-port-cfg.c:102
#1 0x000000000043e3cf in pktgen_config_ports () at
../app/pktgen-port-cfg.c:325
#2 0x000000000043aa23 in main (argc=1, argv=0x7fffffffe2d8) at
../app/pktgen-main.c:465
(gdb) n
89 bus = rte_bus_find_by_device(dev.device);
(gdb)
90 if (bus && !strcmp(rte_bus_name(bus), "pci")) {
(gdb)
94 vend[0] = device[0] = '\0';
(gdb)
95 sscanf(rte_dev_bus_info(dev.device), "vendor_id=%4s,
device_id=%4s", vend, device);
(gdb)
97 rte_eth_dev_get_name_by_port(i, name);
(gdb)
98 snprintf(buff, sizeof(buff), "%s:%s/%s", vend,
device, rte_dev_name(dev.device));
(gdb)
90 if (bus && !strcmp(rte_bus_name(bus), "pci")) {
(gdb)
101 pinfo = l2p_get_port_pinfo(i);
(gdb)
102 pkt = &pinfo->seq_pkt[SINGLE_PKT];
(gdb)
Thread 1 "pktgen" received signal SIGSEGV, Segmentation fault.
0x000000000043c38b in dump_device_info () at ../app/pktgen-port-cfg.c:102
102 pkt = &pinfo->seq_pkt[SINGLE_PKT];
(gdb) p pinfo
$3 = (port_info_t *) 0x0
(gdb)
More information about the users
mailing list