Re: [Linuxptp-devel] [PATCHv5 00/12] Add linuxptp bond failover support
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Miroslav L. <mli...@re...> - 2017-10-04 11:38:18
|
On Sat, Sep 30, 2017 at 04:25:08PM +0800, Hangbin Liu wrote: > This patch set is to add linuxptp bond fail over support. > v4 -> v5: Based on Miroslav's tests and advises. Thanks for the fixes and improvements. In my testing it all seems to be working as expected, with both HW and SW timestamping. I was testing the failover in this setup: CLOCK_REALTIME -> phc2sys -a -r -r -> bond(I210, I350) -> ptp4l -> LAN -> ptp4l -> bond(I350, 82579LM) -> phc2sys -a -r -> CLOCK_REALTIME I suspect the default fault reset interval (16 seconds) might be a bit too long for people interested in this failover, but it is configurable. > 1. For [PATCHv4 08/10] ptp4l: use ts label to get ts info > - In function port_link_status() we should only switch phc with HW time > stamping mode. > 2. For [PATCHv4 10/10] phc2sys: update clock clkid and phc_index if device changed > - Split this patch into three small patches to make the logic more clear. > So now we have two parts for this patchset. Patches 1-9 are to add ptp4l > bond failover support. And patches 10-12 are to add phc2sys failover > support. > - Split servo_add from function clock_add for later use. > - In reconfigure() we only do clock_reinit() when new state is PS_MASTER > or PS_SLAVE. But when get failover the state changed to PS_FAULTY first, > during this time we still choose the old phc device instead of new phc. > Fix this by call clock_reinit() whenever we have a new state. > - In clock_reinit(), the new phc device may have different maximum > adjustment, then it will try to make a larger adjustment than the HW can > handle and breaks the synchronization. So we need to destroy the old servo > and create a new one. -- Miroslav Lichvar |