Fix: mptcp_current_mss to return the minimum

Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Cleanup mptcp_select_size

Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Set data_len manually when receiving infinite mapping

As data_len == 0 to signal the infinite mapping, we have to set it
manually to skb->len in order to allow correct processing afterwards.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
And handle data-fins correctly

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: pskb_copy reinjected skb's if they are cloned

In case of address-removal the send-queue is purged and everything is
put in the reinject-queue. However, these segments may still be a clone
from tcp_transmit_skb, waiting in the qdisc.

When sending a reinjected segment we have to check for skb_cloned() and
do a pskb_copy in that case.

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