• Guangguan Wang's avatar
    net/smc: support smc release version negotiation in clc handshake · 1e700948
    Guangguan Wang authored
    Support smc release version negotiation in clc handshake based on
    SMC v2, where no negotiation process for different releases, but
    for different versions. The latest smc release version was updated
    to v2.1. And currently there are two release versions of SMCv2, v2.0
    and v2.1. In the release version negotiation, client sends the preferred
    release version by CLC Proposal Message, server makes decision for which
    release version to use based on the client preferred release version and
    self-supported release version (here choose the minimum release version
    of the client preferred and server latest supported), then the decision
    returns to client by CLC Accept Message. Client confirms the decision by
    CLC Confirm Message.
    
    Client                                    Server
          Proposal(preferred release version)
         ------------------------------------>
    
          Accept(accpeted release version)
     min(client preferred, server latest supported)
         <------------------------------------
    
          Confirm(accpeted release version)
         ------------------------------------>
    Signed-off-by: default avatarGuangguan Wang <guangguan.wang@linux.alibaba.com>
    Reviewed-by: default avatarTony Lu <tonylu@linux.alibaba.com>
    Reviewed-by: default avatarJan Karcher <jaka@linux.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1e700948
smc.h 11.1 KB