From: Petr Machata <pe...@mellanox.com> Date: Mon, 29 Jul 2019 18:26:14 +0000
> Spectrum systems have a configurable limit on how far into the packet they > parse. By default, the limit is 96 bytes. > > An IPv6 PTP packet is layered as Ethernet/IPv6/UDP (14+40+8 bytes), and > sequence ID of a PTP event is only available 32 bytes into payload, for a > total of 94 bytes. When an additional 802.1q header is present as > well (such as when ptp4l is running on a VLAN port), the parsing limit is > exceeded. Such packets are not recognized as PTP, and are not timestamped. > > Therefore generalize the current VXLAN-specific parsing depth setting to > allow reference-counted requests from other modules as well. Keep it in the > VXLAN module, because the MPRS register also configures UDP destination > port number used for VXLAN, and is thus closely tied to the VXLAN code > anyway. > > Then invoke the new interfaces from both VXLAN (in obvious places), as well > as from PTP code, when the (global) timestamping configuration changes from > disabled to enabled or vice versa. > > Fixes: 8748642751ed ("mlxsw: spectrum: PTP: Support SIOCGHWTSTAMP, > SIOCSHWTSTAMP ioctls") > Signed-off-by: Petr Machata <pe...@mellanox.com> > --- > > Notes: > v2: > - Preserve RXT in mlxsw_sp1_ptp_mtpppc_update() Applied, thanks Petr.