• Guangguan Wang's avatar
    net/smc: add vendor unique experimental options area in clc handshake · 7290178a
    Guangguan Wang authored
    Add vendor unique experimental options area in clc handshake. In clc
    accept and confirm msg, vendor unique experimental options use the
    16-Bytes reserved field, which defined in struct smc_clc_fce_gid_ext
    in previous version. Because of the struct smc_clc_first_contact_ext
    is widely used and limit the scope of modification, this patch moves
    the 16-Bytes reserved field out of struct smc_clc_fce_gid_ext, and
    followed with the struct smc_clc_first_contact_ext in a new struct
    names struct smc_clc_first_contact_ext_v2x.
    
    For SMC-R first connection, in previous version, the struct smc_clc_
    first_contact_ext and the 16-Bytes reserved field has already been
    included in clc accept and confirm msg. Thus, this patch use struct
    smc_clc_first_contact_ext_v2x instead of the struct smc_clc_first_
    contact_ext and the 16-Bytes reserved field in SMC-R clc accept and
    confirm msg is compatible with previous version.
    
    For SMC-D first connection, in previous version, only the struct smc_
    clc_first_contact_ext is included in clc accept and confirm msg, and
    the 16-Bytes reserved field is not included. Thus, when the negotiated
    smc release version is the version before v2.1, we still use struct
    smc_clc_first_contact_ext for compatible consideration. If the negotiated
    smc release version is v2.1 or later, use struct smc_clc_first_contact_
    ext_v2x instead.
    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>
    7290178a
smc_clc.c 32.5 KB