• Karsten Graul's avatar
    net/smc: fix toleration of fake add_link messages · fffe83c8
    Karsten Graul authored
    Older SMCR implementations had no link failover support and used one
    link only. Because the handshake protocol requires to try the
    establishment of a second link the old code sent a fake add_link message
    and declined any server response afterwards.
    The current code supports multiple links and inspects the received fake
    add_link message more closely. To tolerate the fake add_link messages
    smc_llc_is_local_add_link() needs an improved check of the message to
    be able to separate between locally enqueued and fake add_link messages.
    And smc_llc_cli_add_link() needs to check if the provided qp_mtu size is
    invalid and reject the add_link request in that case.
    
    Fixes: c48254fa ("net/smc: move add link processing for new device into llc layer")
    Reviewed-by: default avatarUrsula Braun <ubraun@linux.ibm.com>
    Signed-off-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fffe83c8
smc_llc.c 53.6 KB