1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-13 03:41:54 +00:00

Latest MPTCP patches for kernel 4.14 and 4.9

This commit is contained in:
Ycarus 2019-03-16 20:20:30 +01:00
parent 6a6a2daecc
commit a73e7cf897
2 changed files with 733 additions and 614 deletions

View file

@ -1,6 +1,6 @@
diff -aurN linux-4.14.105/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.94/Documentation/networking/ip-sysctl.txt
--- linux-4.14.105/Documentation/networking/ip-sysctl.txt 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/Documentation/networking/ip-sysctl.txt 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/Documentation/networking/ip-sysctl.txt 2019-03-13 18:22:18.000000000 +0100
@@ -725,6 +725,18 @@
in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks)
Default: 100
@ -22,7 +22,7 @@ diff -aurN linux-4.14.105/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.
udp_l3mdev_accept - BOOLEAN
diff -aurN linux-4.14.105/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.94/drivers/infiniband/hw/cxgb4/cm.c
--- linux-4.14.105/drivers/infiniband/hw/cxgb4/cm.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/drivers/infiniband/hw/cxgb4/cm.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/drivers/infiniband/hw/cxgb4/cm.c 2019-03-13 18:22:18.000000000 +0100
@@ -3752,7 +3752,7 @@
*/
memset(&tmp_opt, 0, sizeof(tmp_opt));
@ -34,7 +34,7 @@ diff -aurN linux-4.14.105/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.94/dri
memset(req, 0, sizeof(*req));
diff -aurN linux-4.14.105/include/linux/skbuff.h mptcp-mptcp_v0.94/include/linux/skbuff.h
--- linux-4.14.105/include/linux/skbuff.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/linux/skbuff.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/linux/skbuff.h 2019-03-13 18:22:18.000000000 +0100
@@ -690,7 +690,7 @@
* want to keep them across layers you have to do a skb_clone()
* first. This is owned by whoever has the skb queued ATM.
@ -46,7 +46,7 @@ diff -aurN linux-4.14.105/include/linux/skbuff.h mptcp-mptcp_v0.94/include/linux
void (*destructor)(struct sk_buff *skb);
diff -aurN linux-4.14.105/include/linux/tcp.h mptcp-mptcp_v0.94/include/linux/tcp.h
--- linux-4.14.105/include/linux/tcp.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/linux/tcp.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/linux/tcp.h 2019-03-13 18:22:18.000000000 +0100
@@ -58,7 +58,7 @@
/* TCP Fast Open */
#define TCP_FASTOPEN_COOKIE_MIN 4 /* Min Fast Open Cookie size in bytes */
@ -205,7 +205,7 @@ diff -aurN linux-4.14.105/include/linux/tcp.h mptcp-mptcp_v0.94/include/linux/tc
static inline struct tcp_timewait_sock *tcp_twsk(const struct sock *sk)
diff -aurN linux-4.14.105/include/net/inet_common.h mptcp-mptcp_v0.94/include/net/inet_common.h
--- linux-4.14.105/include/net/inet_common.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/inet_common.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/inet_common.h 2019-03-13 18:22:18.000000000 +0100
@@ -2,6 +2,8 @@
#ifndef _INET_COMMON_H
#define _INET_COMMON_H
@ -226,7 +226,7 @@ diff -aurN linux-4.14.105/include/net/inet_common.h mptcp-mptcp_v0.94/include/ne
int addr_len, int flags);
diff -aurN linux-4.14.105/include/net/inet_connection_sock.h mptcp-mptcp_v0.94/include/net/inet_connection_sock.h
--- linux-4.14.105/include/net/inet_connection_sock.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/inet_connection_sock.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/inet_connection_sock.h 2019-03-13 18:22:18.000000000 +0100
@@ -30,6 +30,7 @@
struct inet_bind_bucket;
@ -237,7 +237,7 @@ diff -aurN linux-4.14.105/include/net/inet_connection_sock.h mptcp-mptcp_v0.94/i
* Pointers to address related TCP functions
diff -aurN linux-4.14.105/include/net/inet_sock.h mptcp-mptcp_v0.94/include/net/inet_sock.h
--- linux-4.14.105/include/net/inet_sock.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/inet_sock.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/inet_sock.h 2019-03-13 18:22:18.000000000 +0100
@@ -90,7 +90,9 @@
wscale_ok : 1,
ecn_ok : 1,
@ -251,8 +251,8 @@ diff -aurN linux-4.14.105/include/net/inet_sock.h mptcp-mptcp_v0.94/include/net/
struct ip_options_rcu __rcu *ireq_opt;
diff -aurN linux-4.14.105/include/net/mptcp.h mptcp-mptcp_v0.94/include/net/mptcp.h
--- linux-4.14.105/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp.h 2019-03-12 01:27:21.000000000 +0100
@@ -0,0 +1,1511 @@
+++ mptcp-mptcp_v0.94/include/net/mptcp.h 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,1512 @@
+/*
+ * MPTCP implementation
+ *
@ -1467,6 +1467,7 @@ diff -aurN linux-4.14.105/include/net/mptcp.h mptcp-mptcp_v0.94/include/net/mptc
+
+ mptcp_for_each_sk(tp->mpcb, sk_it) {
+ if ((mptcp_sk_can_send(sk_it) || sk_it->sk_state == TCP_SYN_RECV) &&
+ inet_csk(sk_it)->icsk_retransmits == 0 &&
+ inet_csk(sk_it)->icsk_rto > max_rto)
+ max_rto = inet_csk(sk_it)->icsk_rto;
+ }
@ -1766,7 +1767,7 @@ diff -aurN linux-4.14.105/include/net/mptcp.h mptcp-mptcp_v0.94/include/net/mptc
+#endif /* _MPTCP_H */
diff -aurN linux-4.14.105/include/net/mptcp_v4.h mptcp-mptcp_v0.94/include/net/mptcp_v4.h
--- linux-4.14.105/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp_v4.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp_v4.h 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,68 @@
+/*
+ * MPTCP implementation
@ -1838,7 +1839,7 @@ diff -aurN linux-4.14.105/include/net/mptcp_v4.h mptcp-mptcp_v0.94/include/net/m
+#endif /* MPTCP_V4_H_ */
diff -aurN linux-4.14.105/include/net/mptcp_v6.h mptcp-mptcp_v0.94/include/net/mptcp_v6.h
--- linux-4.14.105/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp_v6.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp_v6.h 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,69 @@
+/*
+ * MPTCP implementation
@ -1911,7 +1912,7 @@ diff -aurN linux-4.14.105/include/net/mptcp_v6.h mptcp-mptcp_v0.94/include/net/m
+#endif /* _MPTCP_V6_H */
diff -aurN linux-4.14.105/include/net/net_namespace.h mptcp-mptcp_v0.94/include/net/net_namespace.h
--- linux-4.14.105/include/net/net_namespace.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/net_namespace.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/net_namespace.h 2019-03-13 18:22:18.000000000 +0100
@@ -18,6 +18,7 @@
#include <net/netns/packet.h>
#include <net/netns/ipv4.h>
@ -1932,7 +1933,7 @@ diff -aurN linux-4.14.105/include/net/net_namespace.h mptcp-mptcp_v0.94/include/
#endif
diff -aurN linux-4.14.105/include/net/netns/mptcp.h mptcp-mptcp_v0.94/include/net/netns/mptcp.h
--- linux-4.14.105/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/netns/mptcp.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/netns/mptcp.h 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,52 @@
+/*
+ * MPTCP implementation - MPTCP namespace
@ -1988,7 +1989,7 @@ diff -aurN linux-4.14.105/include/net/netns/mptcp.h mptcp-mptcp_v0.94/include/ne
+#endif /* __NETNS_MPTCP_H__ */
diff -aurN linux-4.14.105/include/net/snmp.h mptcp-mptcp_v0.94/include/net/snmp.h
--- linux-4.14.105/include/net/snmp.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/snmp.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/snmp.h 2019-03-13 18:22:18.000000000 +0100
@@ -91,7 +91,6 @@
atomic_long_t mibs[ICMP6MSG_MIB_MAX];
};
@ -1999,7 +2000,7 @@ diff -aurN linux-4.14.105/include/net/snmp.h mptcp-mptcp_v0.94/include/net/snmp.
struct tcp_mib {
diff -aurN linux-4.14.105/include/net/sock.h mptcp-mptcp_v0.94/include/net/sock.h
--- linux-4.14.105/include/net/sock.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/sock.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/sock.h 2019-03-13 18:22:18.000000000 +0100
@@ -775,6 +775,7 @@
SOCK_FILTER_LOCKED, /* Filter cannot be changed anymore */
SOCK_SELECT_ERR_QUEUE, /* Wake select on error queue */
@ -2028,7 +2029,7 @@ diff -aurN linux-4.14.105/include/net/sock.h mptcp-mptcp_v0.94/include/net/sock.
static inline bool sock_owned_by_user(const struct sock *sk)
diff -aurN linux-4.14.105/include/net/tcp.h mptcp-mptcp_v0.94/include/net/tcp.h
--- linux-4.14.105/include/net/tcp.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/tcp.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/tcp.h 2019-03-13 18:22:18.000000000 +0100
@@ -185,6 +185,7 @@
#define TCPOPT_SACK 5 /* SACK Block */
#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */
@ -2381,7 +2382,7 @@ diff -aurN linux-4.14.105/include/net/tcp.h mptcp-mptcp_v0.94/include/net/tcp.h
{
diff -aurN linux-4.14.105/include/net/tcp_states.h mptcp-mptcp_v0.94/include/net/tcp_states.h
--- linux-4.14.105/include/net/tcp_states.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/tcp_states.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/tcp_states.h 2019-03-13 18:22:18.000000000 +0100
@@ -26,6 +26,7 @@
TCP_LISTEN,
TCP_CLOSING, /* Now a valid state */
@ -2400,7 +2401,7 @@ diff -aurN linux-4.14.105/include/net/tcp_states.h mptcp-mptcp_v0.94/include/net
#endif /* _LINUX_TCP_STATES_H */
diff -aurN linux-4.14.105/include/net/transp_v6.h mptcp-mptcp_v0.94/include/net/transp_v6.h
--- linux-4.14.105/include/net/transp_v6.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/transp_v6.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/transp_v6.h 2019-03-13 18:22:18.000000000 +0100
@@ -59,6 +59,8 @@
/* address family specific functions */
@ -2412,7 +2413,7 @@ diff -aurN linux-4.14.105/include/net/transp_v6.h mptcp-mptcp_v0.94/include/net/
diff -aurN linux-4.14.105/include/uapi/linux/if.h mptcp-mptcp_v0.94/include/uapi/linux/if.h
--- linux-4.14.105/include/uapi/linux/if.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/uapi/linux/if.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/uapi/linux/if.h 2019-03-13 18:22:18.000000000 +0100
@@ -132,6 +132,9 @@
#define IFF_ECHO IFF_ECHO
#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
@ -2425,7 +2426,7 @@ diff -aurN linux-4.14.105/include/uapi/linux/if.h mptcp-mptcp_v0.94/include/uapi
diff -aurN linux-4.14.105/include/uapi/linux/tcp.h mptcp-mptcp_v0.94/include/uapi/linux/tcp.h
--- linux-4.14.105/include/uapi/linux/tcp.h 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/include/uapi/linux/tcp.h 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/include/uapi/linux/tcp.h 2019-03-13 18:22:18.000000000 +0100
@@ -18,9 +18,15 @@
#ifndef _UAPI_LINUX_TCP_H
#define _UAPI_LINUX_TCP_H
@ -2512,7 +2513,7 @@ diff -aurN linux-4.14.105/include/uapi/linux/tcp.h mptcp-mptcp_v0.94/include/uap
diff -aurN linux-4.14.105/kernel/rcu/Kconfig.debug mptcp-mptcp_v0.94/kernel/rcu/Kconfig.debug
--- linux-4.14.105/kernel/rcu/Kconfig.debug 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/kernel/rcu/Kconfig.debug 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/kernel/rcu/Kconfig.debug 2019-03-13 18:22:18.000000000 +0100
@@ -4,9 +4,6 @@
menu "RCU Debugging"
@ -2525,7 +2526,7 @@ diff -aurN linux-4.14.105/kernel/rcu/Kconfig.debug mptcp-mptcp_v0.94/kernel/rcu/
default n
diff -aurN linux-4.14.105/net/core/dev.c mptcp-mptcp_v0.94/net/core/dev.c
--- linux-4.14.105/net/core/dev.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/core/dev.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/core/dev.c 2019-03-13 18:22:18.000000000 +0100
@@ -6766,7 +6766,7 @@
dev->flags = (flags & (IFF_DEBUG | IFF_NOTRAILERS | IFF_NOARP |
@ -2537,7 +2538,7 @@ diff -aurN linux-4.14.105/net/core/dev.c mptcp-mptcp_v0.94/net/core/dev.c
diff -aurN linux-4.14.105/net/core/skbuff.c mptcp-mptcp_v0.94/net/core/skbuff.c
--- linux-4.14.105/net/core/skbuff.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/core/skbuff.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/core/skbuff.c 2019-03-13 18:22:18.000000000 +0100
@@ -536,7 +536,7 @@
skb_drop_list(&skb_shinfo(skb)->frag_list);
}
@ -2558,7 +2559,7 @@ diff -aurN linux-4.14.105/net/core/skbuff.c mptcp-mptcp_v0.94/net/core/skbuff.c
diff -aurN linux-4.14.105/net/core/sock.c mptcp-mptcp_v0.94/net/core/sock.c
--- linux-4.14.105/net/core/sock.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/core/sock.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/core/sock.c 2019-03-13 18:22:18.000000000 +0100
@@ -139,6 +139,11 @@
#include <trace/events/sock.h>
@ -2620,7 +2621,7 @@ diff -aurN linux-4.14.105/net/core/sock.c mptcp-mptcp_v0.94/net/core/sock.c
diff -aurN linux-4.14.105/net/ipv4/af_inet.c mptcp-mptcp_v0.94/net/ipv4/af_inet.c
--- linux-4.14.105/net/ipv4/af_inet.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/af_inet.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/af_inet.c 2019-03-13 18:22:18.000000000 +0100
@@ -104,6 +104,7 @@
#include <net/ip_fib.h>
#include <net/inet_connection_sock.h>
@ -2685,7 +2686,7 @@ diff -aurN linux-4.14.105/net/ipv4/af_inet.c mptcp-mptcp_v0.94/net/ipv4/af_inet.
diff -aurN linux-4.14.105/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.94/net/ipv4/inet_connection_sock.c
--- linux-4.14.105/net/ipv4/inet_connection_sock.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/inet_connection_sock.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/inet_connection_sock.c 2019-03-13 18:22:18.000000000 +0100
@@ -23,6 +23,7 @@
#include <net/route.h>
#include <net/tcp_states.h>
@ -2741,7 +2742,7 @@ diff -aurN linux-4.14.105/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.94/net/
cond_resched();
diff -aurN linux-4.14.105/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.94/net/ipv4/ip_sockglue.c
--- linux-4.14.105/net/ipv4/ip_sockglue.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/ip_sockglue.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/ip_sockglue.c 2019-03-13 18:22:18.000000000 +0100
@@ -44,6 +44,8 @@
#endif
#include <net/ip_fib.h>
@ -2771,7 +2772,7 @@ diff -aurN linux-4.14.105/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.94/net/ipv4/ip_s
case IP_TTL:
diff -aurN linux-4.14.105/net/ipv4/Kconfig mptcp-mptcp_v0.94/net/ipv4/Kconfig
--- linux-4.14.105/net/ipv4/Kconfig 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/Kconfig 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/Kconfig 2019-03-13 18:22:18.000000000 +0100
@@ -675,6 +675,38 @@
bufferbloat, policers, or AQM schemes that do not provide a delay
signal. It requires the fq ("Fair Queue") pacing packet scheduler.
@ -2843,7 +2844,7 @@ diff -aurN linux-4.14.105/net/ipv4/Kconfig mptcp-mptcp_v0.94/net/ipv4/Kconfig
default "cdg" if DEFAULT_CDG
diff -aurN linux-4.14.105/net/ipv4/syncookies.c mptcp-mptcp_v0.94/net/ipv4/syncookies.c
--- linux-4.14.105/net/ipv4/syncookies.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/syncookies.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/syncookies.c 2019-03-13 18:22:18.000000000 +0100
@@ -16,6 +16,8 @@
#include <linux/siphash.h>
#include <linux/kernel.h>
@ -2958,7 +2959,7 @@ diff -aurN linux-4.14.105/net/ipv4/syncookies.c mptcp-mptcp_v0.94/net/ipv4/synco
ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), &rt->dst);
diff -aurN linux-4.14.105/net/ipv4/tcp.c mptcp-mptcp_v0.94/net/ipv4/tcp.c
--- linux-4.14.105/net/ipv4/tcp.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp.c 2019-03-13 18:22:18.000000000 +0100
@@ -273,6 +273,7 @@
#include <net/icmp.h>
@ -3655,7 +3656,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp.c mptcp-mptcp_v0.94/net/ipv4/tcp.c
EXPORT_SYMBOL_GPL(tcp_abort);
diff -aurN linux-4.14.105/net/ipv4/tcp_diag.c mptcp-mptcp_v0.94/net/ipv4/tcp_diag.c
--- linux-4.14.105/net/ipv4/tcp_diag.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_diag.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_diag.c 2019-03-13 18:22:18.000000000 +0100
@@ -34,7 +34,7 @@
r->idiag_wqueue = tp->write_seq - tp->snd_una;
}
@ -3667,7 +3668,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_diag.c mptcp-mptcp_v0.94/net/ipv4/tcp_dia
#ifdef CONFIG_TCP_MD5SIG
diff -aurN linux-4.14.105/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.94/net/ipv4/tcp_fastopen.c
--- linux-4.14.105/net/ipv4/tcp_fastopen.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_fastopen.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_fastopen.c 2019-03-13 18:22:18.000000000 +0100
@@ -9,6 +9,7 @@
#include <linux/rculist.h>
#include <net/inetpeer.h>
@ -3728,7 +3729,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.94/net/ipv4/tcp
*/
diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_input.c
--- linux-4.14.105/net/ipv4/tcp_input.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_input.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_input.c 2019-03-13 18:22:18.000000000 +0100
@@ -76,6 +76,9 @@
#include <linux/ipsec.h>
#include <asm/unaligned.h>
@ -4429,7 +4430,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
if (req) {
/* Re-arm the timer because data may have been sent out.
@@ -6030,6 +6181,19 @@
@@ -6030,6 +6181,30 @@
tcp_initialize_rcv_mss(sk);
tcp_fast_path_on(tp);
@ -4441,15 +4442,26 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
+ if (is_master_tp(tp)) {
+ mptcp_update_metasocket(mptcp_meta_sk(sk));
+ } else {
+ struct sock *meta_sk = mptcp_meta_sk(sk);
+
+ tcp_send_ack(sk);
+
+ /* Update RTO as it might be worse/better */
+ mptcp_set_rto(sk);
+
+ /* If the new RTO would fire earlier, pull it in! */
+ if (tcp_sk(meta_sk)->packets_out &&
+ icsk->icsk_timeout > inet_csk(meta_sk)->icsk_rto + jiffies) {
+ tcp_rearm_rto(meta_sk);
+ }
+
+ mptcp_push_pending_frames(mptcp_meta_sk(sk));
+ }
+ }
break;
case TCP_FIN_WAIT1: {
@@ -6077,7 +6241,8 @@
@@ -6077,7 +6252,8 @@
tmo = tcp_fin_time(sk);
if (tmo > TCP_TIMEWAIT_LEN) {
inet_csk_reset_keepalive_timer(sk, tmo - TCP_TIMEWAIT_LEN);
@ -4459,7 +4471,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
/* Bad case. We could lose such FIN otherwise.
* It is not a big problem, but it looks confusing
* and not so rare event. We still can lose it now,
@@ -6086,7 +6251,7 @@
@@ -6086,7 +6262,7 @@
*/
inet_csk_reset_keepalive_timer(sk, tmo);
} else {
@ -4468,7 +4480,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
goto discard;
}
break;
@@ -6094,7 +6259,7 @@
@@ -6094,7 +6270,7 @@
case TCP_CLOSING:
if (tp->snd_una == tp->write_seq) {
@ -4477,7 +4489,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
goto discard;
}
break;
@@ -6106,6 +6271,9 @@
@@ -6106,6 +6282,9 @@
goto discard;
}
break;
@ -4487,7 +4499,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
}
/* step 6: check the URG bit */
@@ -6126,7 +6294,8 @@
@@ -6126,7 +6305,8 @@
*/
if (sk->sk_shutdown & RCV_SHUTDOWN) {
if (TCP_SKB_CB(skb)->end_seq != TCP_SKB_CB(skb)->seq &&
@ -4497,7 +4509,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPABORTONDATA);
tcp_reset(sk);
return 1;
@@ -6223,6 +6392,8 @@
@@ -6223,6 +6403,8 @@
ireq->wscale_ok = rx_opt->wscale_ok;
ireq->acked = 0;
ireq->ecn_ok = 0;
@ -4506,7 +4518,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
ireq->ir_rmt_port = tcp_hdr(skb)->source;
ireq->ir_num = ntohs(tcp_hdr(skb)->dest);
ireq->ir_mark = inet_request_mark(sk, skb);
@@ -6317,12 +6488,17 @@
@@ -6317,12 +6499,17 @@
/* TW buckets are converted to open requests without
* limitations, they conserve resources and peer is
* evidently real one.
@ -4525,7 +4537,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
}
if (sk_acceptq_is_full(sk)) {
@@ -6340,8 +6516,8 @@
@@ -6340,8 +6527,8 @@
tcp_clear_options(&tmp_opt);
tmp_opt.mss_clamp = af_ops->mss_clamp;
tmp_opt.user_mss = tp->rx_opt.user_mss;
@ -4536,7 +4548,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
if (want_cookie && !tmp_opt.saw_tstamp)
tcp_clear_options(&tmp_opt);
@@ -6353,7 +6529,8 @@
@@ -6353,7 +6540,8 @@
/* Note: tcp_v6_init_req() might override ir_iif for link locals */
inet_rsk(req)->ir_iif = inet_request_bound_dev_if(sk, skb);
@ -4546,7 +4558,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
if (security_inet_conn_request(sk, skb, req))
goto drop_and_free;
@@ -6389,7 +6566,7 @@
@@ -6389,7 +6577,7 @@
tcp_ecn_create_request(req, skb, sk, dst);
if (want_cookie) {
@ -4555,7 +4567,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
req->cookie_ts = tmp_opt.tstamp_ok;
if (!tmp_opt.tstamp_ok)
inet_rsk(req)->ecn_ok = 0;
@@ -6403,12 +6580,18 @@
@@ -6403,12 +6591,18 @@
fastopen_sk = tcp_try_fastopen(sk, skb, req, &foc);
}
if (fastopen_sk) {
@ -4577,7 +4589,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
tcp_rsk(req)->tfo_listener = false;
diff -aurN linux-4.14.105/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.94/net/ipv4/tcp_ipv4.c
--- linux-4.14.105/net/ipv4/tcp_ipv4.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_ipv4.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_ipv4.c 2019-03-13 18:22:18.000000000 +0100
@@ -67,6 +67,8 @@
#include <net/icmp.h>
#include <net/inet_hashtables.h>
@ -5067,7 +5079,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.94/net/ipv4/tcp_ipv
diff -aurN linux-4.14.105/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.94/net/ipv4/tcp_minisocks.c
--- linux-4.14.105/net/ipv4/tcp_minisocks.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_minisocks.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_minisocks.c 2019-03-13 18:22:18.000000000 +0100
@@ -18,11 +18,13 @@
* Jorge Cwik, <jorge@laser.satlink.net>
*/
@ -5280,7 +5292,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.94/net/ipv4/tc
}
diff -aurN linux-4.14.105/net/ipv4/tcp_output.c mptcp-mptcp_v0.94/net/ipv4/tcp_output.c
--- linux-4.14.105/net/ipv4/tcp_output.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_output.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_output.c 2019-03-13 18:22:18.000000000 +0100
@@ -36,6 +36,12 @@
#define pr_fmt(fmt) "TCP: " fmt
@ -5907,7 +5919,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_output.c mptcp-mptcp_v0.94/net/ipv4/tcp_o
/* Cancel probe timer, if it is not required. */
diff -aurN linux-4.14.105/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_timer.c
--- linux-4.14.105/net/ipv4/tcp_timer.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_timer.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_timer.c 2019-03-13 18:22:18.000000000 +0100
@@ -20,6 +20,7 @@
#include <linux/module.h>
@ -6107,7 +6119,7 @@ diff -aurN linux-4.14.105/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
diff -aurN linux-4.14.105/net/ipv6/addrconf.c mptcp-mptcp_v0.94/net/ipv6/addrconf.c
--- linux-4.14.105/net/ipv6/addrconf.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/addrconf.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/addrconf.c 2019-03-13 18:22:18.000000000 +0100
@@ -928,6 +928,7 @@
kfree_rcu(ifp, rcu);
@ -6118,7 +6130,7 @@ diff -aurN linux-4.14.105/net/ipv6/addrconf.c mptcp-mptcp_v0.94/net/ipv6/addrcon
ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp)
diff -aurN linux-4.14.105/net/ipv6/af_inet6.c mptcp-mptcp_v0.94/net/ipv6/af_inet6.c
--- linux-4.14.105/net/ipv6/af_inet6.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/af_inet6.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/af_inet6.c 2019-03-13 18:22:18.000000000 +0100
@@ -107,8 +107,7 @@
return (struct ipv6_pinfo *)(((u8 *)sk) + offset);
}
@ -6131,7 +6143,7 @@ diff -aurN linux-4.14.105/net/ipv6/af_inet6.c mptcp-mptcp_v0.94/net/ipv6/af_inet
struct ipv6_pinfo *np;
diff -aurN linux-4.14.105/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.94/net/ipv6/ipv6_sockglue.c
--- linux-4.14.105/net/ipv6/ipv6_sockglue.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/ipv6_sockglue.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/ipv6_sockglue.c 2019-03-13 18:22:18.000000000 +0100
@@ -48,6 +48,8 @@
#include <net/addrconf.h>
#include <net/inet_common.h>
@ -6157,7 +6169,7 @@ diff -aurN linux-4.14.105/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.94/net/ipv6/ip
tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);
diff -aurN linux-4.14.105/net/ipv6/syncookies.c mptcp-mptcp_v0.94/net/ipv6/syncookies.c
--- linux-4.14.105/net/ipv6/syncookies.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/syncookies.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/syncookies.c 2019-03-13 18:22:18.000000000 +0100
@@ -20,6 +20,8 @@
#include <linux/kernel.h>
#include <net/secure_seq.h>
@ -6241,7 +6253,7 @@ diff -aurN linux-4.14.105/net/ipv6/syncookies.c mptcp-mptcp_v0.94/net/ipv6/synco
ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), dst);
diff -aurN linux-4.14.105/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.94/net/ipv6/tcp_ipv6.c
--- linux-4.14.105/net/ipv6/tcp_ipv6.c 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/tcp_ipv6.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/ipv6/tcp_ipv6.c 2019-03-13 18:22:18.000000000 +0100
@@ -61,6 +61,8 @@
#include <net/timewait_sock.h>
#include <net/inet_common.h>
@ -6865,7 +6877,7 @@ diff -aurN linux-4.14.105/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.94/net/ipv6/tcp_ipv
/* thinking of making this const? Don't.
diff -aurN linux-4.14.105/net/Kconfig mptcp-mptcp_v0.94/net/Kconfig
--- linux-4.14.105/net/Kconfig 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/Kconfig 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/Kconfig 2019-03-13 18:22:18.000000000 +0100
@@ -88,6 +88,7 @@
source "net/ipv4/Kconfig"
source "net/ipv6/Kconfig"
@ -6876,7 +6888,7 @@ diff -aurN linux-4.14.105/net/Kconfig mptcp-mptcp_v0.94/net/Kconfig
diff -aurN linux-4.14.105/net/Makefile mptcp-mptcp_v0.94/net/Makefile
--- linux-4.14.105/net/Makefile 2019-03-05 17:58:03.000000000 +0100
+++ mptcp-mptcp_v0.94/net/Makefile 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/Makefile 2019-03-13 18:22:18.000000000 +0100
@@ -20,6 +20,7 @@
obj-$(CONFIG_XFRM) += xfrm/
obj-$(CONFIG_UNIX) += unix/
@ -6887,7 +6899,7 @@ diff -aurN linux-4.14.105/net/Makefile mptcp-mptcp_v0.94/net/Makefile
obj-$(CONFIG_BRIDGE) += bridge/
diff -aurN linux-4.14.105/net/mptcp/Kconfig mptcp-mptcp_v0.94/net/mptcp/Kconfig
--- linux-4.14.105/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/Kconfig 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/Kconfig 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,129 @@
+#
+# MPTCP configuration
@ -7020,7 +7032,7 @@ diff -aurN linux-4.14.105/net/mptcp/Kconfig mptcp-mptcp_v0.94/net/mptcp/Kconfig
+
diff -aurN linux-4.14.105/net/mptcp/Makefile mptcp-mptcp_v0.94/net/mptcp/Makefile
--- linux-4.14.105/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/Makefile 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/Makefile 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,22 @@
+#
+## Makefile for MultiPath TCP support code.
@ -7046,7 +7058,7 @@ diff -aurN linux-4.14.105/net/mptcp/Makefile mptcp-mptcp_v0.94/net/mptcp/Makefil
+
diff -aurN linux-4.14.105/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.94/net/mptcp/mptcp_balia.c
--- linux-4.14.105/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_balia.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_balia.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,268 @@
+/*
+ * MPTCP implementation - Balia Congestion Control
@ -7318,7 +7330,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.94/net/mptcp/mp
+MODULE_VERSION("0.1");
diff -aurN linux-4.14.105/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.94/net/mptcp/mptcp_binder.c
--- linux-4.14.105/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_binder.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_binder.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,486 @@
+#include <linux/module.h>
+
@ -7808,7 +7820,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.94/net/mptcp/m
+MODULE_VERSION("0.1");
diff -aurN linux-4.14.105/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.94/net/mptcp/mptcp_coupled.c
--- linux-4.14.105/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_coupled.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_coupled.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,271 @@
+/*
+ * MPTCP implementation - Linked Increase congestion control Algorithm (LIA)
@ -8083,7 +8095,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.94/net/mptcp/
+MODULE_VERSION("0.1");
diff -aurN linux-4.14.105/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c
--- linux-4.14.105/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,2968 @@
+/*
+ * MPTCP implementation - MPTCP-control
@ -11024,7 +11036,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mpt
+ if (mptcp_register_scheduler(&mptcp_sched_default))
+ goto register_sched_failed;
+
+ pr_info("MPTCP: Stable release v0.94.2");
+ pr_info("MPTCP: Stable release v0.94.3");
+
+ mptcp_init_failed = false;
+
@ -11055,7 +11067,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mpt
+}
diff -aurN linux-4.14.105/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.94/net/mptcp/mptcp_fullmesh.c
--- linux-4.14.105/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_fullmesh.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_fullmesh.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,2013 @@
+#include <linux/module.h>
+#include <linux/proc_fs.h>
@ -13072,7 +13084,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.94/net/mptcp
+MODULE_VERSION("0.88");
diff -aurN linux-4.14.105/net/mptcp/mptcp_input.c mptcp-mptcp_v0.94/net/mptcp/mptcp_input.c
--- linux-4.14.105/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_input.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_input.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,2475 @@
+/*
+ * MPTCP implementation - Sending side
@ -15551,7 +15563,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_input.c mptcp-mptcp_v0.94/net/mptcp/mp
+}
diff -aurN linux-4.14.105/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv4.c
--- linux-4.14.105/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv4.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv4.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,436 @@
+/*
+ * MPTCP implementation - IPv4-specific functions
@ -15991,7 +16003,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.94/net/mptcp/mpt
+}
diff -aurN linux-4.14.105/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv6.c
--- linux-4.14.105/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv6.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv6.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,465 @@
+/*
+ * MPTCP implementation - IPv6-specific functions
@ -16460,7 +16472,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.94/net/mptcp/mpt
+}
diff -aurN linux-4.14.105/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ndiffports.c
--- linux-4.14.105/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ndiffports.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ndiffports.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,169 @@
+#include <linux/module.h>
+
@ -16633,7 +16645,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.94/net/mpt
+MODULE_VERSION("0.88");
diff -aurN linux-4.14.105/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.94/net/mptcp/mptcp_olia.c
--- linux-4.14.105/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_olia.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_olia.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,310 @@
+/*
+ * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL:
@ -16947,8 +16959,8 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.94/net/mptcp/mpt
+MODULE_VERSION("0.1");
diff -aurN linux-4.14.105/net/mptcp/mptcp_output.c mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c
--- linux-4.14.105/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c 2019-03-12 01:27:21.000000000 +0100
@@ -0,0 +1,1816 @@
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,1824 @@
+/*
+ * MPTCP implementation - Sending side
+ *
@ -17624,6 +17636,14 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_output.c mptcp-mptcp_v0.94/net/mptcp/m
+
+ tcp_mstamp_refresh(meta_tp);
+
+ if (inet_csk(meta_sk)->icsk_retransmits) {
+ /* If the timer already once fired, retransmit the head of the
+ * queue to unblock us ASAP.
+ */
+ if (meta_tp->packets_out && !mpcb->infinite_mapping_snd)
+ mptcp_retransmit_skb(meta_sk, tcp_write_queue_head(meta_sk));
+ }
+
+ while ((skb = mpcb->sched_ops->next_segment(meta_sk, &reinject, &subsk,
+ &sublimit))) {
+ unsigned int limit;
@ -18767,7 +18787,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_output.c mptcp-mptcp_v0.94/net/mptcp/m
+
diff -aurN linux-4.14.105/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.94/net/mptcp/mptcp_pm.c
--- linux-4.14.105/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_pm.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_pm.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,226 @@
+/*
+ * MPTCP implementation - MPTCP-subflow-management
@ -18997,7 +19017,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.94/net/mptcp/mptcp
+late_initcall(mptcp_path_manager_default);
diff -aurN linux-4.14.105/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.94/net/mptcp/mptcp_redundant.c
--- linux-4.14.105/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_redundant.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_redundant.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,301 @@
+/*
+ * MPTCP Scheduler to reduce latency and jitter.
@ -19302,7 +19322,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.94/net/mptc
+MODULE_VERSION("0.90");
diff -aurN linux-4.14.105/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.94/net/mptcp/mptcp_rr.c
--- linux-4.14.105/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_rr.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_rr.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,301 @@
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
+
@ -19607,7 +19627,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.94/net/mptcp/mptcp
+MODULE_VERSION("0.89");
diff -aurN linux-4.14.105/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.94/net/mptcp/mptcp_sched.c
--- linux-4.14.105/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_sched.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_sched.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,634 @@
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
+
@ -20245,7 +20265,7 @@ diff -aurN linux-4.14.105/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.94/net/mptcp/mp
+late_initcall(mptcp_scheduler_default);
diff -aurN linux-4.14.105/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.94/net/mptcp/mptcp_wvegas.c
--- linux-4.14.105/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_wvegas.c 2019-03-12 01:27:21.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_wvegas.c 2019-03-13 18:22:18.000000000 +0100
@@ -0,0 +1,270 @@
+/*
+ * MPTCP implementation - WEIGHTED VEGAS

File diff suppressed because it is too large Load diff