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

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions