Don't use get_random_bytes

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Cleanup: Move code out of tcp_rcv_synsent_state_process

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Don't use tcp_v4_send_reset in mptcp_send_reset.

If we use tcp_v4_send_reset, the skb will be modified. However, the skb
is already enqueued in the sk_receive-queue. We thus should never modify
it!

So, we use tcp_send_active_reset.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Update get_available_subflow to return the mss

This avoids the caller to call tcp_current_mss afterwards in order to retreive
the mss in use for this subflow.

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

In order to handle TSO support.

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

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

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix flow-to-core-affinity

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
TCP Send-file support

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

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Reset snd_nxt when falling back to infinite

snd_nxt must be reset too, to have correct accounting afterwards.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: Update copied_seq when purging rcv-queue upon csum-failure

Otherwise, copied_seq is out of sync with the rest. It is safer, to
update it correctly.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: mptcp_skb_split_tail allocate a tcp-header

We need a tcp-header because we are accessing the fin-flag.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix: When falling back to infinite, don't use the subseq from the DSS

The middlebox messed up with our mapping. We can only rely on the
mapping in the tcp-header.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Final fix to infinite mapping

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

Conflicts:
	net/ipv4/tcp_output.c
Add version-info

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Optimization - Only calculate hmac once

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Optimization - Improve branch-prediction in mptcp_established_options

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Optimization - don't unnecessarily call mptcp_is_available. It is costly

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Optimization - Avoid calls to tcp_current_mss

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