oracle / oracle/bpftune

Feature request: add CLI option to disable specific tuners / graceful handling of disabled IPv6

Open
#232 0 comments 0 reactions 0 assignees View on GitHub

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:

  1. Option A (preferred): Detecting at startup that IPv6 is disabled (e.g. checking /proc/sys/net/ipv6 availability or CONFIG_IPV6 state) and skipping IPv6-related tunables silently, without logging errors.

  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.