mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00

SMC-R tests the viability of link by sending out TEST_LINK LLC messages over RoCE fabric when connections on link have been idle for a time longer than keepalive interval (testlink time). But using tcp_keepalive_time as testlink time maybe not quite suitable because it is default no less than two hours[1], which is too long for single link to find peer dead. The active host will still use peer-dead link (QP) sending messages, and can't find out until get IB_WC_RETRY_EXC_ERR error CQEs, which takes more time than TEST_LINK timeout (SMC_LLC_WAIT_TIME) normally. So this patch introduces a independent sysctl for SMC-R to set link keepalive time, in order to detect link down in time. The default value is 30 seconds. [1] https://www.rfc-editor.org/rfc/rfc1122#page-101 Signed-off-by: Wen Gu <guwen@linux.alibaba.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
25 lines
604 B
C
25 lines
604 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __NETNS_SMC_H__
|
|
#define __NETNS_SMC_H__
|
|
#include <linux/mutex.h>
|
|
#include <linux/percpu.h>
|
|
|
|
struct smc_stats_rsn;
|
|
struct smc_stats;
|
|
struct netns_smc {
|
|
/* per cpu counters for SMC */
|
|
struct smc_stats __percpu *smc_stats;
|
|
/* protect fback_rsn */
|
|
struct mutex mutex_fback_rsn;
|
|
struct smc_stats_rsn *fback_rsn;
|
|
|
|
bool limit_smc_hs; /* constraint on handshake */
|
|
#ifdef CONFIG_SYSCTL
|
|
struct ctl_table_header *smc_hdr;
|
|
#endif
|
|
unsigned int sysctl_autocorking_size;
|
|
unsigned int sysctl_smcr_buf_type;
|
|
int sysctl_smcr_testlink_time;
|
|
};
|
|
#endif
|