Merge branch 'MPTCP-improve-fallback-to-TCP'
authorDavid S. Miller <davem@davemloft.net>
Tue, 30 Jun 2020 00:29:38 +0000 (17:29 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Jun 2020 00:29:38 +0000 (17:29 -0700)
commit13f1555c1b4c49b8ab9dd80b7353deec0526ccac
treed718dfc00e260081387271c1911143a6e4dda717
parente11703330a5df48e1fd4167e4d22a102e517253e
parent8a05661b2b266b6dc45af255b3037b00ef31d85d
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 (<fallback>)' 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 <davem@davemloft.net>