Hi Devendra,

Did you try to look at src/plugins/dpdk.am ?


Cheers,
Marco

On Thu, 2017-05-18 at 15:42 +0530, devendra rawat wrote:
> 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
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to