ironcore-dev / ironcore-dev/FeOS

Add SNTP/NTP Time Synchronization

Open
#94 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/operatingsystem
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:

  1. Primary: Query NTP server information via DHCPv6 (Option 56)

    • If the DHCP server provides NTP server information, use these servers
  2. Fallback: Use public NTP pool servers

    • Default to pool.ntp.org if no DHCPv6 NTP information is available
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.