diff options
author | Karsten Graul <kgraul@linux.ibm.com> | 2018-05-02 17:56:44 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-02 20:29:12 +0300 |
commit | 877ae5be421de3173b1306113c3f88003ae798b3 (patch) | |
tree | c223eeb664b494475bbd1671c14ce060a5fffded /net/smc/smc_core.h | |
parent | e90c1a1090cccf833080b512746f24667985ed73 (diff) | |
download | linux-877ae5be421de3173b1306113c3f88003ae798b3.tar.xz |
net/smc: periodic testlink support
Add periodic LLC testlink support to ensure the link is still active.
The interval time is initialized using the value of
sysctl_tcp_keepalive_time.
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/smc_core.h')
-rw-r--r-- | net/smc/smc_core.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/smc/smc_core.h b/net/smc/smc_core.h index 07e2a393e6d9..97339f03ba79 100644 --- a/net/smc/smc_core.h +++ b/net/smc/smc_core.h @@ -79,6 +79,7 @@ struct smc_link { dma_addr_t wr_rx_dma_addr; /* DMA address of wr_rx_bufs */ u64 wr_rx_id; /* seq # of last recv WR */ u32 wr_rx_cnt; /* number of WR recv buffers */ + unsigned long wr_rx_tstamp; /* jiffies when last buf rx */ struct ib_reg_wr wr_reg; /* WR register memory region */ wait_queue_head_t wr_reg_wait; /* wait for wr_reg result */ @@ -101,6 +102,9 @@ struct smc_link { int llc_confirm_resp_rc; /* rc from conf_resp msg */ struct completion llc_add; /* wait for rx of add link */ struct completion llc_add_resp; /* wait for rx of add link rsp*/ + struct delayed_work llc_testlink_wrk; /* testlink worker */ + struct completion llc_testlink_resp; /* wait for rx of testlink */ + int llc_testlink_time; /* testlink interval */ }; /* For now we just allow one parallel link per link group. The SMC protocol |