-
Notifications
You must be signed in to change notification settings - Fork 310
Description
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
- 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