Skip to content

Daemon fails to start (and may hang on exit) when IPv6 is disabled in kernel: fatal sysctl on net.ipv6.conf.dae0.* #911

@scriptk1d

Description

@scriptk1d

Checks

  • I have searched the existing issues
  • I have read the documentation
  • Is it your first time sumbitting an issue

Current Behavior

When IPv6 is disabled at the kernel level (e.g., ipv6.disable=1 or IPv6 module not available), dae fails during netns setup because it unconditionally writes IPv6 sysctls for the host veth (dae0).​
This triggers an error like “failed to set disable_ipv6 for dae0: no such file or directory” and then causes a chain reaction where the process cannot exit cleanly (appears to hang / not terminate as expected).
At control/netns_utils.go around line 289 (https://github.com/daeuniverse/dae/blob/main/control/netns_utils.go#L289), dae writes IPv6 sysctls (e.g., net.ipv6.conf.dae0.disable_ipv6 / forwarding) unconditionally before continuing netns setup.​
If IPv6 is disabled at the kernel level, the IPv6 sysctl tree (e.g., /proc/sys/net/ipv6/...) may not exist, so this operation can return ENOENT, and crashing/failing hard at that point is incorrect behavior.​
Please check whether IPv6 is available/enabled before touching any net.ipv6.* sysctls (or treat ENOENT as “IPv6 unsupported” and skip IPv6 initialization), so dae can still run in IPv4-only systems and exit cleanly on other errors.

Expected Behavior

No response

Steps to Reproduce

  1. add kernel arg ipv6.disable=1

Environment

  • Dae version (use dae --version): daed version v1.21.1
  • OS (e.g cat /etc/os-release): ubuntu 24.04
  • Kernel (e.g. uname -a): linux 6.x
  • Others:

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions