fd: Introduce a unicast request timer.
This patch adds a new timer to be used by the client side unicast negotiation logic. Signed-off-by: Richard Cochran <richardcochran@gmail.com>master
parent
1ccc55ef07
commit
ffdb3f7192
1
e2e_tc.c
1
e2e_tc.c
|
@ -116,6 +116,7 @@ enum fsm_event e2e_event(struct port *p, int fd_index)
|
|||
|
||||
case FD_MANNO_TIMER:
|
||||
case FD_SYNC_TX_TIMER:
|
||||
case FD_UNICAST_REQ_TIMER:
|
||||
pr_err("unexpected timer expiration");
|
||||
return EV_NONE;
|
||||
|
||||
|
|
3
fd.h
3
fd.h
|
@ -20,7 +20,7 @@
|
|||
#ifndef HAVE_FD_H
|
||||
#define HAVE_FD_H
|
||||
|
||||
#define N_TIMER_FDS 6
|
||||
#define N_TIMER_FDS 7
|
||||
|
||||
/*
|
||||
* The order matters here. The DELAY timer must appear before the
|
||||
|
@ -37,6 +37,7 @@ enum {
|
|||
FD_QUALIFICATION_TIMER,
|
||||
FD_MANNO_TIMER,
|
||||
FD_SYNC_TX_TIMER,
|
||||
FD_UNICAST_REQ_TIMER,
|
||||
FD_RTNL,
|
||||
N_POLLFD,
|
||||
};
|
||||
|
|
1
p2p_tc.c
1
p2p_tc.c
|
@ -119,6 +119,7 @@ enum fsm_event p2p_event(struct port *p, int fd_index)
|
|||
|
||||
case FD_MANNO_TIMER:
|
||||
case FD_SYNC_TX_TIMER:
|
||||
case FD_UNICAST_REQ_TIMER:
|
||||
pr_err("unexpected timer expiration");
|
||||
return EV_NONE;
|
||||
|
||||
|
|
6
port.c
6
port.c
|
@ -2239,6 +2239,7 @@ static void port_e2e_transition(struct port *p, enum port_state next)
|
|||
port_clr_tmo(p->fda.fd[FD_QUALIFICATION_TIMER]);
|
||||
port_clr_tmo(p->fda.fd[FD_MANNO_TIMER]);
|
||||
port_clr_tmo(p->fda.fd[FD_SYNC_TX_TIMER]);
|
||||
/* Leave FD_UNICAST_REQ_TIMER running. */
|
||||
|
||||
switch (next) {
|
||||
case PS_INITIALIZING:
|
||||
|
@ -2280,6 +2281,7 @@ static void port_p2p_transition(struct port *p, enum port_state next)
|
|||
port_clr_tmo(p->fda.fd[FD_QUALIFICATION_TIMER]);
|
||||
port_clr_tmo(p->fda.fd[FD_MANNO_TIMER]);
|
||||
port_clr_tmo(p->fda.fd[FD_SYNC_TX_TIMER]);
|
||||
/* Leave FD_UNICAST_REQ_TIMER running. */
|
||||
|
||||
switch (next) {
|
||||
case PS_INITIALIZING:
|
||||
|
@ -2448,6 +2450,10 @@ static enum fsm_event bc_event(struct port *p, int fd_index)
|
|||
port_set_sync_tx_tmo(p);
|
||||
return port_tx_sync(p, NULL) ? EV_FAULT_DETECTED : EV_NONE;
|
||||
|
||||
case FD_UNICAST_REQ_TIMER:
|
||||
pr_debug("port %hu: unicast request timeout", portnum(p));
|
||||
return EV_NONE;
|
||||
|
||||
case FD_RTNL:
|
||||
pr_debug("port %hu: received link status notification", portnum(p));
|
||||
rtnl_link_status(fd, p->name, port_link_status, p);
|
||||
|
|
Loading…
Reference in New Issue