Dear NXP Support,
We are seeing a kernel deadlock when VPP crashes on our LX2160A‑based custom hardware.
Below are our environment details and the observed behavior.
1. System and Software Versions
SoC / Board: LX2160A, custom hardware
Data plane: DPDK + VPP
LSDK: 20.05
Kernel: 4.19.90-rt35
MC firmware: 10.36.0
VPP: 22.06
DPDK: 21.11
2. DPAA2 Interface Mapping
dprc.1/dpni.7 (interface: eth4, end point: dpmac.3)
dprc.1/dpni.1 (interface: eth1, end point: dpmac.4)
dprc.1/dpni.0 (interface: eth0, end point: dpsw.0.1)
dprc.1/dprc.3/dpni.6 (end point: dpmac.9)
dprc.1/dprc.3/dpni.5 (end point: dpmac.7)
dprc.1/dprc.3/dpni.4 (end point: dpmac.8)
3. VPP LCP and TAP/TUN Configuration
VPP LCP is creating TAP pairs (tap1/N3, tap2/cu, tap3/cu2).
itf-pair: [0] TenGigabitEthernet0 tap1 N3 10 type tap
itf-pair: [1] TenGigabitEthernet1 tap2 cu 11 type tap
itf-pair: [2] TenGigabitEthernet2 tap3 cu2 12 type tap
4. Problem Description
When VPP crashes or terminates abnormally:
The vpp_main process enters uninterruptible sleep (D state).
A kernel worker thread is blocked on rtnl_lock.
ps -eo pid,stat,comm,args | grep vpp_main
21670 Dl vpp_main [vpp_main]
ps -eo pid,comm,wchan | grep -E ip
9510 kworker/0:0+ipv rtnl_lock
cat /proc/21670/stack
[<0>] __switch_to+0xe8/0x150
[<0>] __flush_work.isra.13+0x134/0x248
[<0>] flush_work+0xc/0x18
[<0>] rollback_registered_many+0x1a8/0x560
[<0>] unregister_netdevice_queue+0x90/0x118
[<0>] __tun_detach+0x37c/0x390
[<0>] tun_chr_close+0x30/0x90
[<0>] __fput+0x8c/0x1b8
[<0>] ____fput+0xc/0x18
[<0>] task_work_run+0x90/0xb0
[<0>] do_exit+0x2b4/0x9a0
[<0>] do_group_exit+0x38/0xa0
[<0>] get_signal+0xac/0x5c8
[<0>] do_signal+0x80/0x2a8
[<0>] do_notify_resume+0xd0/0x110
[<0>] work_pending+0x8/0x10
[<0>] 0xffffffffffffffff
cat /proc/9510/stack
[<0>] __switch_to+0xe8/0x150
[<0>] rtnl_lock+0x14/0x20
[<0>] addrconf_verify_work+0xc/0x20
[<0>] process_one_work+0x1e0/0x318
[<0>] worker_thread+0x40/0x440
[<0>] kthread+0x128/0x130
[<0>] ret_from_fork+0x10/0x18
[<0>] 0xffffffffffffffff
how to fix it !
You could use Layerscape Linux Distribution POC Rev. 6.1.55_2.2.0 release.
It integrates:
DPDK v22.11
VPP v2302