---
# System prepended metadata

title: NTP update (September 2022)

---

# NTP update (September 2022)

We started the second milestone of the NTP initiative, the NTP server, in mid-August. At the time of writing (end of September), we have built our NTP server. The work included extra networking logic and of course, its own async logic and configuration. Overall, this all went very smoothly, and we now have a functioning server.

We expect to complete the remaining work by the end of October, as planned.

## Our server in the NTP pool

We set up our server to be a member of the NTP pool at https://www.ntppool.org/a/tweedegolf. Our goal is to get some operational experience. Already the data shows that there is some issue in our clock steering. We have some theories, but will need to gather some more data before we can fix the problem. 

## Send software timestamps

This has now been merged. We had to work around some shortcomings in tokio, but do now think we understand the whole timestamping mechanic properly.

## Upstreamed libc constants

https://github.com/rust-lang/libc/pull/2881 was merged. We now use those constants from libc, rather than defining them ourselves.

## Looking ahead to NTS

We did preliminary work to verify we have the right plan to build NTS support, in the next milestone. Experiments with NTS client functionality showed we are on the right path, and we can use the underlying libraries we anticipated.

# Planned work

These tasks are in-flight:

- properly document unsafe usage in the network interface
- allow/deny lists
- pool support
- rate limiting

Furthermore we plan to work on:

- server documentation
- improved configuration and monitoring

See https://github.com/memorysafety/ntpd-rs/issues (server milestone).



