• Matthieu Baerts (NGI0)'s avatar
    mptcp: pm: skip connecting to already established sf · bc19ff57
    Matthieu Baerts (NGI0) authored
    The lookup_subflow_by_daddr() helper checks if there is already a
    subflow connected to this address. But there could be a subflow that is
    closing, but taking time due to some reasons: latency, losses, data to
    process, etc.
    
    If an ADD_ADDR is received while the endpoint is being closed, it is
    better to try connecting to it, instead of rejecting it: the peer which
    has sent the ADD_ADDR will not be notified that the ADD_ADDR has been
    rejected for this reason, and the expected subflow will not be created
    at the end.
    
    This helper should then only look for subflows that are established, or
    going to be, but not the ones being closed.
    
    Fixes: d84ad049 ("mptcp: skip connecting the connected address")
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
    Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    bc19ff57
pm_netlink.c 61.7 KB