From: David S. Miller Date: Tue, 30 Jun 2020 00:29:38 +0000 (-0700) Subject: Merge branch 'MPTCP-improve-fallback-to-TCP' X-Git-Tag: v5.9-rc1~133^2~392 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=13f1555c1b4c49b8ab9dd80b7353deec0526ccac;p=thirdparty%2Flinux.git Merge branch 'MPTCP-improve-fallback-to-TCP' Davide Caratti says: ==================== MPTCP: improve fallback to TCP there are situations where MPTCP sockets should fall-back to regular TCP: this series reworks the fallback code to pursue the following goals: 1) cleanup the non fallback code, removing most of 'if ()' in the data path 2) improve performance for non-fallback sockets, avoiding locks in poll() further work will also leverage on this changes to achieve: a) more consistent behavior of gestockopt()/setsockopt() on passive sockets after fallback b) support for "infinite maps" as per RFC8684, section 3.7 the series is made of the following items: - patch 1 lets sendmsg() / recvmsg() / poll() use the main socket also after fallback - patch 2 fixes 'simultaneous connect' scenario after fallback. The problem was present also before the rework, but the fix is much easier to implement after patch 1 - patch 3, 4, 5 are clean-ups for code that is no more needed after the fallback rework - patch 6 fixes a race condition between close() and poll(). The problem was theoretically present before the rework, but it became almost systematic after patch 1 ==================== Signed-off-by: David S. Miller --- 13f1555c1b4c49b8ab9dd80b7353deec0526ccac