Feature request: add CLI option to disable specific tuners / graceful handling of disabled IPv6
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.9k
- Forks
- 115
- PR merge metrics
- No merged PRs in 30d
Description
When running bpftune with IPv6 disabled at kernel level (ipv6.disable=1 boot parameter), the neigh_table_tuner (and potentially other tuners) generate errors on startup because they try to access /proc/sys/net/ipv6/ paths that do not exist:
bpftune: could not open /proc/sys/net/ipv6/neigh/default/gc_interval (netns fd 0) for reading: No such file or directory
bpftune: could not open /proc/sys/net/ipv6/neigh/default/gc_stale_time (netfs fd 0) for reading: No such file or directory
bpftune: could not open /proc/sys/net/ipv6/neigh/default/gc_thresh1 (netns fd 0) for reading: No such file or directory
bpftune: could not open /proc/sys/net/ipv6/neigh/default/gc_thresh2 (netns fd 0) for reading: No such file or directory
This is a known situation also reported in #90.
Environment
- OS: Arch Linux
- Kernel: 6.18.13-xanmod1-1-x64v3
- CPU: AMD Ryzen Threadripper 3970X
- Boot parameter:
ipv6.disable=1
Expected behavior
Bpftune should handle gracefully the case where IPv6 is disabled at kernel level, either by:
-
Option A (preferred): Detecting at startup that IPv6 is disabled (e.g. checking
/proc/sys/net/ipv6availability orCONFIG_IPV6state) and skipping IPv6-related tunables silently, without logging errors. -
Option B: Adding a CLI flag such as
-D <tuner_name>(or--disable <tuner_name>) to allow the administrator to explicitly exclude specific tuners. This would also be useful for other scenarios where a tuner is not applicable to a given system configuration.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at bpftune startup and CLI parsing, then trace neigh_table_tuner accesses to /proc/sys/net/ipv6/. Review the related behavior in #90. Done means IPv6-disabled systems start without these errors, or administrators can reliably exclude the affected tuner with the chosen CLI option.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- cli, networking, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100