# Fd.io VPP on LX2160?

**URL:** <https://community.solid-run.com/t/fd-io-vpp-on-lx2160/549>\
**Category:** NXP LX2160\
**Tags:** NXP-LX2160\
**Created:** [December 26, 2022, 2:58pm UTC](https://community.solid-run.com/t/fd-io-vpp-on-lx2160/549 "2022-12-26T14:58:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![agv100](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@agv100](https://community.solid-run.com/u/agv100)\
**Post date:** [December 26, 2022, 2:58pm UTC](https://community.solid-run.com/t/fd-io-vpp-on-lx2160/549/1 "2022-12-26T14:58:28Z")

</div>

Dear SolidRun community members,

Does anybody have any experience or attempts to run [fd.io](http://fd.io) VPP dataplane on LX2160 platform?

I already have some attempts to do that, with unsatisfactory results. The performance was quite attractive, about 4.5mpps per CPU core, which is more then ten-fold comparing to Linux core. But I was not able to produce build stable enough.  
I need Linux-CP plugin to interact with Control-plane applications, so I have to use more recent versions.  
Our experiments shows following.

1. Vanilla VPP build, from github, is not working at all. It segfaults on 0x4 when attempting to register DPAA2 interfaces.

2. When using patches from LSDK ([qoriq.codeaurora.](https://source.codeaurora.org/external/qoriq/qoriq-components/vpp/), applied to code same way they applied in LSDK versions, then building the app by LSDK documentation, the build can start and register DPAA2 interfaces, but it is really unstable and crashes after minutes or hours without clear reason. The most effective way to crash it is initialization of TAP interfaces in Linux-CP plugin, or to start multiple vppctl’s  
Different compilers, different optimization settings, different memory settings, all does not help.

The platform looks really attractive for DPDK/VPP networking applications due to good DPDK/VPP performance for low power consumption. It’s hard to believe that nobody else tried to use VPP on it. If anybody here do that, can you please share your experience?

Below is trace from one of crashes.

Thread 1 “vpp\_main” received signal SIGABRT, Aborted.  
\_\_GI\_raise (sig=sig@entry=6) at …/sysdeps/unix/sysv/linux/raise.c:50  
50 …/sysdeps/unix/sysv/linux/raise.c: No such file or directory.  
(gdb) bt  
#0 \_\_GI\_raise (sig=sig@entry=6) at …/sysdeps/unix/sysv/linux/raise.c:50  
#1 0x0000fffff6d7caac in \_\_GI\_abort () at abort.c:79  
#2 0x0000000000406fe4 in os\_panic () at /work/build/vpp/src/vpp/vnet/main.c:416  
#3 0x0000fffff6fa6514 in debugger () at /work/build/vpp/src/vppinfra/error.c:84  
#4 0x0000fffff6fa6874 in \_clib\_error (how\_to\_die=2, function\_name=0xfffff7173978 \< **FUNCTION**.32141\> “vlib\_buffer\_validate\_alloc\_free”, line\_number=333,  
fmt=0xfffff7173438 “%s %U buffer 0x%x”) at /work/build/vpp/src/vppinfra/error.c:143  
#5 0x0000fffff70c1218 in vlib\_buffer\_validate\_alloc\_free (vm=0xffffb6d5c740, buffers=0xffffb4bac810, n\_buffers=1, expected\_state=VLIB\_BUFFER\_KNOWN\_ALLOCATED)  
at /work/build/vpp/src/vlib/buffer.c:332  
#6 0x0000fffff716afc4 in vlib\_buffer\_pool\_put (vm=0xffffb6d5c740, buffer\_pool\_index=0 ‘\000’, buffers=0xffffb4bac810, n\_buffers=1)  
at /work/build/vpp/src/vlib/buffer\_funcs.h:731  
#7 0x0000fffff716b75c in vlib\_buffer\_free\_inline (vm=0xffffb6d5c740, buffers=0xffffb88bd1d4, n\_buffers=0, maybe\_next=1) at /work/build/vpp/src/vlib/buffer\_funcs.h:917  
#8 0x0000fffff716b7c8 in vlib\_buffer\_free (vm=0xffffb6d5c740, buffers=0xffffb88bd1d0, n\_buffers=1) at /work/build/vpp/src/vlib/buffer\_funcs.h:936  
#9 0x0000fffff716c424 in process\_drop\_punt (vm=0xffffb6d5c740, node=0xffffb7844300, frame=0xffffb88bd1c0, disposition=ERROR\_DISPOSITION\_DROP)  
at /work/build/vpp/src/vlib/drop.c:235  
#10 0x0000fffff716c4fc in error\_drop\_node\_fn\_cortexa72 (vm=0xffffb6d5c740, node=0xffffb7844300, frame=0xffffb88bd1c0) at /work/build/vpp/src/vlib/drop.c:251  
#11 0x0000fffff70f512c in dispatch\_node (vm=0xffffb6d5c740, node=0xffffb7844300, type=VLIB\_NODE\_TYPE\_INTERNAL, dispatch\_state=VLIB\_NODE\_STATE\_POLLING, frame=0xffffb88bd1c0,  
last\_time\_stamp=233164692224) at /work/build/vpp/src/vlib/main.c:960  
#12 0x0000fffff70f585c in dispatch\_pending\_node (vm=0xffffb6d5c740, pending\_frame\_index=4, last\_time\_stamp=233164692224) at /work/build/vpp/src/vlib/main.c:1119  
#13 0x0000fffff70f6be8 in vlib\_main\_or\_worker\_loop (vm=0xffffb6d5c740, is\_main=1) at /work/build/vpp/src/vlib/main.c:1588  
#14 0x0000fffff70f71ec in vlib\_main\_loop (vm=0xffffb6d5c740) at /work/build/vpp/src/vlib/main.c:1716  
#15 0x0000fffff70f7d1c in vlib\_main (vm=0xffffb6d5c740, input=0xffffb4badfc8) at /work/build/vpp/src/vlib/main.c:2010  
#16 0x0000fffff7145044 in thread0 (arg=281473749206848) at /work/build/vpp/src/vlib/unix/main.c:667  
#17 0x0000fffff6fb84c0 in clib\_calljmp () at /work/build/vpp/src/vppinfra/longjmp.S:809  
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [December 28, 2022, 11:25am UTC](https://community.solid-run.com/t/fd-io-vpp-on-lx2160/549/2 "2022-12-28T11:25:50Z")

</div>

I have not tested this personally. I asked on the discord channel to see if any other community members there have attempted to use it.

---

<div class="post-metadata">

**Author:** ![agv100](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@agv100](https://community.solid-run.com/u/agv100)\
**Post date:** [January 11, 2023, 10:27am UTC](https://community.solid-run.com/t/fd-io-vpp-on-lx2160/549/3 "2023-01-11T10:27:42Z")

</div>

One additional remark. I was trying to run it on SolidRun builds, and found strange issue.

My first attempt was in May, lx2160acex7\_2000\_700\_3200\_8\_5\_2-ddab3ad.img.xz image. dpdk test-pmd works, vpp works unstable.  
Later, in November, I updated to new image, lx2160acex7\_xspi\_2000\_700\_3200\_8\_5\_2-33cddb7.img.xz and later. vpp starts, but cannot see any packets with TenGigabitEthernet0-tx Tx packet drops (dpdk tx failure) error .  
dpdk-testpmd cannot see interfaces.  
In same time, I’ve build my own images with some minor custom settings (addressing, naming, users, etc), and same thing with DPDK not working. It looks like, somewhere between July and November something changed and impacted DPDK work.

Any ideas what could it be?

---

<div class="post-metadata">

**Author:** ![Josua](https://avatars.discourse-cdn.com/v4/letter/j/e47774/32.png) [@Josua](https://community.solid-run.com/u/Josua)\
**Post date:** [July 6, 2025, 3:09pm UTC](https://community.solid-run.com/t/fd-io-vpp-on-lx2160/549/4 "2025-07-06T15:09:12Z")

</div>

This response is a bit late - but you may have been caught in the middle of dpaa2 driver backports - where newer releases turned off the serdes phy leading to tx path reporting zero packets.

The temporary resolution was some hacks in dpaa2 driver: [lx2160a\_build/patches/linux-LSDK-21.08/0072-HACK-net-dpaa2-never-power-off-serdes-phy.patch at develop-lsdk-21.08 · SolidRun/lx2160a\_build · GitHub](https://github.com/SolidRun/lx2160a_build/blob/develop-lsdk-21.08/patches/linux-LSDK-21.08/0072-HACK-net-dpaa2-never-power-off-serdes-phy.patch)
