fd: Introduce a unicast service timer.

This patch adds a new timer to be used by the server side unicast
negotiation logic.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
master
Richard Cochran 2018-03-31 08:30:00 -07:00
parent a076fd1ce9
commit dfa9e65785
4 changed files with 8 additions and 1 deletions

View File

@ -117,6 +117,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:
case FD_UNICAST_SRV_TIMER:
pr_err("unexpected timer expiration");
return EV_NONE;

3
fd.h
View File

@ -20,7 +20,7 @@
#ifndef HAVE_FD_H
#define HAVE_FD_H
#define N_TIMER_FDS 7
#define N_TIMER_FDS 8
/*
* The order matters here. The DELAY timer must appear before the
@ -38,6 +38,7 @@ enum {
FD_MANNO_TIMER,
FD_SYNC_TX_TIMER,
FD_UNICAST_REQ_TIMER,
FD_UNICAST_SRV_TIMER,
FD_RTNL,
N_POLLFD,
};

View File

@ -120,6 +120,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:
case FD_UNICAST_SRV_TIMER:
pr_err("unexpected timer expiration");
return EV_NONE;

4
port.c
View File

@ -2474,6 +2474,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_SRV_TIMER:
pr_debug("port %hu: unicast service timeout", portnum(p));
return EV_NONE;
case FD_UNICAST_REQ_TIMER:
pr_debug("port %hu: unicast request timeout", portnum(p));
return unicast_client_timer(p) ? EV_FAULT_DETECTED : EV_NONE;