Skip to content

Fix Nix build configuration and DHCPv6 initialization timeouts#111

Open
poelzi wants to merge 2 commits intoironcore-dev:masterfrom
poelzi:pr/nix-dhcp-fix-v2
Open

Fix Nix build configuration and DHCPv6 initialization timeouts#111
poelzi wants to merge 2 commits intoironcore-dev:masterfrom
poelzi:pr/nix-dhcp-fix-v2

Conversation

@poelzi
Copy link

@poelzi poelzi commented Feb 15, 2026

Summary

  • restore and modernize Nix flake packaging files (flake.nix, nix/*.nix) for FeOS build/check workflows and passt-based VM networking
  • harden DHCPv6 initialization by adding timeout handling around router advertisement detection to avoid indefinite blocking
  • add timeout handling for DHCPv6 client execution in network setup so startup continues safely when DHCPv6 is unresponsive

Notes

  • branch intentionally excludes CI workflow file changes to avoid OAuth workflow-scope push restrictions in this environment

- Wrap is_dhcpv6_needed() in a channel-based 20s timeout to prevent
  infinite blocking on Router Advertisement wait (pnet AF_PACKET sockets
  don't support read_timeout on Linux)
- Wrap run_dhcpv6_client() in tokio::time::timeout(30s) to prevent
  infinite blocking when DHCPv6 server is unavailable
- Boot now continues gracefully when no IPv6 infrastructure is present
@hardikdr hardikdr added the area/operatingsystem Operating system-related concerns. label Feb 15, 2026
@hardikdr hardikdr added this to Roadmap Feb 15, 2026
@poelzi
Copy link
Author

poelzi commented Feb 17, 2026

with nix flake you can run nix run .#vm and have a guaranteed running test VM build from your sources. Faster then any other solution

@poelzi
Copy link
Author

poelzi commented Feb 18, 2026

@nkraetzschmar can you review this please ?

I have 3 large PRs upcoming and 2 of them depend on this :)

Opentelemetry, NATS control and logging and nix storage backend

@MalteJ
Copy link
Collaborator

MalteJ commented Feb 25, 2026

Hi poelzi

thanks for your PR.
Could you please split it into two PRs? One for DHCP, one for nix?
Please also describe your use case in the nix PR, as we haven't planned to support any nix related stuff until now.

Thanks a lot!

Regards
Malte

@MalteJ
Copy link
Collaborator

MalteJ commented Feb 25, 2026

I have 3 large PRs upcoming and 2 of them depend on this :) Opentelemetry, NATS control and logging and nix storage backend

Would be cool to discuss this in an issue first to keep the architecture clean and reduce work overhead. :)

@poelzi
Copy link
Author

poelzi commented Feb 26, 2026

@MalteJ ok, will create 2 PRs tomorrow
I replaced the logging infrastructure with opentelemetry
NATS feature that makes FeOS controllable via NATS messages + logging / metrics in opentelemetry format
Nix subsystem to use it for container / vm / program distribution

I have a nix over nats subsystem nearly finished.

I'm building a complete new cluster architecture from the decades of experience with cloud architecture. I decided to use FeOS as the minimal container / VM init system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/operatingsystem Operating system-related concerns.

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants