Fix mptcp_debug

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

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: dss-csum if a 64-bit dss option is present

dss_off points to the beginning of the dss-option. If a 64-bit dss is
present, we should skip the first 4 bytes, as they are added later with
the final call to csum_partial.

Reported-by: Erkrishna Khanal <erkrishna.khanal@gmail.com>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Cleanup tcp_v4_destroy_sock

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Stall if SACK is disabled and an RTO happens

RFC6582 specifies that TCP should not exit the loss-state unless
something more than high_seq has been acknowledged. (high_seq is the
snd_nxt when the RTO occured)
However, as soon as an RTO occurs MPTCP will stop sending on this
subflow. Thus, the snd_una can NEVER EVER go beyond high_seq. So, MPTCP
will stall on this subflow.

This commit fixes it by taking this here into consideration.

Reported-by: David Zats <dzats2008@gmail.com>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
First attempt at fixing infinite mapping

When accessing baidu.com, it replies with the MP_CAPABLE option (because
it seems to just echo back any unknown option to the sender). However,
further baidu.com off course does not support MPTCP and will reply to
our data-seq without a data-ack. This is an easy scenario to trigger a
fallback to infinite through Section 3.6 of the RFC.

This is a first attempt to contacting baidu.com work.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Stop retransmitting third ack after fourth ack without data-ack

RFC 6824 says that any fourth ack should stop the retransmission of the
third ack with MP_JOIN.

This patch fixes it, as previously we only stopped retransmitting if the
fourth ack had a DATA_ACK.

Reported-by: Varun Taneja <sunvarun@gmail.com>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix further infinite mapping

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

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