Hi, I am trying to run VPP on an arm64 processor. I am using DPDK v16.11. My board is having a non-pci ethernet interface I have added a PMD for that in DPDK. This PMD makes calls to an external library libxal which is platform specific. All DPDK apps. including testpmd work fine.
Using this DPDK I built vpp on my board: # make V=1 build-release vpp_uses_external_dpdk=yes vpp_dpdk_inc_dir=/root/work/vector/dpdk-v16.11/_install/include/dpdk vpp_dpdk_lib_dir=/root/work/vector/dpdk-v16.11/_install/lib My VPP startup.conf file: unix { interactive log /tmp/vpp.log cli-listen localhost:5002 } api-trace { on } dpdk { coremask 0xff vdev uio_xal_enet0 #dpdk vdev device } On staring VPP: root@ubuntu:~/work/vector/vpp# ./build-root/build-vpp-native/vpp/bin/vpp -c ../startup.conf vlib_plugin_early_init:360: plugin path /usr/lib/vpp_plugins load_one_plugin:188: Loaded plugin: acl_plugin.so (Access Control Lists) load_one_plugin:188: Loaded plugin: dpdk_plugin.so (Data Plane Development Kit (DPDK)) load_one_plugin:188: Loaded plugin: flowperpkt_plugin.so (Flow per Packet) load_one_plugin:188: Loaded plugin: ila_plugin.so (Identifier-locator addressing for IPv6) load_one_plugin:188: Loaded plugin: ioam_plugin.so (Inbound OAM) load_one_plugin:114: Plugin disabled (default): ixge_plugin.so load_one_plugin:188: Loaded plugin: lb_plugin.so (Load Balancer) load_one_plugin:188: Loaded plugin: libsixrd_plugin.so (IPv6 Rapid Deployment on IPv4 Infrastructure (RFC5969)) load_one_plugin:188: Loaded plugin: memif_plugin.so (Packet Memory Interface (experimetal)) load_one_plugin:188: Loaded plugin: snat_plugin.so (Network Address Translation) EAL: Detected 8 lcore(s) EAL: Probing VFIO support... EAL: VFIO support initialized EAL: cannot open /proc/self/numa_maps, consider that all memory is in socket_id 0 /root/work/vector/vpp/build-root/build-vpp-native/vpp/bin/.libs/lt-vpp: symbol lookup error: /usr/lib/vpp_plugins/dpdk_plugin.so: undefined symbol: xal_init --------- linking to libxal is not done, hence it is unable to find xal_init() function def. This is visible from the ldd command output for dpdk_plugin.so and lt-vpp. setting LD_LIBRARY_PATH is not helping too. root@ubuntu:~/work/vector/vpp# ldd /usr/lib/vpp_plugins/dpdk_plugin.so linux-vdso.so.1 => (0x0000007fb19b1000) libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007fb1366000) libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007fb1353000) libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007fb120b000) /lib/ld-linux-aarch64.so.1 (0x00000055586e0000) root@ubuntu:~/work/vector/vpp# ldd /root/work/vector/vpp/build-root/build-vpp-native/vpp/bin/.libs/lt-vpp linux-vdso.so.1 => (0x0000007f79f4b000) libvlibapi.so.0 => /root/work/vector/vpp/build-root/build-vpp-native/vpp/.libs/libvlibapi.so.0 (0x0000007f79f30000) libvlibmemory.so.0 => /root/work/vector/vpp/build-root/build-vpp-native/vpp/.libs/libvlibmemory.so.0 (0x0000007f79f11000) libvlib.so.0 => /root/work/vector/vpp/build-root/build-vpp-native/vpp/.libs/libvlib.so.0 (0x0000007f79eb6000) libvnet.so.0 => /root/work/vector/vpp/build-root/build-vpp-native/vpp/.libs/libvnet.so.0 (0x0000007f79bbc000) libsvm.so.0 => /root/work/vector/vpp/build-root/build-vpp-native/vpp/.libs/libsvm.so.0 (0x0000007f79ba2000) libsvmdb.so.0 => /root/work/vector/vpp/build-root/build-vpp-native/vpp/.libs/libsvmdb.so.0 (0x0000007f79b8d000) libvppinfra.so.0 => /root/work/vector/vpp/build-root/build-vpp-native/vpp/.libs/libvppinfra.so.0 (0x0000007f79b2f000) libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f79af2000) libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007f79adf000) libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f79998000) /lib/ld-linux-aarch64.so.1 (0x000000556db75000) libcrypto.so.1.0.0 => /lib/aarch64-linux-gnu/libcrypto.so.1.0.0 (0x0000007f797f3000) librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000007f797dc000) How can I link external libs to dpdk_plugin.so ? libxal is placed in /usr/local/lib. Thanks, Devendra
_______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev