Fix: First unlink, then send reset

Otherwise we may corrupt the skb.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Don't use the teardown-flag

We should do a proper close with mptcp_sub_force_close.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Call sock_rps_reset_flow in mptcp_sub_close

Because, subsockets may die early. We have then to reset them properly.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Cleanup

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Correctly wake up application when data has been queued.

If tcp_queue_rcv eats up the skb, eaten will be 1, and we will finally
not wakeup the application. Thus, we get stuck. We have to prevent this,
by always waking up the application upon data-reception.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Merge branch 'mptcp_trunk' into mptcp_ipext

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>

Conflicts:
	include/net/mptcp.h
Merge branch 'mptcp_ipext' into mptcp_sockopt

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>

Conflicts:
	include/linux/tcp.h
Merge branch 'mptcp_sockopt' into mptcp_tcp_probe