Git Product home page Git Product logo

meshntpd's Introduction

meshntpd

Replace AREDN's ntpclient with ntpd

When the service starts it tests the NTP Server entered on the Basic Settings page to see whether it is reachable. An NTP query is sent to determine reachability. If it is reachable on the network, then it is added to the top of the list of available NTP servers.

Next it searches for any NTP services found by OLSR and tests each one to determine if it is reachable across the network. If it is reachable then it is added to the list of available NTP servers for ntpd to query. The search process looks for "ntp" anywhere in the advertised service description field (upper or lowercase). This list is updated every day so new servers can be located automatically.

Once the server list is created, any other NTP-related processes are terminated (ntpclient or other running ntpd processes). If there are no reachable servers on the network, then ntpd is not started and a notice is logged in syslog. If there are reachable servers in the server list, then the embedded BusyBox ntpd process is started and the entire list of reachable servers is included. A notice is logged in syslog showing the list of reachable servers. These notices can be viewed from the node command line using:

logread -e meshntpd

BusyBox ntpd uses complex algorithms to gradually bring the system clock into alignment with network time. It periodically requests NTP updates and adjusts the clock over a period of time. ntpd typically uses the first or best available time server in its list, but if that server becomes unreachable then it should switch to using the next available peer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.