SNTP simple runs request iterations with exponential backoff. If the net interface is a slower connection (ie. CAT M1 modems) then the request will be sent but the response may take time to be received, thus causing a timeout and another request to be sent. Because of the nature of UDP and the fact that the same socket (source IP/port combo) is being used for both requests, a delayed response to the first request can be received as the response to the second request, causing -EINVAL to be returned when the timestamps mismatch (see subsys/net/lib/sntp/sntp.c). The solution provided retries receiving the response when the timestamp is mismatched (without sending an additional request). Signed-off-by: Marcus Penate <marcus.penate@ellenbytech.com> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| Kconfig | ||
| sntp_pkt.h | ||
| sntp_simple.c | ||
| sntp.c | ||