1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-14 20:31:54 +00:00

Update MPTCP to latest patches

This commit is contained in:
Ycarus 2019-05-29 21:47:20 +02:00
parent e24c553fc8
commit d5a0aade8c
2 changed files with 343 additions and 298 deletions

View file

@ -1,6 +1,6 @@
diff -aurN linux-4.14.121/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.94/Documentation/networking/ip-sysctl.txt
--- linux-4.14.121/Documentation/networking/ip-sysctl.txt 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/Documentation/networking/ip-sysctl.txt 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.94/Documentation/networking/ip-sysctl.txt
--- linux-4.14.122/Documentation/networking/ip-sysctl.txt 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/Documentation/networking/ip-sysctl.txt 2019-05-29 18:30:04.000000000 +0200
@@ -726,6 +726,18 @@
in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks)
Default: 100
@ -20,9 +20,9 @@ diff -aurN linux-4.14.121/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.
UDP variables:
udp_l3mdev_accept - BOOLEAN
diff -aurN linux-4.14.121/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.94/drivers/infiniband/hw/cxgb4/cm.c
--- linux-4.14.121/drivers/infiniband/hw/cxgb4/cm.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/drivers/infiniband/hw/cxgb4/cm.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.94/drivers/infiniband/hw/cxgb4/cm.c
--- linux-4.14.122/drivers/infiniband/hw/cxgb4/cm.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/drivers/infiniband/hw/cxgb4/cm.c 2019-05-29 18:30:04.000000000 +0200
@@ -3753,7 +3753,7 @@
*/
memset(&tmp_opt, 0, sizeof(tmp_opt));
@ -32,9 +32,9 @@ diff -aurN linux-4.14.121/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.94/dri
req = __skb_push(skb, sizeof(*req));
memset(req, 0, sizeof(*req));
diff -aurN linux-4.14.121/include/linux/skbuff.h mptcp-mptcp_v0.94/include/linux/skbuff.h
--- linux-4.14.121/include/linux/skbuff.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/linux/skbuff.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/linux/skbuff.h mptcp-mptcp_v0.94/include/linux/skbuff.h
--- linux-4.14.122/include/linux/skbuff.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/linux/skbuff.h 2019-05-29 18:30:04.000000000 +0200
@@ -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.
@ -44,9 +44,9 @@ diff -aurN linux-4.14.121/include/linux/skbuff.h mptcp-mptcp_v0.94/include/linux
unsigned long _skb_refdst;
void (*destructor)(struct sk_buff *skb);
diff -aurN linux-4.14.121/include/linux/tcp.h mptcp-mptcp_v0.94/include/linux/tcp.h
--- linux-4.14.121/include/linux/tcp.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/linux/tcp.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/linux/tcp.h mptcp-mptcp_v0.94/include/linux/tcp.h
--- linux-4.14.122/include/linux/tcp.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/linux/tcp.h 2019-05-29 18:30:04.000000000 +0200
@@ -58,7 +58,7 @@
/* TCP Fast Open */
#define TCP_FASTOPEN_COOKIE_MIN 4 /* Min Fast Open Cookie size in bytes */
@ -203,9 +203,9 @@ diff -aurN linux-4.14.121/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.121/include/net/inet_common.h mptcp-mptcp_v0.94/include/net/inet_common.h
--- linux-4.14.121/include/net/inet_common.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/inet_common.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/inet_common.h mptcp-mptcp_v0.94/include/net/inet_common.h
--- linux-4.14.122/include/net/inet_common.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/inet_common.h 2019-05-29 18:30:04.000000000 +0200
@@ -2,6 +2,8 @@
#ifndef _INET_COMMON_H
#define _INET_COMMON_H
@ -224,9 +224,9 @@ diff -aurN linux-4.14.121/include/net/inet_common.h mptcp-mptcp_v0.94/include/ne
int inet_release(struct socket *sock);
int inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
int addr_len, int flags);
diff -aurN linux-4.14.121/include/net/inet_connection_sock.h mptcp-mptcp_v0.94/include/net/inet_connection_sock.h
--- linux-4.14.121/include/net/inet_connection_sock.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/inet_connection_sock.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/inet_connection_sock.h mptcp-mptcp_v0.94/include/net/inet_connection_sock.h
--- linux-4.14.122/include/net/inet_connection_sock.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/inet_connection_sock.h 2019-05-29 18:30:04.000000000 +0200
@@ -30,6 +30,7 @@
struct inet_bind_bucket;
@ -235,9 +235,9 @@ diff -aurN linux-4.14.121/include/net/inet_connection_sock.h mptcp-mptcp_v0.94/i
/*
* Pointers to address related TCP functions
diff -aurN linux-4.14.121/include/net/inet_sock.h mptcp-mptcp_v0.94/include/net/inet_sock.h
--- linux-4.14.121/include/net/inet_sock.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/inet_sock.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/inet_sock.h mptcp-mptcp_v0.94/include/net/inet_sock.h
--- linux-4.14.122/include/net/inet_sock.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/inet_sock.h 2019-05-29 18:30:04.000000000 +0200
@@ -90,7 +90,9 @@
wscale_ok : 1,
ecn_ok : 1,
@ -249,9 +249,9 @@ diff -aurN linux-4.14.121/include/net/inet_sock.h mptcp-mptcp_v0.94/include/net/
u32 ir_mark;
union {
struct ip_options_rcu __rcu *ireq_opt;
diff -aurN linux-4.14.121/include/net/mptcp.h mptcp-mptcp_v0.94/include/net/mptcp.h
--- linux-4.14.121/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/mptcp.h mptcp-mptcp_v0.94/include/net/mptcp.h
--- linux-4.14.122/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp.h 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,1521 @@
+/*
+ * MPTCP implementation
@ -1774,9 +1774,9 @@ diff -aurN linux-4.14.121/include/net/mptcp.h mptcp-mptcp_v0.94/include/net/mptc
+#endif /* CONFIG_MPTCP */
+
+#endif /* _MPTCP_H */
diff -aurN linux-4.14.121/include/net/mptcp_v4.h mptcp-mptcp_v0.94/include/net/mptcp_v4.h
--- linux-4.14.121/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp_v4.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/mptcp_v4.h mptcp-mptcp_v0.94/include/net/mptcp_v4.h
--- linux-4.14.122/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp_v4.h 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,68 @@
+/*
+ * MPTCP implementation
@ -1846,9 +1846,9 @@ diff -aurN linux-4.14.121/include/net/mptcp_v4.h mptcp-mptcp_v0.94/include/net/m
+#endif /* CONFIG_MPTCP */
+
+#endif /* MPTCP_V4_H_ */
diff -aurN linux-4.14.121/include/net/mptcp_v6.h mptcp-mptcp_v0.94/include/net/mptcp_v6.h
--- linux-4.14.121/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp_v6.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/mptcp_v6.h mptcp-mptcp_v0.94/include/net/mptcp_v6.h
--- linux-4.14.122/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/mptcp_v6.h 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,69 @@
+/*
+ * MPTCP implementation
@ -1919,9 +1919,9 @@ diff -aurN linux-4.14.121/include/net/mptcp_v6.h mptcp-mptcp_v0.94/include/net/m
+#endif /* CONFIG_MPTCP */
+
+#endif /* _MPTCP_V6_H */
diff -aurN linux-4.14.121/include/net/net_namespace.h mptcp-mptcp_v0.94/include/net/net_namespace.h
--- linux-4.14.121/include/net/net_namespace.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/net_namespace.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/net_namespace.h mptcp-mptcp_v0.94/include/net/net_namespace.h
--- linux-4.14.122/include/net/net_namespace.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/net_namespace.h 2019-05-29 18:30:04.000000000 +0200
@@ -18,6 +18,7 @@
#include <net/netns/packet.h>
#include <net/netns/ipv4.h>
@ -1940,9 +1940,9 @@ diff -aurN linux-4.14.121/include/net/net_namespace.h mptcp-mptcp_v0.94/include/
#if IS_ENABLED(CONFIG_IEEE802154_6LOWPAN)
struct netns_ieee802154_lowpan ieee802154_lowpan;
#endif
diff -aurN linux-4.14.121/include/net/netns/mptcp.h mptcp-mptcp_v0.94/include/net/netns/mptcp.h
--- linux-4.14.121/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/netns/mptcp.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/netns/mptcp.h mptcp-mptcp_v0.94/include/net/netns/mptcp.h
--- linux-4.14.122/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/include/net/netns/mptcp.h 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,52 @@
+/*
+ * MPTCP implementation - MPTCP namespace
@ -1996,9 +1996,9 @@ diff -aurN linux-4.14.121/include/net/netns/mptcp.h mptcp-mptcp_v0.94/include/ne
+};
+
+#endif /* __NETNS_MPTCP_H__ */
diff -aurN linux-4.14.121/include/net/snmp.h mptcp-mptcp_v0.94/include/net/snmp.h
--- linux-4.14.121/include/net/snmp.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/snmp.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/snmp.h mptcp-mptcp_v0.94/include/net/snmp.h
--- linux-4.14.122/include/net/snmp.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/snmp.h 2019-05-29 18:30:04.000000000 +0200
@@ -91,7 +91,6 @@
atomic_long_t mibs[ICMP6MSG_MIB_MAX];
};
@ -2007,9 +2007,9 @@ diff -aurN linux-4.14.121/include/net/snmp.h mptcp-mptcp_v0.94/include/net/snmp.
/* TCP */
#define TCP_MIB_MAX __TCP_MIB_MAX
struct tcp_mib {
diff -aurN linux-4.14.121/include/net/sock.h mptcp-mptcp_v0.94/include/net/sock.h
--- linux-4.14.121/include/net/sock.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/sock.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/sock.h mptcp-mptcp_v0.94/include/net/sock.h
--- linux-4.14.122/include/net/sock.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/sock.h 2019-05-29 18:30:04.000000000 +0200
@@ -781,6 +781,7 @@
SOCK_FILTER_LOCKED, /* Filter cannot be changed anymore */
SOCK_SELECT_ERR_QUEUE, /* Wake select on error queue */
@ -2036,9 +2036,9 @@ diff -aurN linux-4.14.121/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.121/include/net/tcp.h mptcp-mptcp_v0.94/include/net/tcp.h
--- linux-4.14.121/include/net/tcp.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/tcp.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/tcp.h mptcp-mptcp_v0.94/include/net/tcp.h
--- linux-4.14.122/include/net/tcp.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/tcp.h 2019-05-29 18:30:04.000000000 +0200
@@ -185,6 +185,7 @@
#define TCPOPT_SACK 5 /* SACK Block */
#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */
@ -2389,9 +2389,9 @@ diff -aurN linux-4.14.121/include/net/tcp.h mptcp-mptcp_v0.94/include/net/tcp.h
const struct sock *sk, struct sk_buff *skb,
__u16 *mss)
{
diff -aurN linux-4.14.121/include/net/tcp_states.h mptcp-mptcp_v0.94/include/net/tcp_states.h
--- linux-4.14.121/include/net/tcp_states.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/tcp_states.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/tcp_states.h mptcp-mptcp_v0.94/include/net/tcp_states.h
--- linux-4.14.122/include/net/tcp_states.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/tcp_states.h 2019-05-29 18:30:04.000000000 +0200
@@ -26,6 +26,7 @@
TCP_LISTEN,
TCP_CLOSING, /* Now a valid state */
@ -2408,9 +2408,9 @@ diff -aurN linux-4.14.121/include/net/tcp_states.h mptcp-mptcp_v0.94/include/net
};
#endif /* _LINUX_TCP_STATES_H */
diff -aurN linux-4.14.121/include/net/transp_v6.h mptcp-mptcp_v0.94/include/net/transp_v6.h
--- linux-4.14.121/include/net/transp_v6.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/transp_v6.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/net/transp_v6.h mptcp-mptcp_v0.94/include/net/transp_v6.h
--- linux-4.14.122/include/net/transp_v6.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/net/transp_v6.h 2019-05-29 18:30:04.000000000 +0200
@@ -59,6 +59,8 @@
/* address family specific functions */
@ -2420,9 +2420,9 @@ diff -aurN linux-4.14.121/include/net/transp_v6.h mptcp-mptcp_v0.94/include/net/
void inet6_destroy_sock(struct sock *sk);
diff -aurN linux-4.14.121/include/uapi/linux/if.h mptcp-mptcp_v0.94/include/uapi/linux/if.h
--- linux-4.14.121/include/uapi/linux/if.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/uapi/linux/if.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/uapi/linux/if.h mptcp-mptcp_v0.94/include/uapi/linux/if.h
--- linux-4.14.122/include/uapi/linux/if.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/uapi/linux/if.h 2019-05-29 18:30:04.000000000 +0200
@@ -132,6 +132,9 @@
#define IFF_ECHO IFF_ECHO
#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
@ -2433,9 +2433,9 @@ diff -aurN linux-4.14.121/include/uapi/linux/if.h mptcp-mptcp_v0.94/include/uapi
#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\
IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
diff -aurN linux-4.14.121/include/uapi/linux/tcp.h mptcp-mptcp_v0.94/include/uapi/linux/tcp.h
--- linux-4.14.121/include/uapi/linux/tcp.h 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/include/uapi/linux/tcp.h 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/include/uapi/linux/tcp.h mptcp-mptcp_v0.94/include/uapi/linux/tcp.h
--- linux-4.14.122/include/uapi/linux/tcp.h 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/include/uapi/linux/tcp.h 2019-05-29 18:30:04.000000000 +0200
@@ -18,9 +18,15 @@
#ifndef _UAPI_LINUX_TCP_H
#define _UAPI_LINUX_TCP_H
@ -2520,9 +2520,9 @@ diff -aurN linux-4.14.121/include/uapi/linux/tcp.h mptcp-mptcp_v0.94/include/uap
/* for TCP_MD5SIG socket option */
#define TCP_MD5SIG_MAXKEYLEN 80
diff -aurN linux-4.14.121/kernel/rcu/Kconfig.debug mptcp-mptcp_v0.94/kernel/rcu/Kconfig.debug
--- linux-4.14.121/kernel/rcu/Kconfig.debug 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/kernel/rcu/Kconfig.debug 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/kernel/rcu/Kconfig.debug mptcp-mptcp_v0.94/kernel/rcu/Kconfig.debug
--- linux-4.14.122/kernel/rcu/Kconfig.debug 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/kernel/rcu/Kconfig.debug 2019-05-29 18:30:04.000000000 +0200
@@ -4,9 +4,6 @@
menu "RCU Debugging"
@ -2533,9 +2533,9 @@ diff -aurN linux-4.14.121/kernel/rcu/Kconfig.debug mptcp-mptcp_v0.94/kernel/rcu/
config TORTURE_TEST
tristate
default n
diff -aurN linux-4.14.121/net/core/dev.c mptcp-mptcp_v0.94/net/core/dev.c
--- linux-4.14.121/net/core/dev.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/core/dev.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/core/dev.c mptcp-mptcp_v0.94/net/core/dev.c
--- linux-4.14.122/net/core/dev.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/core/dev.c 2019-05-29 18:30:04.000000000 +0200
@@ -6769,7 +6769,7 @@
dev->flags = (flags & (IFF_DEBUG | IFF_NOTRAILERS | IFF_NOARP |
@ -2545,9 +2545,9 @@ diff -aurN linux-4.14.121/net/core/dev.c mptcp-mptcp_v0.94/net/core/dev.c
(dev->flags & (IFF_UP | IFF_VOLATILE | IFF_PROMISC |
IFF_ALLMULTI));
diff -aurN linux-4.14.121/net/core/skbuff.c mptcp-mptcp_v0.94/net/core/skbuff.c
--- linux-4.14.121/net/core/skbuff.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/core/skbuff.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/core/skbuff.c mptcp-mptcp_v0.94/net/core/skbuff.c
--- linux-4.14.122/net/core/skbuff.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/core/skbuff.c 2019-05-29 18:30:04.000000000 +0200
@@ -536,7 +536,7 @@
skb_drop_list(&skb_shinfo(skb)->frag_list);
}
@ -2566,9 +2566,9 @@ diff -aurN linux-4.14.121/net/core/skbuff.c mptcp-mptcp_v0.94/net/core/skbuff.c
{
__copy_skb_header(new, old);
diff -aurN linux-4.14.121/net/core/sock.c mptcp-mptcp_v0.94/net/core/sock.c
--- linux-4.14.121/net/core/sock.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/core/sock.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/core/sock.c mptcp-mptcp_v0.94/net/core/sock.c
--- linux-4.14.122/net/core/sock.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/core/sock.c 2019-05-29 18:30:04.000000000 +0200
@@ -139,6 +139,11 @@
#include <trace/events/sock.h>
@ -2628,9 +2628,9 @@ diff -aurN linux-4.14.121/net/core/sock.c mptcp-mptcp_v0.94/net/core/sock.c
mem_cgroup_sk_alloc(newsk);
cgroup_sk_alloc(&newsk->sk_cgrp_data);
diff -aurN linux-4.14.121/net/ipv4/af_inet.c mptcp-mptcp_v0.94/net/ipv4/af_inet.c
--- linux-4.14.121/net/ipv4/af_inet.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/af_inet.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/af_inet.c mptcp-mptcp_v0.94/net/ipv4/af_inet.c
--- linux-4.14.122/net/ipv4/af_inet.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/af_inet.c 2019-05-29 18:30:04.000000000 +0200
@@ -104,6 +104,7 @@
#include <net/ip_fib.h>
#include <net/inet_connection_sock.h>
@ -2693,9 +2693,9 @@ diff -aurN linux-4.14.121/net/ipv4/af_inet.c mptcp-mptcp_v0.94/net/ipv4/af_inet.
/* Setup TCP slab cache for open requests. */
tcp_init();
diff -aurN linux-4.14.121/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.94/net/ipv4/inet_connection_sock.c
--- linux-4.14.121/net/ipv4/inet_connection_sock.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/inet_connection_sock.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.94/net/ipv4/inet_connection_sock.c
--- linux-4.14.122/net/ipv4/inet_connection_sock.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/inet_connection_sock.c 2019-05-29 18:30:04.000000000 +0200
@@ -23,6 +23,7 @@
#include <net/route.h>
#include <net/tcp_states.h>
@ -2753,9 +2753,9 @@ diff -aurN linux-4.14.121/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.94/net/
sock_put(child);
cond_resched();
diff -aurN linux-4.14.121/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.94/net/ipv4/ip_sockglue.c
--- linux-4.14.121/net/ipv4/ip_sockglue.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/ip_sockglue.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.94/net/ipv4/ip_sockglue.c
--- linux-4.14.122/net/ipv4/ip_sockglue.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/ip_sockglue.c 2019-05-29 18:30:04.000000000 +0200
@@ -44,6 +44,8 @@
#endif
#include <net/ip_fib.h>
@ -2792,9 +2792,9 @@ diff -aurN linux-4.14.121/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.94/net/ipv4/ip_s
}
break;
case IP_TTL:
diff -aurN linux-4.14.121/net/ipv4/Kconfig mptcp-mptcp_v0.94/net/ipv4/Kconfig
--- linux-4.14.121/net/ipv4/Kconfig 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/Kconfig 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/Kconfig mptcp-mptcp_v0.94/net/ipv4/Kconfig
--- linux-4.14.122/net/ipv4/Kconfig 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/Kconfig 2019-05-29 18:30:04.000000000 +0200
@@ -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.
@ -2864,9 +2864,9 @@ diff -aurN linux-4.14.121/net/ipv4/Kconfig mptcp-mptcp_v0.94/net/ipv4/Kconfig
default "reno" if DEFAULT_RENO
default "dctcp" if DEFAULT_DCTCP
default "cdg" if DEFAULT_CDG
diff -aurN linux-4.14.121/net/ipv4/syncookies.c mptcp-mptcp_v0.94/net/ipv4/syncookies.c
--- linux-4.14.121/net/ipv4/syncookies.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/syncookies.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/syncookies.c mptcp-mptcp_v0.94/net/ipv4/syncookies.c
--- linux-4.14.122/net/ipv4/syncookies.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/syncookies.c 2019-05-29 18:30:04.000000000 +0200
@@ -16,6 +16,8 @@
#include <linux/siphash.h>
#include <linux/kernel.h>
@ -2979,9 +2979,9 @@ diff -aurN linux-4.14.121/net/ipv4/syncookies.c mptcp-mptcp_v0.94/net/ipv4/synco
ireq->rcv_wscale = rcv_wscale;
ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), &rt->dst);
diff -aurN linux-4.14.121/net/ipv4/tcp.c mptcp-mptcp_v0.94/net/ipv4/tcp.c
--- linux-4.14.121/net/ipv4/tcp.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/tcp.c mptcp-mptcp_v0.94/net/ipv4/tcp.c
--- linux-4.14.122/net/ipv4/tcp.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp.c 2019-05-29 18:30:04.000000000 +0200
@@ -273,6 +273,7 @@
#include <net/icmp.h>
@ -3688,9 +3688,9 @@ diff -aurN linux-4.14.121/net/ipv4/tcp.c mptcp-mptcp_v0.94/net/ipv4/tcp.c
return 0;
}
EXPORT_SYMBOL_GPL(tcp_abort);
diff -aurN linux-4.14.121/net/ipv4/tcp_diag.c mptcp-mptcp_v0.94/net/ipv4/tcp_diag.c
--- linux-4.14.121/net/ipv4/tcp_diag.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_diag.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/tcp_diag.c mptcp-mptcp_v0.94/net/ipv4/tcp_diag.c
--- linux-4.14.122/net/ipv4/tcp_diag.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_diag.c 2019-05-29 18:30:04.000000000 +0200
@@ -34,7 +34,7 @@
r->idiag_wqueue = tp->write_seq - tp->snd_una;
}
@ -3700,9 +3700,9 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_diag.c mptcp-mptcp_v0.94/net/ipv4/tcp_dia
}
#ifdef CONFIG_TCP_MD5SIG
diff -aurN linux-4.14.121/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.94/net/ipv4/tcp_fastopen.c
--- linux-4.14.121/net/ipv4/tcp_fastopen.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_fastopen.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.94/net/ipv4/tcp_fastopen.c
--- linux-4.14.122/net/ipv4/tcp_fastopen.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_fastopen.c 2019-05-29 18:30:04.000000000 +0200
@@ -9,6 +9,7 @@
#include <linux/rculist.h>
#include <net/inetpeer.h>
@ -3761,9 +3761,9 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.94/net/ipv4/tcp
/* tcp_conn_request() is sending the SYNACK,
* and queues the child into listener accept queue.
*/
diff -aurN linux-4.14.121/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_input.c
--- linux-4.14.121/net/ipv4/tcp_input.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_input.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_input.c
--- linux-4.14.122/net/ipv4/tcp_input.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_input.c 2019-05-29 18:30:04.000000000 +0200
@@ -76,6 +76,9 @@
#include <linux/ipsec.h>
#include <asm/unaligned.h>
@ -4626,9 +4626,9 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_input.c mptcp-mptcp_v0.94/net/ipv4/tcp_in
sock_put(fastopen_sk);
} else {
tcp_rsk(req)->tfo_listener = false;
diff -aurN linux-4.14.121/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.94/net/ipv4/tcp_ipv4.c
--- linux-4.14.121/net/ipv4/tcp_ipv4.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_ipv4.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.94/net/ipv4/tcp_ipv4.c
--- linux-4.14.122/net/ipv4/tcp_ipv4.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_ipv4.c 2019-05-29 18:30:04.000000000 +0200
@@ -67,6 +67,8 @@
#include <net/icmp.h>
#include <net/inet_hashtables.h>
@ -5116,9 +5116,9 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.94/net/ipv4/tcp_ipv
};
EXPORT_SYMBOL(tcp_prot);
diff -aurN linux-4.14.121/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.94/net/ipv4/tcp_minisocks.c
--- linux-4.14.121/net/ipv4/tcp_minisocks.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_minisocks.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.94/net/ipv4/tcp_minisocks.c
--- linux-4.14.122/net/ipv4/tcp_minisocks.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_minisocks.c 2019-05-29 18:30:04.000000000 +0200
@@ -18,11 +18,13 @@
* Jorge Cwik, <jorge@laser.satlink.net>
*/
@ -5329,9 +5329,9 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.94/net/ipv4/tc
sock_put(child);
return ret;
}
diff -aurN linux-4.14.121/net/ipv4/tcp_output.c mptcp-mptcp_v0.94/net/ipv4/tcp_output.c
--- linux-4.14.121/net/ipv4/tcp_output.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_output.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/tcp_output.c mptcp-mptcp_v0.94/net/ipv4/tcp_output.c
--- linux-4.14.122/net/ipv4/tcp_output.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_output.c 2019-05-29 18:30:04.000000000 +0200
@@ -36,6 +36,12 @@
#define pr_fmt(fmt) "TCP: " fmt
@ -5956,9 +5956,9 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_output.c mptcp-mptcp_v0.94/net/ipv4/tcp_o
if (tp->packets_out || !tcp_send_head(sk)) {
/* Cancel probe timer, if it is not required. */
diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_timer.c
--- linux-4.14.121/net/ipv4/tcp_timer.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_timer.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_timer.c
--- linux-4.14.122/net/ipv4/tcp_timer.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv4/tcp_timer.c 2019-05-29 18:30:04.000000000 +0200
@@ -20,6 +20,7 @@
#include <linux/module.h>
@ -5998,7 +5998,24 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
{
const unsigned int rto_base = TCP_RTO_MIN;
unsigned int linear_backoff_thresh, start_ts;
@@ -188,7 +189,7 @@
@@ -172,8 +173,14 @@
return false;
start_ts = tcp_sk(sk)->retrans_stamp;
- if (unlikely(!start_ts))
- start_ts = tcp_skb_timestamp(tcp_write_queue_head(sk));
+ if (unlikely(!start_ts)) {
+ struct sk_buff *skb = tcp_write_queue_head(sk);
+
+ if (!skb)
+ return false;
+
+ start_ts = tcp_skb_timestamp(skb);
+ }
if (likely(timeout == 0)) {
linear_backoff_thresh = ilog2(TCP_RTO_MAX/rto_base);
@@ -188,7 +195,7 @@
}
/* A write timeout has occurred. Process the after effects. */
@ -6007,7 +6024,7 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
{
struct inet_connection_sock *icsk = inet_csk(sk);
struct tcp_sock *tp = tcp_sk(sk);
@@ -208,6 +209,17 @@
@@ -208,6 +215,17 @@
sk_rethink_txhash(sk);
}
retry_until = icsk->icsk_syn_retries ? : net->ipv4.sysctl_tcp_syn_retries;
@ -6025,7 +6042,7 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
expired = icsk->icsk_retransmits >= retry_until;
} else {
if (retransmits_timed_out(sk, net->ipv4.sysctl_tcp_retries1, 0)) {
@@ -303,18 +315,22 @@
@@ -303,18 +321,22 @@
static void tcp_delack_timer(unsigned long data)
{
struct sock *sk = (struct sock *)data;
@ -6052,7 +6069,7 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
sock_put(sk);
}
@@ -575,7 +591,7 @@
@@ -575,7 +597,7 @@
break;
case ICSK_TIME_RETRANS:
icsk->icsk_pending = 0;
@ -6061,7 +6078,7 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
break;
case ICSK_TIME_PROBE0:
icsk->icsk_pending = 0;
@@ -590,16 +606,19 @@
@@ -590,16 +612,19 @@
static void tcp_write_timer(unsigned long data)
{
struct sock *sk = (struct sock *)data;
@ -6084,7 +6101,7 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
sock_put(sk);
}
@@ -629,11 +648,12 @@
@@ -629,11 +654,12 @@
struct sock *sk = (struct sock *) data;
struct inet_connection_sock *icsk = inet_csk(sk);
struct tcp_sock *tp = tcp_sk(sk);
@ -6099,7 +6116,7 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
/* Try again later. */
inet_csk_reset_keepalive_timer (sk, HZ/20);
goto out;
@@ -645,16 +665,31 @@
@@ -645,16 +671,31 @@
}
tcp_mstamp_refresh(tp);
@ -6133,7 +6150,7 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
goto death;
}
@@ -679,11 +714,11 @@
@@ -679,11 +720,11 @@
icsk->icsk_probes_out > 0) ||
(icsk->icsk_user_timeout == 0 &&
icsk->icsk_probes_out >= keepalive_probes(tp))) {
@ -6147,7 +6164,7 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
icsk->icsk_probes_out++;
elapsed = keepalive_intvl_when(tp);
} else {
@@ -707,7 +742,7 @@
@@ -707,7 +748,7 @@
tcp_done(sk);
out:
@ -6156,9 +6173,9 @@ diff -aurN linux-4.14.121/net/ipv4/tcp_timer.c mptcp-mptcp_v0.94/net/ipv4/tcp_ti
sock_put(sk);
}
diff -aurN linux-4.14.121/net/ipv6/addrconf.c mptcp-mptcp_v0.94/net/ipv6/addrconf.c
--- linux-4.14.121/net/ipv6/addrconf.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/addrconf.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv6/addrconf.c mptcp-mptcp_v0.94/net/ipv6/addrconf.c
--- linux-4.14.122/net/ipv6/addrconf.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/addrconf.c 2019-05-29 18:30:04.000000000 +0200
@@ -928,6 +928,7 @@
kfree_rcu(ifp, rcu);
@ -6167,9 +6184,9 @@ diff -aurN linux-4.14.121/net/ipv6/addrconf.c mptcp-mptcp_v0.94/net/ipv6/addrcon
static void
ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp)
diff -aurN linux-4.14.121/net/ipv6/af_inet6.c mptcp-mptcp_v0.94/net/ipv6/af_inet6.c
--- linux-4.14.121/net/ipv6/af_inet6.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/af_inet6.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv6/af_inet6.c mptcp-mptcp_v0.94/net/ipv6/af_inet6.c
--- linux-4.14.122/net/ipv6/af_inet6.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/af_inet6.c 2019-05-29 18:30:04.000000000 +0200
@@ -107,8 +107,7 @@
return (struct ipv6_pinfo *)(((u8 *)sk) + offset);
}
@ -6180,9 +6197,9 @@ diff -aurN linux-4.14.121/net/ipv6/af_inet6.c mptcp-mptcp_v0.94/net/ipv6/af_inet
{
struct inet_sock *inet;
struct ipv6_pinfo *np;
diff -aurN linux-4.14.121/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.94/net/ipv6/ipv6_sockglue.c
--- linux-4.14.121/net/ipv6/ipv6_sockglue.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/ipv6_sockglue.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.94/net/ipv6/ipv6_sockglue.c
--- linux-4.14.122/net/ipv6/ipv6_sockglue.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/ipv6_sockglue.c 2019-05-29 18:30:04.000000000 +0200
@@ -48,6 +48,8 @@
#include <net/addrconf.h>
#include <net/inet_common.h>
@ -6206,9 +6223,9 @@ diff -aurN linux-4.14.121/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.94/net/ipv6/ip
sk->sk_socket->ops = &inet_stream_ops;
sk->sk_family = PF_INET;
tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);
diff -aurN linux-4.14.121/net/ipv6/syncookies.c mptcp-mptcp_v0.94/net/ipv6/syncookies.c
--- linux-4.14.121/net/ipv6/syncookies.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/syncookies.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv6/syncookies.c mptcp-mptcp_v0.94/net/ipv6/syncookies.c
--- linux-4.14.122/net/ipv6/syncookies.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/syncookies.c 2019-05-29 18:30:04.000000000 +0200
@@ -20,6 +20,8 @@
#include <linux/kernel.h>
#include <net/secure_seq.h>
@ -6290,9 +6307,9 @@ diff -aurN linux-4.14.121/net/ipv6/syncookies.c mptcp-mptcp_v0.94/net/ipv6/synco
ireq->rcv_wscale = rcv_wscale;
ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), dst);
diff -aurN linux-4.14.121/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.94/net/ipv6/tcp_ipv6.c
--- linux-4.14.121/net/ipv6/tcp_ipv6.c 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/tcp_ipv6.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.94/net/ipv6/tcp_ipv6.c
--- linux-4.14.122/net/ipv6/tcp_ipv6.c 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/ipv6/tcp_ipv6.c 2019-05-29 18:30:04.000000000 +0200
@@ -61,6 +61,8 @@
#include <net/timewait_sock.h>
#include <net/inet_common.h>
@ -6914,9 +6931,9 @@ diff -aurN linux-4.14.121/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.121/net/Kconfig mptcp-mptcp_v0.94/net/Kconfig
--- linux-4.14.121/net/Kconfig 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/Kconfig 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/Kconfig mptcp-mptcp_v0.94/net/Kconfig
--- linux-4.14.122/net/Kconfig 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/Kconfig 2019-05-29 18:30:04.000000000 +0200
@@ -88,6 +88,7 @@
source "net/ipv4/Kconfig"
source "net/ipv6/Kconfig"
@ -6925,9 +6942,9 @@ diff -aurN linux-4.14.121/net/Kconfig mptcp-mptcp_v0.94/net/Kconfig
endif # if INET
diff -aurN linux-4.14.121/net/Makefile mptcp-mptcp_v0.94/net/Makefile
--- linux-4.14.121/net/Makefile 2019-05-21 18:50:21.000000000 +0200
+++ mptcp-mptcp_v0.94/net/Makefile 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/Makefile mptcp-mptcp_v0.94/net/Makefile
--- linux-4.14.122/net/Makefile 2019-05-25 18:25:38.000000000 +0200
+++ mptcp-mptcp_v0.94/net/Makefile 2019-05-29 18:30:04.000000000 +0200
@@ -20,6 +20,7 @@
obj-$(CONFIG_XFRM) += xfrm/
obj-$(CONFIG_UNIX) += unix/
@ -6936,9 +6953,9 @@ diff -aurN linux-4.14.121/net/Makefile mptcp-mptcp_v0.94/net/Makefile
obj-$(CONFIG_PACKET) += packet/
obj-$(CONFIG_NET_KEY) += key/
obj-$(CONFIG_BRIDGE) += bridge/
diff -aurN linux-4.14.121/net/mptcp/Kconfig mptcp-mptcp_v0.94/net/mptcp/Kconfig
--- linux-4.14.121/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/Kconfig 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/Kconfig mptcp-mptcp_v0.94/net/mptcp/Kconfig
--- linux-4.14.122/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/Kconfig 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,129 @@
+#
+# MPTCP configuration
@ -7069,9 +7086,9 @@ diff -aurN linux-4.14.121/net/mptcp/Kconfig mptcp-mptcp_v0.94/net/mptcp/Kconfig
+ default "redundant" if DEFAULT_REDUNDANT
+ default "default"
+
diff -aurN linux-4.14.121/net/mptcp/Makefile mptcp-mptcp_v0.94/net/mptcp/Makefile
--- linux-4.14.121/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/Makefile 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/Makefile mptcp-mptcp_v0.94/net/mptcp/Makefile
--- linux-4.14.122/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/Makefile 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,22 @@
+#
+## Makefile for MultiPath TCP support code.
@ -7095,9 +7112,9 @@ diff -aurN linux-4.14.121/net/mptcp/Makefile mptcp-mptcp_v0.94/net/mptcp/Makefil
+
+mptcp-$(subst m,y,$(CONFIG_IPV6)) += mptcp_ipv6.o
+
diff -aurN linux-4.14.121/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.94/net/mptcp/mptcp_balia.c
--- linux-4.14.121/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_balia.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.94/net/mptcp/mptcp_balia.c
--- linux-4.14.122/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_balia.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,268 @@
+/*
+ * MPTCP implementation - Balia Congestion Control
@ -7367,9 +7384,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.94/net/mptcp/mp
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MPTCP BALIA CONGESTION CONTROL ALGORITHM");
+MODULE_VERSION("0.1");
diff -aurN linux-4.14.121/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.94/net/mptcp/mptcp_binder.c
--- linux-4.14.121/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_binder.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.94/net/mptcp/mptcp_binder.c
--- linux-4.14.122/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_binder.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,490 @@
+#include <linux/module.h>
+
@ -7861,9 +7878,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.94/net/mptcp/m
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("BINDER MPTCP");
+MODULE_VERSION("0.1");
diff -aurN linux-4.14.121/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.94/net/mptcp/mptcp_coupled.c
--- linux-4.14.121/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_coupled.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.94/net/mptcp/mptcp_coupled.c
--- linux-4.14.122/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_coupled.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,271 @@
+/*
+ * MPTCP implementation - Linked Increase congestion control Algorithm (LIA)
@ -8136,10 +8153,10 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.94/net/mptcp/
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MPTCP LINKED INCREASE CONGESTION CONTROL ALGORITHM");
+MODULE_VERSION("0.1");
diff -aurN linux-4.14.121/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c
--- linux-4.14.121/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c 2019-05-23 20:14:17.000000000 +0200
@@ -0,0 +1,3000 @@
diff -aurN linux-4.14.122/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c
--- linux-4.14.122/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,3014 @@
+/*
+ * MPTCP implementation - MPTCP-control
+ *
@ -10253,14 +10270,28 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mpt
+ */
+ if (drop) {
+ tcp_synack_rtt_meas(child, req);
+ inet_csk_complete_hashdance(sk, meta_sk, req, true);
+
+ inet_csk_reqsk_queue_drop(sk, req);
+ reqsk_queue_removed(&inet_csk(sk)->icsk_accept_queue, req);
+ if (!inet_csk_reqsk_queue_add(sk, req, meta_sk)) {
+ bh_unlock_sock(meta_sk);
+ /* No sock_put() of the meta needed. The reference has
+ * already been dropped in __mptcp_check_req_master().
+ */
+ sock_put(child);
+ return -1;
+ }
+ } else {
+ /* Thus, we come from syn-cookies */
+ refcount_set(&req->rsk_refcnt, 1);
+ tcp_sk(meta_sk)->tsoffset = tsoff;
+ if (!inet_csk_reqsk_queue_add(sk, req, meta_sk)) {
+ bh_unlock_sock(meta_sk);
+ sock_put(meta_sk);
+ /* No sock_put() of the meta needed. The reference has
+ * already been dropped in __mptcp_check_req_master().
+ */
+ sock_put(child);
+ reqsk_put(req);
+ return -1;
+ }
+ }
@ -11140,9 +11171,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mpt
+mptcp_sock_cache_failed:
+ mptcp_init_failed = true;
+}
diff -aurN linux-4.14.121/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.94/net/mptcp/mptcp_fullmesh.c
--- linux-4.14.121/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_fullmesh.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.94/net/mptcp/mptcp_fullmesh.c
--- linux-4.14.122/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_fullmesh.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,2016 @@
+#include <linux/module.h>
+#include <linux/proc_fs.h>
@ -13160,9 +13191,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.94/net/mptcp
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Full-Mesh MPTCP");
+MODULE_VERSION("0.88");
diff -aurN linux-4.14.121/net/mptcp/mptcp_input.c mptcp-mptcp_v0.94/net/mptcp/mptcp_input.c
--- linux-4.14.121/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_input.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_input.c mptcp-mptcp_v0.94/net/mptcp/mptcp_input.c
--- linux-4.14.122/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_input.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,2475 @@
+/*
+ * MPTCP implementation - Sending side
@ -15639,9 +15670,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_input.c mptcp-mptcp_v0.94/net/mptcp/mp
+ tcp_set_rto(sk);
+ mptcp_set_rto(sk);
+}
diff -aurN linux-4.14.121/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv4.c
--- linux-4.14.121/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv4.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv4.c
--- linux-4.14.122/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv4.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,436 @@
+/*
+ * MPTCP implementation - IPv4-specific functions
@ -16079,9 +16110,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.94/net/mptcp/mpt
+ kmem_cache_destroy(mptcp_request_sock_ops.slab);
+ kfree(mptcp_request_sock_ops.slab_name);
+}
diff -aurN linux-4.14.121/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv6.c
--- linux-4.14.121/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv6.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv6.c
--- linux-4.14.122/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ipv6.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,465 @@
+/*
+ * MPTCP implementation - IPv6-specific functions
@ -16548,9 +16579,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.94/net/mptcp/mpt
+ kmem_cache_destroy(mptcp6_request_sock_ops.slab);
+ kfree(mptcp6_request_sock_ops.slab_name);
+}
diff -aurN linux-4.14.121/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ndiffports.c
--- linux-4.14.121/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ndiffports.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ndiffports.c
--- linux-4.14.122/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ndiffports.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,173 @@
+#include <linux/module.h>
+
@ -16725,9 +16756,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.94/net/mpt
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("NDIFF-PORTS MPTCP");
+MODULE_VERSION("0.88");
diff -aurN linux-4.14.121/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.94/net/mptcp/mptcp_olia.c
--- linux-4.14.121/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_olia.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.94/net/mptcp/mptcp_olia.c
--- linux-4.14.122/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_olia.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,310 @@
+/*
+ * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL:
@ -17039,9 +17070,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.94/net/mptcp/mpt
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MPTCP COUPLED CONGESTION CONTROL");
+MODULE_VERSION("0.1");
diff -aurN linux-4.14.121/net/mptcp/mptcp_output.c mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c
--- linux-4.14.121/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_output.c mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c
--- linux-4.14.122/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,1824 @@
+/*
+ * MPTCP implementation - Sending side
@ -18867,9 +18898,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_output.c mptcp-mptcp_v0.94/net/mptcp/m
+ return max(xmit_size_goal, mss_now);
+}
+
diff -aurN linux-4.14.121/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.94/net/mptcp/mptcp_pm.c
--- linux-4.14.121/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_pm.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.94/net/mptcp/mptcp_pm.c
--- linux-4.14.122/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_pm.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,226 @@
+/*
+ * MPTCP implementation - MPTCP-subflow-management
@ -19097,9 +19128,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.94/net/mptcp/mptcp
+ return mptcp_set_default_path_manager(CONFIG_DEFAULT_MPTCP_PM);
+}
+late_initcall(mptcp_path_manager_default);
diff -aurN linux-4.14.121/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.94/net/mptcp/mptcp_redundant.c
--- linux-4.14.121/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_redundant.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.94/net/mptcp/mptcp_redundant.c
--- linux-4.14.122/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_redundant.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,301 @@
+/*
+ * MPTCP Scheduler to reduce latency and jitter.
@ -19402,9 +19433,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.94/net/mptc
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("REDUNDANT MPTCP");
+MODULE_VERSION("0.90");
diff -aurN linux-4.14.121/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.94/net/mptcp/mptcp_rr.c
--- linux-4.14.121/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_rr.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.94/net/mptcp/mptcp_rr.c
--- linux-4.14.122/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_rr.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,301 @@
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
+
@ -19707,9 +19738,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.94/net/mptcp/mptcp
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("ROUNDROBIN MPTCP");
+MODULE_VERSION("0.89");
diff -aurN linux-4.14.121/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.94/net/mptcp/mptcp_sched.c
--- linux-4.14.121/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_sched.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.94/net/mptcp/mptcp_sched.c
--- linux-4.14.122/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_sched.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,634 @@
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
+
@ -20345,9 +20376,9 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.94/net/mptcp/mp
+ return mptcp_set_default_scheduler(CONFIG_DEFAULT_MPTCP_SCHED);
+}
+late_initcall(mptcp_scheduler_default);
diff -aurN linux-4.14.121/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.94/net/mptcp/mptcp_wvegas.c
--- linux-4.14.121/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_wvegas.c 2019-05-23 20:14:17.000000000 +0200
diff -aurN linux-4.14.122/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.94/net/mptcp/mptcp_wvegas.c
--- linux-4.14.122/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_wvegas.c 2019-05-29 18:30:04.000000000 +0200
@@ -0,0 +1,270 @@
+/*
+ * MPTCP implementation - WEIGHTED VEGAS

View file

@ -1,6 +1,6 @@
diff -aurN linux-4.19.44/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt
--- linux-4.19.44/Documentation/networking/ip-sysctl.txt 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt 2019-05-29 16:32:06.000000000 +0200
@@ -755,6 +755,18 @@
in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks)
Default: 100
@ -22,7 +22,7 @@ diff -aurN linux-4.19.44/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.9
udp_l3mdev_accept - BOOLEAN
diff -aurN linux-4.19.44/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c
--- linux-4.19.44/drivers/infiniband/hw/cxgb4/cm.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c 2019-05-29 16:32:06.000000000 +0200
@@ -3777,7 +3777,7 @@
*/
memset(&tmp_opt, 0, sizeof(tmp_opt));
@ -34,7 +34,7 @@ diff -aurN linux-4.19.44/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.95/driv
memset(req, 0, sizeof(*req));
diff -aurN linux-4.19.44/include/linux/skbuff.h mptcp-mptcp_v0.95/include/linux/skbuff.h
--- linux-4.19.44/include/linux/skbuff.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/linux/skbuff.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/linux/skbuff.h 2019-05-29 16:32:06.000000000 +0200
@@ -697,7 +697,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.
@ -44,21 +44,9 @@ diff -aurN linux-4.19.44/include/linux/skbuff.h mptcp-mptcp_v0.95/include/linux/
union {
struct {
@@ -3227,6 +3227,11 @@
for (skb = skb_rb_first(root); skb != NULL; \
skb = skb_rb_next(skb))
+#define skb_rbtree_walk_safe(skb, root, tmp) \
+ for (skb = skb_rb_first(root); \
+ tmp = skb ? skb_rb_next(skb) : NULL, (skb != NULL); \
+ skb = tmp)
+
#define skb_rbtree_walk_from(skb) \
for (; skb != NULL; \
skb = skb_rb_next(skb))
diff -aurN linux-4.19.44/include/linux/tcp.h mptcp-mptcp_v0.95/include/linux/tcp.h
--- linux-4.19.44/include/linux/tcp.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/linux/tcp.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/linux/tcp.h 2019-05-29 16:32:06.000000000 +0200
@@ -58,7 +58,7 @@
/* TCP Fast Open */
#define TCP_FASTOPEN_COOKIE_MIN 4 /* Min Fast Open Cookie size in bytes */
@ -217,7 +205,7 @@ diff -aurN linux-4.19.44/include/linux/tcp.h mptcp-mptcp_v0.95/include/linux/tcp
static inline struct tcp_timewait_sock *tcp_twsk(const struct sock *sk)
diff -aurN linux-4.19.44/include/net/inet_common.h mptcp-mptcp_v0.95/include/net/inet_common.h
--- linux-4.19.44/include/net/inet_common.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/inet_common.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/inet_common.h 2019-05-29 16:32:06.000000000 +0200
@@ -2,6 +2,8 @@
#ifndef _INET_COMMON_H
#define _INET_COMMON_H
@ -238,7 +226,7 @@ diff -aurN linux-4.19.44/include/net/inet_common.h mptcp-mptcp_v0.95/include/net
int addr_len, int flags);
diff -aurN linux-4.19.44/include/net/inet_connection_sock.h mptcp-mptcp_v0.95/include/net/inet_connection_sock.h
--- linux-4.19.44/include/net/inet_connection_sock.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/inet_connection_sock.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/inet_connection_sock.h 2019-05-29 16:32:06.000000000 +0200
@@ -29,6 +29,7 @@
struct inet_bind_bucket;
@ -249,7 +237,7 @@ diff -aurN linux-4.19.44/include/net/inet_connection_sock.h mptcp-mptcp_v0.95/in
* Pointers to address related TCP functions
diff -aurN linux-4.19.44/include/net/inet_sock.h mptcp-mptcp_v0.95/include/net/inet_sock.h
--- linux-4.19.44/include/net/inet_sock.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/inet_sock.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/inet_sock.h 2019-05-29 16:32:06.000000000 +0200
@@ -83,7 +83,7 @@
#define ireq_state req.__req_common.skc_state
#define ireq_family req.__req_common.skc_family
@ -270,7 +258,7 @@ diff -aurN linux-4.19.44/include/net/inet_sock.h mptcp-mptcp_v0.95/include/net/i
union {
diff -aurN linux-4.19.44/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp.h
--- linux-4.19.44/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/include/net/mptcp.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/mptcp.h 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,1490 @@
+/*
+ * MPTCP implementation
@ -1764,7 +1752,7 @@ diff -aurN linux-4.19.44/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp
+#endif /* _MPTCP_H */
diff -aurN linux-4.19.44/include/net/mptcp_v4.h mptcp-mptcp_v0.95/include/net/mptcp_v4.h
--- linux-4.19.44/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/include/net/mptcp_v4.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/mptcp_v4.h 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,76 @@
+/*
+ * MPTCP implementation
@ -1844,7 +1832,7 @@ diff -aurN linux-4.19.44/include/net/mptcp_v4.h mptcp-mptcp_v0.95/include/net/mp
+#endif /* MPTCP_V4_H_ */
diff -aurN linux-4.19.44/include/net/mptcp_v6.h mptcp-mptcp_v0.95/include/net/mptcp_v6.h
--- linux-4.19.44/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/include/net/mptcp_v6.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/mptcp_v6.h 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,77 @@
+/*
+ * MPTCP implementation
@ -1925,7 +1913,7 @@ diff -aurN linux-4.19.44/include/net/mptcp_v6.h mptcp-mptcp_v0.95/include/net/mp
+#endif /* _MPTCP_V6_H */
diff -aurN linux-4.19.44/include/net/net_namespace.h mptcp-mptcp_v0.95/include/net/net_namespace.h
--- linux-4.19.44/include/net/net_namespace.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/net_namespace.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/net_namespace.h 2019-05-29 16:32:06.000000000 +0200
@@ -19,6 +19,7 @@
#include <net/netns/packet.h>
#include <net/netns/ipv4.h>
@ -1946,7 +1934,7 @@ diff -aurN linux-4.19.44/include/net/net_namespace.h mptcp-mptcp_v0.95/include/n
#endif
diff -aurN linux-4.19.44/include/net/netns/mptcp.h mptcp-mptcp_v0.95/include/net/netns/mptcp.h
--- linux-4.19.44/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/include/net/netns/mptcp.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/netns/mptcp.h 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,52 @@
+/*
+ * MPTCP implementation - MPTCP namespace
@ -2002,7 +1990,7 @@ diff -aurN linux-4.19.44/include/net/netns/mptcp.h mptcp-mptcp_v0.95/include/net
+#endif /* __NETNS_MPTCP_H__ */
diff -aurN linux-4.19.44/include/net/snmp.h mptcp-mptcp_v0.95/include/net/snmp.h
--- linux-4.19.44/include/net/snmp.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/snmp.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/snmp.h 2019-05-29 16:32:06.000000000 +0200
@@ -91,7 +91,6 @@
atomic_long_t mibs[ICMP6MSG_MIB_MAX];
};
@ -2013,7 +2001,7 @@ diff -aurN linux-4.19.44/include/net/snmp.h mptcp-mptcp_v0.95/include/net/snmp.h
struct tcp_mib {
diff -aurN linux-4.19.44/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h
--- linux-4.19.44/include/net/sock.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/sock.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/sock.h 2019-05-29 16:32:06.000000000 +0200
@@ -810,6 +810,7 @@
SOCK_SELECT_ERR_QUEUE, /* Wake select on error queue */
SOCK_RCU_FREE, /* wait rcu grace period in sk_destruct() */
@ -2032,7 +2020,7 @@ diff -aurN linux-4.19.44/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h
#ifdef CONFIG_PROC_FS
diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
--- linux-4.19.44/include/net/tcp.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/tcp.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/tcp.h 2019-05-29 16:32:06.000000000 +0200
@@ -183,6 +183,7 @@
#define TCPOPT_SACK 5 /* SACK Block */
#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */
@ -2073,7 +2061,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
/* sysctl variables for tcp */
extern int sysctl_tcp_max_orphans;
@@ -311,6 +337,95 @@
@@ -311,6 +337,96 @@
#define TCP_DEC_STATS(net, field) SNMP_DEC_STATS((net)->mib.tcp_statistics, field)
#define TCP_ADD_STATS(net, field, val) SNMP_ADD_STATS((net)->mib.tcp_statistics, field, val)
@ -2118,6 +2106,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
+ unsigned int timeout);
+void tcp_write_err(struct sock *sk);
+void tcp_adjust_pcount(struct sock *sk, const struct sk_buff *skb, int decr);
+void tcp_update_skb_after_send(struct tcp_sock *tp, struct sk_buff *skb);
+void tcp_set_skb_tso_segs(struct sk_buff *skb, unsigned int mss_now);
+
+void tcp_v4_reqsk_send_ack(const struct sock *sk, struct sk_buff *skb,
@ -2169,7 +2158,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
void tcp_tasklet_init(void);
void tcp_v4_err(struct sk_buff *skb, u32);
@@ -410,7 +525,9 @@
@@ -410,7 +526,9 @@
struct vm_area_struct *vma);
void tcp_parse_options(const struct net *net, const struct sk_buff *skb,
struct tcp_options_received *opt_rx,
@ -2180,7 +2169,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
const u8 *tcp_parse_md5sig_option(const struct tcphdr *th);
/*
@@ -419,6 +536,7 @@
@@ -419,6 +537,7 @@
void tcp_v4_send_check(struct sock *sk, struct sk_buff *skb);
void tcp_v4_mtu_reduced(struct sock *sk);
@ -2188,7 +2177,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
void tcp_req_err(struct sock *sk, u32 seq, bool abort);
int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb);
struct sock *tcp_create_openreq_child(const struct sock *sk,
@@ -525,7 +643,8 @@
@@ -525,7 +644,8 @@
u32 __cookie_v4_init_sequence(const struct iphdr *iph, const struct tcphdr *th,
u16 *mssp);
@ -2198,7 +2187,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
u64 cookie_init_timestamp(struct request_sock *req);
bool cookie_timestamp_decode(const struct net *net,
struct tcp_options_received *opt);
@@ -539,7 +658,8 @@
@@ -539,7 +659,8 @@
u32 __cookie_v6_init_sequence(const struct ipv6hdr *iph,
const struct tcphdr *th, u16 *mssp);
@ -2208,7 +2197,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
#endif
/* tcp_output.c */
@@ -575,10 +695,17 @@
@@ -575,10 +696,17 @@
void tcp_skb_collapse_tstamp(struct sk_buff *skb,
const struct sk_buff *next_skb);
@ -2226,7 +2215,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
void tcp_skb_mark_lost_uncond_verify(struct tcp_sock *tp, struct sk_buff *skb);
void tcp_fin(struct sock *sk);
@@ -622,7 +749,7 @@
@@ -622,7 +750,7 @@
}
/* tcp.c */
@ -2235,7 +2224,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
/* Read 'sendfile()'-style from a TCP socket */
int tcp_read_sock(struct sock *sk, read_descriptor_t *desc,
@@ -810,6 +937,12 @@
@@ -810,6 +938,12 @@
u16 tcp_gso_size;
};
};
@ -2248,7 +2237,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
__u8 tcp_flags; /* TCP header flags. (tcp[13]) */
__u8 sacked; /* State flags for SACK. */
@@ -828,6 +961,14 @@
@@ -828,6 +962,14 @@
has_rxtstamp:1, /* SKB has a RX timestamp */
unused:5;
__u32 ack_seq; /* Sequence number ACK'd */
@ -2263,7 +2252,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
union {
struct {
/* There is space for up to 24 bytes */
@@ -1347,6 +1488,19 @@
@@ -1347,6 +1489,19 @@
space - (space>>tcp_adv_win_scale);
}
@ -2283,7 +2272,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
/* Note: caller must be prepared to deal with negative returns */
static inline int tcp_space(const struct sock *sk)
{
@@ -1874,6 +2028,30 @@
@@ -1874,6 +2029,30 @@
#endif
};
@ -2314,7 +2303,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
struct tcp_request_sock_ops {
u16 mss_clamp;
#ifdef CONFIG_TCP_MD5SIG
@@ -1884,12 +2062,13 @@
@@ -1884,12 +2063,13 @@
const struct sock *sk,
const struct sk_buff *skb);
#endif
@ -2333,7 +2322,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
#endif
struct dst_entry *(*route_req)(const struct sock *sk, struct flowi *fl,
const struct request_sock *req);
@@ -1903,15 +2082,17 @@
@@ -1903,15 +2083,17 @@
#ifdef CONFIG_SYN_COOKIES
static inline __u32 cookie_init_sequence(const struct tcp_request_sock_ops *ops,
@ -2354,7 +2343,7 @@ diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
{
diff -aurN linux-4.19.44/include/net/tcp_states.h mptcp-mptcp_v0.95/include/net/tcp_states.h
--- linux-4.19.44/include/net/tcp_states.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/tcp_states.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/tcp_states.h 2019-05-29 16:32:06.000000000 +0200
@@ -26,6 +26,7 @@
TCP_LISTEN,
TCP_CLOSING, /* Now a valid state */
@ -2373,7 +2362,7 @@ diff -aurN linux-4.19.44/include/net/tcp_states.h mptcp-mptcp_v0.95/include/net/
#endif /* _LINUX_TCP_STATES_H */
diff -aurN linux-4.19.44/include/net/transp_v6.h mptcp-mptcp_v0.95/include/net/transp_v6.h
--- linux-4.19.44/include/net/transp_v6.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/transp_v6.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/net/transp_v6.h 2019-05-29 16:32:06.000000000 +0200
@@ -58,6 +58,8 @@
/* address family specific functions */
@ -2385,7 +2374,7 @@ diff -aurN linux-4.19.44/include/net/transp_v6.h mptcp-mptcp_v0.95/include/net/t
diff -aurN linux-4.19.44/include/trace/events/tcp.h mptcp-mptcp_v0.95/include/trace/events/tcp.h
--- linux-4.19.44/include/trace/events/tcp.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/trace/events/tcp.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/trace/events/tcp.h 2019-05-29 16:32:06.000000000 +0200
@@ -10,6 +10,7 @@
#include <linux/tracepoint.h>
#include <net/ipv6.h>
@ -2436,7 +2425,7 @@ diff -aurN linux-4.19.44/include/trace/events/tcp.h mptcp-mptcp_v0.95/include/tr
#endif /* _TRACE_TCP_H */
diff -aurN linux-4.19.44/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/include/uapi/linux/bpf.h
--- linux-4.19.44/include/uapi/linux/bpf.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/uapi/linux/bpf.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/uapi/linux/bpf.h 2019-05-29 16:32:06.000000000 +0200
@@ -2671,6 +2671,7 @@
BPF_TCP_LISTEN,
BPF_TCP_CLOSING, /* Now a valid state */
@ -2447,7 +2436,7 @@ diff -aurN linux-4.19.44/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/include/uapi
};
diff -aurN linux-4.19.44/include/uapi/linux/if.h mptcp-mptcp_v0.95/include/uapi/linux/if.h
--- linux-4.19.44/include/uapi/linux/if.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/uapi/linux/if.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/uapi/linux/if.h 2019-05-29 16:32:06.000000000 +0200
@@ -132,6 +132,9 @@
#define IFF_ECHO IFF_ECHO
#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
@ -2460,7 +2449,7 @@ diff -aurN linux-4.19.44/include/uapi/linux/if.h mptcp-mptcp_v0.95/include/uapi/
diff -aurN linux-4.19.44/include/uapi/linux/mptcp.h mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h
--- linux-4.19.44/include/uapi/linux/mptcp.h 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,149 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
@ -2613,7 +2602,7 @@ diff -aurN linux-4.19.44/include/uapi/linux/mptcp.h mptcp-mptcp_v0.95/include/ua
+#endif /* _LINUX_MPTCP_H */
diff -aurN linux-4.19.44/include/uapi/linux/tcp.h mptcp-mptcp_v0.95/include/uapi/linux/tcp.h
--- linux-4.19.44/include/uapi/linux/tcp.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/uapi/linux/tcp.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/include/uapi/linux/tcp.h 2019-05-29 16:32:06.000000000 +0200
@@ -18,9 +18,15 @@
#ifndef _UAPI_LINUX_TCP_H
#define _UAPI_LINUX_TCP_H
@ -2701,7 +2690,7 @@ diff -aurN linux-4.19.44/include/uapi/linux/tcp.h mptcp-mptcp_v0.95/include/uapi
diff -aurN linux-4.19.44/net/core/dev.c mptcp-mptcp_v0.95/net/core/dev.c
--- linux-4.19.44/net/core/dev.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/core/dev.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/core/dev.c 2019-05-29 16:32:06.000000000 +0200
@@ -7471,7 +7471,7 @@
dev->flags = (flags & (IFF_DEBUG | IFF_NOTRAILERS | IFF_NOARP |
@ -2713,7 +2702,7 @@ diff -aurN linux-4.19.44/net/core/dev.c mptcp-mptcp_v0.95/net/core/dev.c
diff -aurN linux-4.19.44/net/core/skbuff.c mptcp-mptcp_v0.95/net/core/skbuff.c
--- linux-4.19.44/net/core/skbuff.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/core/skbuff.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/core/skbuff.c 2019-05-29 16:32:06.000000000 +0200
@@ -536,7 +536,7 @@
skb_drop_list(&skb_shinfo(skb)->frag_list);
}
@ -2725,7 +2714,7 @@ diff -aurN linux-4.19.44/net/core/skbuff.c mptcp-mptcp_v0.95/net/core/skbuff.c
diff -aurN linux-4.19.44/net/core/sock.c mptcp-mptcp_v0.95/net/core/sock.c
--- linux-4.19.44/net/core/sock.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/core/sock.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/core/sock.c 2019-05-29 16:32:06.000000000 +0200
@@ -140,6 +140,11 @@
#include <trace/events/sock.h>
@ -2787,7 +2776,7 @@ diff -aurN linux-4.19.44/net/core/sock.c mptcp-mptcp_v0.95/net/core/sock.c
diff -aurN linux-4.19.44/net/ipv4/af_inet.c mptcp-mptcp_v0.95/net/ipv4/af_inet.c
--- linux-4.19.44/net/ipv4/af_inet.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/af_inet.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/af_inet.c 2019-05-29 16:32:06.000000000 +0200
@@ -104,6 +104,7 @@
#include <net/ip_fib.h>
#include <net/inet_connection_sock.h>
@ -2853,7 +2842,7 @@ diff -aurN linux-4.19.44/net/ipv4/af_inet.c mptcp-mptcp_v0.95/net/ipv4/af_inet.c
diff -aurN linux-4.19.44/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.c
--- linux-4.19.44/net/ipv4/inet_connection_sock.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.c 2019-05-29 16:32:06.000000000 +0200
@@ -23,6 +23,7 @@
#include <net/route.h>
#include <net/tcp_states.h>
@ -2913,7 +2902,7 @@ diff -aurN linux-4.19.44/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.95/net/i
cond_resched();
diff -aurN linux-4.19.44/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c
--- linux-4.19.44/net/ipv4/ip_sockglue.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c 2019-05-29 16:32:06.000000000 +0200
@@ -44,6 +44,8 @@
#endif
#include <net/ip_fib.h>
@ -2955,7 +2944,7 @@ diff -aurN linux-4.19.44/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.95/net/ipv4/ip_so
case IP_TTL:
diff -aurN linux-4.19.44/net/ipv4/Kconfig mptcp-mptcp_v0.95/net/ipv4/Kconfig
--- linux-4.19.44/net/ipv4/Kconfig 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/Kconfig 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/Kconfig 2019-05-29 16:32:06.000000000 +0200
@@ -680,6 +680,51 @@
bufferbloat, policers, or AQM schemes that do not provide a delay
signal. It requires the fq ("Fair Queue") pacing packet scheduler.
@ -3043,7 +3032,7 @@ diff -aurN linux-4.19.44/net/ipv4/Kconfig mptcp-mptcp_v0.95/net/ipv4/Kconfig
default "cdg" if DEFAULT_CDG
diff -aurN linux-4.19.44/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncookies.c
--- linux-4.19.44/net/ipv4/syncookies.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/syncookies.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/syncookies.c 2019-05-29 16:32:06.000000000 +0200
@@ -16,6 +16,8 @@
#include <linux/siphash.h>
#include <linux/kernel.h>
@ -3159,7 +3148,7 @@ diff -aurN linux-4.19.44/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo
ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), &rt->dst);
diff -aurN linux-4.19.44/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c
--- linux-4.19.44/net/ipv4/tcp.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp.c 2019-05-29 16:32:06.000000000 +0200
@@ -274,6 +274,7 @@
#include <net/icmp.h>
@ -3864,7 +3853,7 @@ diff -aurN linux-4.19.44/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c
EXPORT_SYMBOL_GPL(tcp_abort);
diff -aurN linux-4.19.44/net/ipv4/tcp_diag.c mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c
--- linux-4.19.44/net/ipv4/tcp_diag.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c 2019-05-29 16:32:06.000000000 +0200
@@ -34,7 +34,7 @@
r->idiag_wqueue = tp->write_seq - tp->snd_una;
}
@ -3876,7 +3865,7 @@ diff -aurN linux-4.19.44/net/ipv4/tcp_diag.c mptcp-mptcp_v0.95/net/ipv4/tcp_diag
#ifdef CONFIG_TCP_MD5SIG
diff -aurN linux-4.19.44/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c
--- linux-4.19.44/net/ipv4/tcp_fastopen.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c 2019-05-29 16:32:06.000000000 +0200
@@ -9,6 +9,7 @@
#include <linux/rculist.h>
#include <net/inetpeer.h>
@ -3928,7 +3917,7 @@ diff -aurN linux-4.19.44/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.95/net/ipv4/tcp_
*/
diff -aurN linux-4.19.44/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_input.c
--- linux-4.19.44/net/ipv4/tcp_input.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_input.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_input.c 2019-05-29 16:32:06.000000000 +0200
@@ -76,35 +76,15 @@
#include <linux/ipsec.h>
#include <asm/unaligned.h>
@ -4792,7 +4781,7 @@ diff -aurN linux-4.19.44/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_inp
tcp_rsk(req)->tfo_listener = false;
diff -aurN linux-4.19.44/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c
--- linux-4.19.44/net/ipv4/tcp_ipv4.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c 2019-05-29 16:32:06.000000000 +0200
@@ -67,6 +67,8 @@
#include <net/icmp.h>
#include <net/inet_hashtables.h>
@ -5241,7 +5230,7 @@ diff -aurN linux-4.19.44/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4
diff -aurN linux-4.19.44/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c
--- linux-4.19.44/net/ipv4/tcp_minisocks.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c 2019-05-29 16:32:06.000000000 +0200
@@ -18,11 +18,13 @@
* Jorge Cwik, <jorge@laser.satlink.net>
*/
@ -5462,7 +5451,7 @@ diff -aurN linux-4.19.44/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.95/net/ipv4/tcp
}
diff -aurN linux-4.19.44/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_output.c
--- linux-4.19.44/net/ipv4/tcp_output.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_output.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_output.c 2019-05-29 16:32:06.000000000 +0200
@@ -36,6 +36,12 @@
#define pr_fmt(fmt) "TCP: " fmt
@ -5703,6 +5692,15 @@ diff -aurN linux-4.19.44/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_ou
}
EXPORT_SYMBOL(tcp_release_cb);
@@ -996,7 +1032,7 @@
sock_hold(sk);
}
-static void tcp_update_skb_after_send(struct tcp_sock *tp, struct sk_buff *skb)
+void tcp_update_skb_after_send(struct tcp_sock *tp, struct sk_buff *skb)
{
skb->skb_mstamp = tp->tcp_mstamp;
list_move_tail(&skb->tcp_tsorted_anchor, &tp->tsorted_sent_queue);
@@ -1108,10 +1144,10 @@
}
}
@ -6060,7 +6058,7 @@ diff -aurN linux-4.19.44/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_ou
/* Cancel probe timer, if it is not required. */
diff -aurN linux-4.19.44/net/ipv4/tcp_timer.c mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c
--- linux-4.19.44/net/ipv4/tcp_timer.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c 2019-05-29 16:32:06.000000000 +0200
@@ -20,6 +20,7 @@
#include <linux/module.h>
@ -6260,7 +6258,7 @@ diff -aurN linux-4.19.44/net/ipv4/tcp_timer.c mptcp-mptcp_v0.95/net/ipv4/tcp_tim
diff -aurN linux-4.19.44/net/ipv6/addrconf.c mptcp-mptcp_v0.95/net/ipv6/addrconf.c
--- linux-4.19.44/net/ipv6/addrconf.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/addrconf.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/addrconf.c 2019-05-29 16:32:06.000000000 +0200
@@ -917,6 +917,7 @@
kfree_rcu(ifp, rcu);
@ -6271,7 +6269,7 @@ diff -aurN linux-4.19.44/net/ipv6/addrconf.c mptcp-mptcp_v0.95/net/ipv6/addrconf
ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp)
diff -aurN linux-4.19.44/net/ipv6/af_inet6.c mptcp-mptcp_v0.95/net/ipv6/af_inet6.c
--- linux-4.19.44/net/ipv6/af_inet6.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/af_inet6.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/af_inet6.c 2019-05-29 16:32:06.000000000 +0200
@@ -107,8 +107,7 @@
return (struct ipv6_pinfo *)(((u8 *)sk) + offset);
}
@ -6284,7 +6282,7 @@ diff -aurN linux-4.19.44/net/ipv6/af_inet6.c mptcp-mptcp_v0.95/net/ipv6/af_inet6
struct ipv6_pinfo *np;
diff -aurN linux-4.19.44/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c
--- linux-4.19.44/net/ipv6/ipv6_sockglue.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c 2019-05-29 16:32:06.000000000 +0200
@@ -48,6 +48,8 @@
#include <net/addrconf.h>
#include <net/inet_common.h>
@ -6310,7 +6308,7 @@ diff -aurN linux-4.19.44/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.95/net/ipv6/ipv
tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);
diff -aurN linux-4.19.44/net/ipv6/syncookies.c mptcp-mptcp_v0.95/net/ipv6/syncookies.c
--- linux-4.19.44/net/ipv6/syncookies.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/syncookies.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/syncookies.c 2019-05-29 16:32:06.000000000 +0200
@@ -20,6 +20,8 @@
#include <linux/kernel.h>
#include <net/secure_seq.h>
@ -6394,7 +6392,7 @@ diff -aurN linux-4.19.44/net/ipv6/syncookies.c mptcp-mptcp_v0.95/net/ipv6/syncoo
ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), dst);
diff -aurN linux-4.19.44/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c
--- linux-4.19.44/net/ipv6/tcp_ipv6.c 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c 2019-05-29 16:32:06.000000000 +0200
@@ -61,6 +61,8 @@
#include <net/timewait_sock.h>
#include <net/inet_common.h>
@ -6979,7 +6977,7 @@ diff -aurN linux-4.19.44/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6
/* thinking of making this const? Don't.
diff -aurN linux-4.19.44/net/Kconfig mptcp-mptcp_v0.95/net/Kconfig
--- linux-4.19.44/net/Kconfig 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/Kconfig 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/Kconfig 2019-05-29 16:32:06.000000000 +0200
@@ -89,6 +89,7 @@
source "net/ipv4/Kconfig"
source "net/ipv6/Kconfig"
@ -6990,7 +6988,7 @@ diff -aurN linux-4.19.44/net/Kconfig mptcp-mptcp_v0.95/net/Kconfig
diff -aurN linux-4.19.44/net/Makefile mptcp-mptcp_v0.95/net/Makefile
--- linux-4.19.44/net/Makefile 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/Makefile 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/Makefile 2019-05-29 16:32:06.000000000 +0200
@@ -20,6 +20,7 @@
obj-$(CONFIG_XFRM) += xfrm/
obj-$(CONFIG_UNIX) += unix/
@ -7001,7 +6999,7 @@ diff -aurN linux-4.19.44/net/Makefile mptcp-mptcp_v0.95/net/Makefile
obj-$(CONFIG_NET_KEY) += key/
diff -aurN linux-4.19.44/net/mptcp/Kconfig mptcp-mptcp_v0.95/net/mptcp/Kconfig
--- linux-4.19.44/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/Kconfig 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/Kconfig 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,146 @@
+#
+# MPTCP configuration
@ -7151,7 +7149,7 @@ diff -aurN linux-4.19.44/net/mptcp/Kconfig mptcp-mptcp_v0.95/net/mptcp/Kconfig
+
diff -aurN linux-4.19.44/net/mptcp/Makefile mptcp-mptcp_v0.95/net/mptcp/Makefile
--- linux-4.19.44/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/Makefile 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/Makefile 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,24 @@
+#
+## Makefile for MultiPath TCP support code.
@ -7179,7 +7177,7 @@ diff -aurN linux-4.19.44/net/mptcp/Makefile mptcp-mptcp_v0.95/net/mptcp/Makefile
+mptcp-$(subst m,y,$(CONFIG_IPV6)) += mptcp_ipv6.o
diff -aurN linux-4.19.44/net/mptcp/mctcp_desync.c mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c
--- linux-4.19.44/net/mptcp/mctcp_desync.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,193 @@
+/*
+ * Desynchronized Multi-Channel TCP Congestion Control Algorithm
@ -7376,7 +7374,7 @@ diff -aurN linux-4.19.44/net/mptcp/mctcp_desync.c mptcp-mptcp_v0.95/net/mptcp/mc
+MODULE_VERSION("1.0");
diff -aurN linux-4.19.44/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c
--- linux-4.19.44/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,261 @@
+/*
+ * MPTCP implementation - Balia Congestion Control
@ -7641,7 +7639,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.95/net/mptcp/mpt
+MODULE_VERSION("0.1");
diff -aurN linux-4.19.44/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c
--- linux-4.19.44/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,494 @@
+#include <linux/module.h>
+
@ -8139,7 +8137,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.95/net/mptcp/mp
+MODULE_VERSION("0.1");
diff -aurN linux-4.19.44/net/mptcp/mptcp_blest.c mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c
--- linux-4.19.44/net/mptcp/mptcp_blest.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,475 @@
+// SPDX-License-Identifier: GPL-2.0
+/* MPTCP Scheduler to reduce HoL-blocking and spurious retransmissions.
@ -8618,7 +8616,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_blest.c mptcp-mptcp_v0.95/net/mptcp/mpt
+MODULE_VERSION("0.95");
diff -aurN linux-4.19.44/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c
--- linux-4.19.44/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,262 @@
+/*
+ * MPTCP implementation - Linked Increase congestion control Algorithm (LIA)
@ -8884,8 +8882,8 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/m
+MODULE_VERSION("0.1");
diff -aurN linux-4.19.44/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c
--- linux-4.19.44/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,3121 @@
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,3124 @@
+/*
+ * MPTCP implementation - MPTCP-control
+ *
@ -11121,6 +11119,9 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptc
+ tcp_sk(meta_sk)->tsoffset = tsoff;
+ if (!inet_csk_reqsk_queue_add(sk, req, meta_sk)) {
+ bh_unlock_sock(meta_sk);
+ /* No sock_put() of the meta needed. The reference has
+ * already been dropped in __mptcp_check_req_master().
+ */
+ sock_put(child);
+ reqsk_put(req);
+ return -1;
@ -12009,7 +12010,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptc
+}
diff -aurN linux-4.19.44/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c
--- linux-4.19.44/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,1941 @@
+#include <linux/module.h>
+#include <linux/proc_fs.h>
@ -13954,8 +13955,8 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.95/net/mptcp/
+MODULE_VERSION("0.88");
diff -aurN linux-4.19.44/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c
--- linux-4.19.44/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,2391 @@
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,2400 @@
+/*
+ * MPTCP implementation - Sending side
+ *
@ -14554,15 +14555,19 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mpt
+{
+ struct tcp_sock *meta_tp = tcp_sk(meta_sk);
+ struct mptcp_cb *mpcb = meta_tp->mpcb;
+ struct sk_buff *skb, *tmp, *wq_head;
+ struct sk_buff *wq_head, *skb, *tmp;
+
+ skb = tcp_rtx_queue_head(meta_sk);
+
+ /* We resend everything that has not been acknowledged, thus we need
+ * to move it from the rtx-tree to the write-queue.
+ */
+ wq_head = tcp_write_queue_head(meta_sk);
+ skb_rbtree_walk_safe(skb, &meta_sk->tcp_rtx_queue, tmp) {
+
+ skb_rbtree_walk_from_safe(skb, tmp) {
+ list_del(&skb->tcp_tsorted_anchor);
+ tcp_rtx_queue_unlink(skb, meta_sk);
+ INIT_LIST_HEAD(&skb->tcp_tsorted_anchor);
+
+ if (wq_head)
+ __skb_queue_before(&meta_sk->sk_write_queue, wq_head, skb);
@ -16143,14 +16148,16 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mpt
+{
+ struct tcp_sock *meta_tp = tcp_sk(meta_sk);
+ struct tcp_sock *master_tp = tcp_sk(meta_tp->mpcb->master_sk);
+ struct sk_buff *skb, *tmp;
+ u32 new_mapping = meta_tp->write_seq - master_tp->snd_una;
+ struct sk_buff *skb, *tmp;
+
+ skb = tcp_rtx_queue_head(meta_sk);
+
+ /* There should only be one skb in write queue: the data not
+ * acknowledged in the SYN+ACK. In this case, we need to map
+ * this data to data sequence numbers.
+ */
+ skb_rbtree_walk_safe(skb, &meta_sk->tcp_rtx_queue, tmp) {
+ skb_rbtree_walk_from_safe(skb, tmp) {
+ /* If the server only acknowledges partially the data sent in
+ * the SYN, we need to trim the acknowledged part because
+ * we don't want to retransmit this already received data.
@ -16175,7 +16182,10 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mpt
+ TCP_SKB_CB(skb)->seq += new_mapping;
+ TCP_SKB_CB(skb)->end_seq += new_mapping;
+
+ list_del(&skb->tcp_tsorted_anchor);
+ tcp_rtx_queue_unlink(skb, meta_sk);
+ INIT_LIST_HEAD(&skb->tcp_tsorted_anchor);
+
+ tcp_add_write_queue_tail(meta_sk, skb);
+ }
+
@ -16349,7 +16359,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mpt
+}
diff -aurN linux-4.19.44/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c
--- linux-4.19.44/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,427 @@
+/*
+ * MPTCP implementation - IPv4-specific functions
@ -16780,7 +16790,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.95/net/mptcp/mptc
+}
diff -aurN linux-4.19.44/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c
--- linux-4.19.44/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,475 @@
+/*
+ * MPTCP implementation - IPv6-specific functions
@ -17259,7 +17269,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.95/net/mptcp/mptc
+}
diff -aurN linux-4.19.44/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c
--- linux-4.19.44/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,174 @@
+#include <linux/module.h>
+
@ -17437,7 +17447,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.95/net/mptc
+MODULE_VERSION("0.88");
diff -aurN linux-4.19.44/net/mptcp/mptcp_netlink.c mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c
--- linux-4.19.44/net/mptcp/mptcp_netlink.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,1266 @@
+// SPDX-License-Identifier: GPL-2.0
+/* MPTCP implementation - Netlink Path Manager
@ -18707,7 +18717,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_netlink.c mptcp-mptcp_v0.95/net/mptcp/m
+MODULE_ALIAS_GENL_FAMILY(MPTCP_GENL_NAME);
diff -aurN linux-4.19.44/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c
--- linux-4.19.44/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,318 @@
+/*
+ * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL:
@ -19029,8 +19039,8 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptc
+MODULE_VERSION("0.1");
diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c
--- linux-4.19.44/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,1925 @@
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,1929 @@
+/*
+ * MPTCP implementation - Sending side
+ *
@ -19176,6 +19186,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp
+ } else {
+ list_del(&orig_skb->tcp_tsorted_anchor);
+ tcp_rtx_queue_unlink(orig_skb, sk);
+ INIT_LIST_HEAD(&orig_skb->tcp_tsorted_anchor);
+ }
+ sock_set_flag(sk, SOCK_QUEUE_SHRUNK);
+ sk->sk_wmem_queued -= orig_skb->truesize;
@ -19352,8 +19363,10 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp
+ TCP_FRAG_IN_WRITE_QUEUE);
+ }
+
+ skb_rbtree_walk_safe(skb_it, &sk->tcp_rtx_queue, tmp) {
+ skb_it = tcp_rtx_queue_head(sk);
+ skb_rbtree_walk_from_safe(skb_it, tmp) {
+ struct tcp_skb_cb *tcb = TCP_SKB_CB(skb_it);
+
+ /* Subflow syn's and fin's are not reinjected.
+ *
+ * As well as empty subflow-fins with a data-fin.
@ -19737,7 +19750,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp
+ tcp_event_new_data_sent(meta_sk, skb);
+
+ __tcp_push_pending_frames(subsk, mss, TCP_NAGLE_PUSH);
+ skb->skb_mstamp = meta_tp->tcp_mstamp;
+ tcp_update_skb_after_send(meta_tp, skb);
+ meta_tp->lsndtime = tcp_jiffies32;
+
+ return 0;
@ -19885,7 +19898,8 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp
+ * always push on the subflow
+ */
+ __tcp_push_pending_frames(subsk, mss_now, TCP_NAGLE_PUSH);
+ skb->skb_mstamp = meta_tp->tcp_mstamp;
+ if (reinject <= 0)
+ tcp_update_skb_after_send(meta_tp, skb);
+ meta_tp->lsndtime = tcp_jiffies32;
+
+ path_mask |= mptcp_pi_to_flag(subtp->mptcp->path_index);
@ -20624,7 +20638,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp
+ }
+
+ __tcp_push_pending_frames(subsk, mss_now, TCP_NAGLE_PUSH);
+ skb->skb_mstamp = meta_tp->tcp_mstamp;
+ tcp_update_skb_after_send(meta_tp, skb);
+ meta_tp->lsndtime = tcp_jiffies32;
+
+ return 0;
@ -20958,7 +20972,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp
+
diff -aurN linux-4.19.44/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c
--- linux-4.19.44/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,226 @@
+/*
+ * MPTCP implementation - MPTCP-subflow-management
@ -21188,7 +21202,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.95/net/mptcp/mptcp_
+late_initcall(mptcp_path_manager_default);
diff -aurN linux-4.19.44/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c
--- linux-4.19.44/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,389 @@
+/*
+ * MPTCP Scheduler to reduce latency and jitter.
@ -21581,7 +21595,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.95/net/mptcp
+MODULE_VERSION("0.90");
diff -aurN linux-4.19.44/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c
--- linux-4.19.44/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,309 @@
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
+
@ -21894,7 +21908,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.95/net/mptcp/mptcp_
+MODULE_VERSION("0.89");
diff -aurN linux-4.19.44/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c
--- linux-4.19.44/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,635 @@
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
+
@ -22533,7 +22547,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mpt
+late_initcall(mptcp_scheduler_default);
diff -aurN linux-4.19.44/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c
--- linux-4.19.44/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c 2019-05-29 16:32:06.000000000 +0200
@@ -0,0 +1,271 @@
+/*
+ * MPTCP implementation - WEIGHTED VEGAS
@ -22808,7 +22822,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.95/net/mptcp/mp
+MODULE_VERSION("0.1");
diff -aurN linux-4.19.44/tools/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h
--- linux-4.19.44/tools/include/uapi/linux/bpf.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h 2019-05-23 10:38:14.000000000 +0200
+++ mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h 2019-05-29 16:32:06.000000000 +0200
@@ -2671,6 +2671,7 @@
BPF_TCP_LISTEN,
BPF_TCP_CLOSING, /* Now a valid state */