• Christian Eggers's avatar
    net: ptp: add helper for one-step P2P clocks · 2955762b
    Christian Eggers authored
    For P2P delay measurement, the ingress time stamp of the PDelay_Req is
    required for the correction field of the PDelay_Resp. The application
    echoes back the correction field of the PDelay_Req when sending the
    PDelay_Resp.
    
    Some hardware (like the ZHAW InES PTP time stamping IP core) subtracts
    the ingress timestamp autonomously from the correction field, so that
    the hardware only needs to add the egress timestamp on tx. Other
    hardware (like the Microchip KSZ9563) reports the ingress time stamp via
    an interrupt and requires that the software provides this time stamp via
    tail-tag on tx.
    
    In order to avoid introducing a further application interface for this,
    the driver can simply emulate the behavior of the InES device and
    subtract the ingress time stamp in software from the correction field.
    
    On egress, the correction field can either be kept as it is (and the
    time stamp field in the tail-tag is set to zero) or move the value from
    the correction field back to the tail-tag.
    
    Changing the correction field requires updating the UDP checksum (if UDP
    is used as transport).
    Signed-off-by: default avatarChristian Eggers <ceggers@arri.de>
    Co-developed-by: default avatarArun Ramadoss <arun.ramadoss@microchip.com>
    Signed-off-by: default avatarArun Ramadoss <arun.ramadoss@microchip.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2955762b
ptp_classify.h 6.88 KB