Category:
Kernel / Flowtable / NHRP / Memory Management
Version Affected:
VyOS 1.4.2
Linux Kernel 6.x (confirmation needed)
Description:
When a tunnel endpoint (NHRP peer) goes down or is disabled, the kmalloc-256 slab cache begins to grow indefinitely, eventually exhausting system memory and leading to a crash (kernel panic).
Steps to Reproduce:
Enable Flowtable.
Set up multiple NHRP-based tunnels.
Disable or disconnect one tunnel endpoint.
Monitor /proc/slabinfo — observe uncontrolled growth in kmalloc-256.
Workarounds:
Disable Flowtable: The issue disappears.
Keep all tunnels continuously connected: Prevents the leak from occurring.
Observation:
The issue is tightly correlated with the combination of Flowtable and NHRP. Either component alone does not cause the problem.
Expected Behaviour:
NHRP should handle disconnected peers without triggering memory leaks.
Flowtable and NHRP should work together without causing unbounded memory allocation.