net/smc: Dynamic control handshake limitation by socket options
authorD. Wythe <alibuda@linux.alibaba.com>
Thu, 10 Feb 2022 09:11:37 +0000 (17:11 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Feb 2022 11:14:58 +0000 (11:14 +0000)
commita6a6fe27bab48f0d09a64b051e7bde432fcae081
treec199dbb38a8371cffe31a3e9c240a0dab613f48a
parent48b6190a00425a1bebac9f7ae4b338a1e20f50f3
net/smc: Dynamic control handshake limitation by socket options

This patch aims to add dynamic control for SMC handshake limitation for
every smc sockets, in production environment, it is possible for the
same applications to handle different service types, and may have
different opinion on SMC handshake limitation.

This patch try socket options to complete it, since we don't have socket
option level for SMC yet, which requires us to implement it at the same
time.

This patch does the following:

- add new socket option level: SOL_SMC.
- add new SMC socket option: SMC_LIMIT_HS.
- provide getter/setter for SMC socket options.

Link: https://lore.kernel.org/all/20f504f961e1a803f85d64229ad84260434203bd.1644323503.git.alibuda@linux.alibaba.com/
Signed-off-by: D. Wythe <alibuda@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/socket.h
include/uapi/linux/smc.h
net/smc/af_smc.c
net/smc/smc.h