Hi,

I have built VPP v18.01-rc0 with external DPDK v17.08 for mellanox NIC.
The build is happening successfully.
On executing vpp application is crashing.

# make debug
WARNING: STARTUP_CONF not defined or file doesn't exist.
         Running with minimal startup config:  unix { interactive
cli-listen /run/vpp/cli.sock gid 0 }
.
.
Type "apropos word" to search for commands related to "word"...
Reading symbols from
/home/drawat/vector/vpp/build-root/install-vpp_debug-native/vpp/bin/vpp...done.
Signal        Stop    Print    Pass to program    Description
SIGUSR1       No    No    Yes        User defined signal 1

(gdb) r
Starting program:
/home/drawat/vector/vpp/build-root/install-vpp_debug-native/vpp/bin/vpp \
unix\ \{\ interactive\ cli-listen\ /run/vpp/cli.sock\ gid\ 0\ \ \}\ \ \
plugin_path
/home/drawat/vector/vpp/build-root/install-vpp_debug-native/plugins/lib/vpp_plugins:/home/drawat/vector/vpp/build-root/install-vpp_debug-native/vpp/lib64/vpp_plugins
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
vlib_plugin_early_init:356: plugin path
/home/drawat/vector/vpp/build-root/install-vpp_debug-native/plugins/lib/vpp_plugins:/home/drawat/vector/vpp/build-root/install-vpp_debug-native/vpp/lib64/vpp_plugins
load_one_plugin:83: Not a plugin: acl_plugin.so
load_one_plugin:184: Loaded plugin: dpdk_plugin.so (Data Plane Development
Kit (DPDK))
load_one_plugin:83: Not a plugin: flowperpkt_plugin.so
load_one_plugin:184: Loaded plugin: flowprobe_plugin.so (Flow per Packet)
load_one_plugin:184: Loaded plugin: gtpu_plugin.so (GTPv1-U)
load_one_plugin:83: Not a plugin: ila_plugin.so
load_one_plugin:83: Not a plugin: ioam_plugin.so
load_one_plugin:83: Not a plugin: ixge_plugin.so
load_one_plugin:83: Not a plugin: lb_plugin.so
load_one_plugin:83: Not a plugin: libsixrd_plugin.so
load_one_plugin:184: Loaded plugin: memif_plugin.so (Packet Memory
Interface (experimetal))
load_one_plugin:184: Loaded plugin: nat_plugin.so (Network Address
Translation)
load_one_plugin:184: Loaded plugin: pppoe_plugin.so (PPPoE)
load_one_plugin:83: Not a plugin: snat_plugin.so
dpdk_bind_devices_to_uio:720: Unsupported PCI device 0x15b3:0x1007 found at
PCI address 0002:01:00.0
vlib_pci_bind_to_uio: Skipping PCI device 0006:01:00.0 as host interface
enP6p1s0 is up
dpdk_config:1215: EAL init args: -c 1 -n 4 --huge-dir /run/vpp/hugepages
--file-prefix vpp -b 0006:01:00.0 --master-lcore 0 --socket-mem 256
[New Thread 0xfffee6de81e0 (LWP 8082)]
DPDK physical memory layout:
Segment 0: phys:0x99fe000000, len:33554432, virt:0xfffee2e00000,
socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0
Segment 1: phys:0x9a04000000, len:234881024, virt:0xfffc07c00000,
socket_id:0, hugepage_sz:2097152, nchannel:0, nrank:0
[New Thread 0xfffee65571e0 (LWP 8083)]
0: dpdk_ipsec_process:271: not enough Cryptodevs, default to OpenSSL IPsec
0: dpdk_lib_init:186: DPDK drivers found 2 ports...

Thread 1 "vpp_main" received signal SIGSEGV, Segmentation fault.
memset () at ../sysdeps/aarch64/memset.S:129
129    ../sysdeps/aarch64/memset.S: No such file or directory.

The stack trace is
(gdb) bt
#0  memset () at ../sysdeps/aarch64/memset.S:129
#1  0x0000ffff76d55828 in rxq_setup (dev=dev@entry=0xffff7725bb80
<rte_eth_devices>, rxq=0x0, rxq@entry=0xfffee3bcc400, desc=desc@entry=1024,
socket=socket@entry=0, inactive=0,
    mp=mp@entry=0xfffee4c2f280, children_n=children_n@entry=0,
rxq_parent=0x0, conf=<optimized out>) at
/home/drawat/vector/dpdk-17.08/drivers/net/mlx4/mlx4.c:3838
#2  0x0000ffff76d56440 in mlx4_rx_queue_setup (dev=0xffff7725bb80
<rte_eth_devices>, idx=0, desc=1024, socket=0, conf=<optimized out>,
mp=0xfffee4c2f280)
    at /home/drawat/vector/dpdk-17.08/drivers/net/mlx4/mlx4.c:4056
#3  0x0000ffff76cafac4 in rte_eth_rx_queue_setup () from
/home/drawat/vector/vpp/build-root/install-vpp_debug-native/vpp/lib64/vpp_plugins/dpdk_plugin.so
#4  0x0000ffff76c26e98 in dpdk_device_setup (xd=0xffff781ed380) at
/home/drawat/vector/vpp/build-data/../src/plugins/dpdk/device/common.c:88
#5  0x0000ffff76c3e308 in dpdk_lib_init (dm=0xffff7725b8e0 <dpdk_main>) at
/home/drawat/vector/vpp/build-data/../src/plugins/dpdk/device/init.c:590
#6  0x0000ffff76c42c80 in dpdk_process (vm=0xffffb7f9c060
<vlib_global_main>, rt=0xffff77759000, f=0x0) at
/home/drawat/vector/vpp/build-data/../src/plugins/dpdk/device/init.c:1377
#7  0x0000ffffb7f273d4 in vlib_process_bootstrap (_a=281472685915312) at
/home/drawat/vector/vpp/build-data/../src/vlib/main.c:1254
#8  0x0000ffffb77af974 in clib_calljmp () at
/home/drawat/vector/vpp/build-data/../src/vppinfra/longjmp.S:676
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

The NIC I am using is Mellanox connectX-3 Pro, DPDK PMD mlx4.

Is the crash happening because this NIC is unsupported ?
DPDK has a PMD present for this NIC, how to add support for this NIC in VPP
?

Thanks,
Devendra
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to