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