From: Rodney Greenstreet <rodney.greenstr...@ni.com>

IEEE 802.1AS-2011's methodology for faults is to avoid waiting
in that FAULTY state in hopes that management will notice.
Instead, move on to search for a valid non-faulty state. If
supported, the fault is logged so that management can notice
later, but that logging isn't a requirement.

This patch is to invoke BMCA to redecide state if get
EV_FAULT_DETECTED event.

Signed-off-by: Rodney Greenstreet <rodney.greenstr...@ni.com>
Signed-off-by: Yangbo Lu <yangbo...@nxp.com>
---
Changes for v3:
        - Added this patch.
---
 clock.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/clock.c b/clock.c
index 8a67499..22dbcf4 100644
--- a/clock.c
+++ b/clock.c
@@ -1527,6 +1527,9 @@ int clock_poll(struct clock *c)
                                if (EV_ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES == 
event) {
                                        c->sde = 1;
                                }
+                               if (EV_FAULT_DETECTED == event) {
+                                       c->sde = 1;
+                               }
                                port_dispatch(p, event, 0);
                                /* Clear any fault after a little while. */
                                if (PS_FAULTY == port_state(p)) {
-- 
2.7.4



_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to