diff options
author | Karsten Graul <kgraul@linux.ibm.com> | 2020-05-04 14:18:40 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-05-04 10:54:39 -0700 |
commit | b286a0651e4404ab96cdfdcdad8a839a26b3751e (patch) | |
tree | fde15ccaa6888d7058d401943134f3e18f139274 /net/smc/smc.h | |
parent | 29bd73dba4f72970895a2459f7190d388f5204f7 (diff) | |
download | linux-b286a0651e4404ab96cdfdcdad8a839a26b3751e.tar.bz2 |
net/smc: handle incoming CDC validation message
Call smc_cdc_msg_validate() when a CDC message with the failover
validation bit enabled was received. Validate that the sequence number
sent with the message is one we already have received. If not, messages
were lost and the connection is terminated using a new abort_work.
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Reviewed-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/smc.h')
-rw-r--r-- | net/smc/smc.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/smc/smc.h b/net/smc/smc.h index 1e9113771600..6f1c42da7a4c 100644 --- a/net/smc/smc.h +++ b/net/smc/smc.h @@ -188,12 +188,14 @@ struct smc_connection { spinlock_t acurs_lock; /* protect cursors */ #endif struct work_struct close_work; /* peer sent some closing */ + struct work_struct abort_work; /* abort the connection */ struct tasklet_struct rx_tsklet; /* Receiver tasklet for SMC-D */ u8 rx_off; /* receive offset: * 0 for SMC-R, 32 for SMC-D */ u64 peer_token; /* SMC-D token of peer */ u8 killed : 1; /* abnormal termination */ + u8 out_of_sync : 1; /* out of sync with peer */ }; struct smc_sock { /* smc sock container */ |