Skip to content

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

@simonbcn

Description

@simonbcn

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions