Page MenuHomeVyOS Platform

Add kernel config needed for pwru
Closed, ResolvedPublicFEATURE REQUEST

Description

Summary

Please consider adding the required kernel config for https://github.com/cilium/pwru

pwru is a very useful tool to debug complex networking issues on Linux, as it allows you to see how the packet travels through the kernel functions
I'm pretty sure that worked like 3 months ago in the rolling, but it seems like some config flags have been (accidentally) removed during the repo refactoring?

The following flags should be set:

CONFIG_DEBUG_INFO_BTF=y
CONFIG_KPROBES=y
CONFIG_PERF_EVENTS=y
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FPROBE=y

Currently missing:

CONFIG_DEBUG_INFO_BTF
CONFIG_KPROBES
CONFIG_FUNCTION_TRACER
CONFIG_FPROBE

Use case

Debug complex networking issues by using pwru to see how the packet travels through the kernel (functions)

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Feature (new functionality)

Event Timeline

@rchrist do you want to claim the task and add a PR?

@Viacheslav Sure, can do. Currently already building it, so I can as well just share the modifications.

I stumbled over some minor stuff, I'll raise a separate issue on that.

Viacheslav moved this task from Need Triage to Completed on the VyOS Rolling board.

Just wanted to note that I've observed significant increase in final ISO size when building kernel + modules which I believe is due to the options introduced by 30-pwru.config (Roughly +500MB: ~680MB without -> 1.2GB with). I guess this is probably expected because of the debug flags.

In T8496#262337, @vvmsq wrote:

Just wanted to note that I've observed significant increase in final ISO size when building kernel + modules which I believe is due to the options introduced by 30-pwru.config (Roughly +500MB: ~680MB without -> 1.2GB with). I guess this is probably expected because of the debug flags.

@vvmsq I don't know where you see 1.2GB

vyos@r14# ls -lh
total 669M
-rw-rw-r-- 1 vyos vyattacfg 669M May  9 13:07 vyos-2026.05.09-0042-rolling-generic-amd64.iso
[edit]
vyos@r14#

The latest rolling is 669M. Just download the latest rolling.

@rchrist, can you confirm that everything works as expected so we can close the task?

In T8496#262337, @vvmsq wrote:

Just wanted to note that I've observed significant increase in final ISO size when building kernel + modules which I believe is due to the options introduced by 30-pwru.config (Roughly +500MB: ~680MB without -> 1.2GB with). I guess this is probably expected because of the debug flags.

@vvmsq I don't know where you see 1.2GB

vyos@r14# ls -lh
total 669M
-rw-rw-r-- 1 vyos vyattacfg 669M May  9 13:07 vyos-2026.05.09-0042-rolling-generic-amd64.iso
[edit]
vyos@r14#

The latest rolling is 669M. Just download the latest rolling.

This was after building kernel + modules myself - end result was much larger than expected - it's definitely possible/probable I did something wrong and included packages that weren't needed without noticing if regular builds are coming out fine. Apologies for the mistake.

In T8496#264157, @vvmsq wrote:

This was after building kernel + modules myself - end result was much larger than expected - it's definitely possible/probable I did something wrong and included packages that weren't needed without noticing if regular builds are coming out fine. Apologies for the mistake.

Yeah, that's about expected. When you just copy the built *.deb packages as usual, you will also copy some new packages like linux-image-6.6.135-vyos-dbg_6.6.135-1_amd64.deb with 328MB.. This package contains debug symbols, which are not needed for the eBPF use case here. This package is generated because CONFIG_DEBUG_INFO_BTF (or some other flag, but I think it was this one) explicitly requires CONFIG_DEBUG_INFO=y which causes this package to be generated, even though its not needed (because the BTF is embedded in the kernel)

@Viacheslav verified with the newest rolling 2026.05.17-0044-rolling:

image.png (1×2 px, 734 KB)

We can close from my side :)