• Paolo Abeni's avatar
    mptcp: do not block subflows creation on errors · a88c9e49
    Paolo Abeni authored
    If the MPTCP configuration allows for multiple subflows
    creation, and the first additional subflows never reach
    the fully established status - e.g. due to packets drop or
    reset - the in kernel path manager do not move to the
    next subflow.
    
    This patch introduces a new PM helper to cope with MPJ
    subflow creation failure and delay and hook it where appropriate.
    
    Such helper triggers additional subflow creation, as needed
    and updates the PM subflow counter, if the current one is
    closing.
    
    Additionally start all the needed additional subflows
    as soon as the MPTCP socket is fully established, so we don't
    have to cope with slow MPJ handshake blocking the next subflow
    creation.
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a88c9e49
protocol.c 94 KB