On Wed, Nov 14, 2018 at 02:10:04PM -0800, Vedang Patel wrote:
> When inhibit_announce is set, ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES event is
> still sent once every state change. Avoid this by explicitly sending
> EV_NONE instead.

I'm going to merge this patch, but with the following fix up.  (We
shouldn't skip the prune and renewal logic.)

Thanks,
Richard

diff --git a/port.c b/port.c
index a0b6bb2..428326e 100644
--- a/port.c
+++ b/port.c
@@ -2499,9 +2499,8 @@ static enum fsm_event bc_event(struct port *p, int 
fd_index)
                        port_clr_tmo(p->fda.fd[FD_SYNC_RX_TIMER]);
                }
 
-               if (p->inhibit_announce && fd_index == FD_ANNOUNCE_TIMER) {
+               if (p->inhibit_announce) {
                        port_clr_tmo(p->fda.fd[FD_ANNOUNCE_TIMER]);
-                       return EV_NONE;
                } else {
                        port_set_announce_tmo(p);
                }
@@ -2511,6 +2510,10 @@ static enum fsm_event bc_event(struct port *p, int 
fd_index)
                    port_renew_transport(p)) {
                        return EV_FAULT_DETECTED;
                }
+
+               if (p->inhibit_announce) {
+                       return EV_NONE;
+               }
                return EV_ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES;
 
        case FD_DELAY_TIMER:


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

Reply via email to