Skip to content

Add SNTP/NTP Time Synchronization #94

@MalteJ

Description

@MalteJ

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions