Fix: Don't fallback if subflow-only fin is acked

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Fix: Correctly check for SYN-flag in mptcp_data_ack

The tcp_flags are not set for incoming packets. We thus cannot check
there for a SYN-packet. We have to check the tcp-header.

Similar fix in mptcp_skb_split_tail. The fin-flag is handled some lines
higher within this function.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Fix: Initialize last_rbuf_opti correctly

It must be set to the correct timestamp as we create the mptcp_tcp_sock.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Update window on all subflows for fast recovery

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

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Fix: olia: Divide by 0

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Fix: Olia: Correctly scale in Olia

Provided by Ramin Khalili.
We have to use u64 in mptcp_olia_scale, because it's argument is u64.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Fix olia based on recommendation from Ramin

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Fix: Memoryleak when processing backlog-queue

If the refcnt was already zero, we will not process the received
segment. We thus have to free it to avoid the memory-leak.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Fix: Correctly destroy socket upon failure

When mptcp_create_master_sk fails, we have to destroy the meta too,
because the error gets propagated down to tcp_check_req, where we hit
the listen_overflow.

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

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Fix: Handle meta-socket in inet_csk_listen_stop

We have to hold the mutex, to prevent any work-queue from accessing the
meta-sk while closing it.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: Gregory Detal <gregory.detal@uclouvain.be>
Update version-info

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

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