On Thu, May 18, 2017 at 10:07 AM, Miroslav Lichvar <mlich...@redhat.com> wrote: > The scm_timestamping struct may return multiple non-zero fields, e.g. > when both software and hardware RX timestamping is enabled, or when the > SO_TIMESTAMP(NS) option is combined with SCM_TIMESTAMPING and a false > software timestamp is generated in the recvmsg() call in order to always > return a SCM_TIMESTAMP(NS) message. > > CC: Richard Cochran <richardcoch...@gmail.com> > CC: Willem de Bruijn <will...@google.com> > Signed-off-by: Miroslav Lichvar <mlich...@redhat.com>
Thanks for adding this! > +Note that if the SO_TIMESTAMP or SO_TIMESTAMPNS option is enabled > +together with SO_TIMESTAMPING using SOF_TIMESTAMPING_SOFTWARE, a false > +software timestamp will be generated in the recvmsg() call and passed > +in ts[0] when a real software timestamp is missing. With receive software timestamping this is expected behavior? I would make explicit that this happens even on tx timestamps. > For this reason it > +is not recommended to combine SO_TIMESTAMP(NS) with SO_TIMESTAMPING. And I'd remove this. The extra timestamp is harmless, and we may be missing other reasons why someone would want to enable both on the same socket.