NTP packet

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NTP packet

2,626 Views
cbursk
Contributor I

Hello,

I need to come up with an implementation of an NTP packet.  I was hoping that there was already built in support for this in MQX, but so far I'm coming up empty.  I thought I saw in another thread that SNTP is supported, but I can't seem to find any info on it.

Any pointers would be appreciated.

Thanks,

0 Kudos
Reply
3 Replies

1,000 Views
PetrL
NXP Employee
NXP Employee

Hi,

 

MQX implements SNTP client. See MQX RTCS User's guide (MQXRTCSUG.pdf) chapeters 7.1.147 SNTP_oneshot() and 7.1.146 SNTP_init()..

 

Regards,

PetrL

0 Kudos
Reply

1,000 Views
cbursk
Contributor I

Thanks for your help, its amazing how much easier this becomes when e look in the right spot.  I do have a follow up question, in the sntp.c file in the SNTP_build_header method the header is built but the timestamp that gets set is the TRANSMIT_TIMESTAMP1 & 2.  I'm confised by this, if the header is being built to be transmitted by a client, shouldn't this be setting the ORIGINATE_TIMESTAMPs?  Also I can't seem to find where who fills in the REFERENCE_TIMESTAMPs.

 

Thank you!

0 Kudos
Reply

1,000 Views
EAI
Contributor IV

Per RFC-4330:

   Although setting the Transmit Timestamp field in the request to the
   time of day according to the client clock in NTP timestamp format is
   not necessary in a conforming client implementation, it is highly
   recommended in unicast and manycast modes.  This allows a simple
   calculation to determine the propagation delay between the server and
   client and to align the system clock generally within a few tens of
   milliseconds relative to the server.  In addition, this provides a
   simple method for verifying that the server reply is in fact a
   legitimate response to the specific client request and thereby for
   avoiding replays.  In broadcast mode, the client has no information
   to calculate the propagation delay or to determine the validity of
   the server, unless one of the NTP authentication schemes is used.

   To calculate the roundtrip delay d and system clock offset t relative
   to the server, the client sets the Transmit Timestamp field in the
   request to the time of day according to the client clock in NTP
   timestamp format.  For this purpose, the clock need not be
   synchronized.  The server copies this field to the Originate
   Timestamp in the reply and sets the Receive Timestamp and Transmit
   Timestamp fields to the time of day according to the server clock in
   NTP timestamp format.

 

0 Kudos
Reply