ironcore-dev / ironcore-dev/FeOS
Add SNTP/NTP Time Synchronization
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 23
- Forks
- 8
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 1
Description
Description
FeOS currently lacks automatic time synchronization. The system should regularly synchronize its time via SNTP/NTP to ensure accurate timekeeping across all operations.
Requirements
Time Synchronization Schedule
- Perform initial time synchronization at system startup
- Repeat synchronization every 24 hours thereafter
NTP Server Selection Strategy
The system should implement a priority-based approach for selecting NTP servers:
-
Primary: Query NTP server information via DHCPv6 (Option 56)
- If the DHCP server provides NTP server information, use these servers
-
Fallback: Use public NTP pool servers
- Default to
pool.ntp.orgif no DHCPv6 NTP information is available
- Default to
Technical Details
- Protocol: SNTP (Simple Network Time Protocol) or NTP
- DHCPv6 Option: Option 56 (OPTION_NTP_SERVER) as defined in RFC 5908
- Default NTP pool:
pool.ntp.org
Acceptance Criteria
- System performs time synchronization on boot
- System synchronizes time every 24 hours via a scheduled service/timer
- System queries DHCPv6 for NTP server information (Option 56)
- System uses DHCPv6-provided NTP servers when available
- System falls back to public NTP pool when no DHCPv6 NTP information is provided
- Time synchronization errors are logged appropriately
Implementation Considerations
- Ensure proper error handling when NTP servers are unreachable. Retry every few minutes in case of failure (e.g. network down).
- Log which NTP server source is being used (DHCPv6 vs. fallback and server address)
- Handle network availability at boot time gracefully
Related
- RFC 5908: Network Time Protocol (NTP) Server Option for DHCPv6
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points; start by locating FeOS's startup, scheduling, networking, and DHCPv6 components. Done means boot and 24-hour synchronization work, DHCPv6 Option 56 takes priority over pool.ntp.org, retries and network failures are handled, and the source and errors are logged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100