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

Reply via email to