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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel