net/smc: support SMCv2.x supplemental features negotiation
authorWen Gu <guwen@linux.alibaba.com>
Tue, 19 Dec 2023 14:26:10 +0000 (22:26 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Dec 2023 20:24:33 +0000 (20:24 +0000)
commitece60db3a4ce24a2a913a8960eb6fec561cdbcf6
tree2c6c7a4cd009e564cb310d4d8b36f7401f4a8341
parent9505450d55b0f7809fe63c36ad9339a909461c87
net/smc: support SMCv2.x supplemental features negotiation

This patch adds SMCv2.x supplemental features negotiation. Supported
SMCv2.x supplemental features are represented by feature_mask in FCE
field. The negotiation process is as follows.

 Server                                        Client
            Proposal(features(c-mask bits))
      <-----------------------------------------
            Accept(features(s-mask bits))
      ----------------------------------------->
           Confirm(features(s&c-mask bits))
      <-----------------------------------------

Signed-off-by: Wen Gu <guwen@linux.alibaba.com>
Reviewed-and-tested-by: Wenjia Zhang <wenjia@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/smc.h
net/smc/smc_clc.c
net/smc/smc_clc.h
net/smc/smc_core.h