From ff41b75b941f4b23aa9883b7ab7d96b696e64f31 Mon Sep 17 00:00:00 2001 From: Ycarus Date: Tue, 30 Apr 2019 17:46:36 +0200 Subject: [PATCH] Update MPTCP patch --- .../generic/hack-4.19/690-mptcp_v0.95.patch | 531 +++++++++--------- 1 file changed, 280 insertions(+), 251 deletions(-) diff --git a/root/target/linux/generic/hack-4.19/690-mptcp_v0.95.patch b/root/target/linux/generic/hack-4.19/690-mptcp_v0.95.patch index 78fc51ed..d8649784 100644 --- a/root/target/linux/generic/hack-4.19/690-mptcp_v0.95.patch +++ b/root/target/linux/generic/hack-4.19/690-mptcp_v0.95.patch @@ -1,6 +1,6 @@ -diff -aurN linux-4.19.27/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt ---- linux-4.19.27/Documentation/networking/ip-sysctl.txt 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt +--- linux-4.19.36/Documentation/networking/ip-sysctl.txt 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt 2019-04-21 02:00:24.000000000 +0200 @@ -754,6 +754,18 @@ in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks) Default: 100 @@ -20,10 +20,10 @@ diff -aurN linux-4.19.27/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.9 UDP variables: udp_l3mdev_accept - BOOLEAN -diff -aurN linux-4.19.27/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c ---- linux-4.19.27/drivers/infiniband/hw/cxgb4/cm.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c 2019-04-05 23:12:06.000000000 +0200 -@@ -3776,7 +3776,7 @@ +diff -aurN linux-4.19.36/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c +--- linux-4.19.36/drivers/infiniband/hw/cxgb4/cm.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c 2019-04-21 02:00:24.000000000 +0200 +@@ -3777,7 +3777,7 @@ */ memset(&tmp_opt, 0, sizeof(tmp_opt)); tcp_clear_options(&tmp_opt); @@ -32,9 +32,9 @@ diff -aurN linux-4.19.27/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.95/driv req = __skb_push(skb, sizeof(*req)); memset(req, 0, sizeof(*req)); -diff -aurN linux-4.19.27/include/linux/skbuff.h mptcp-mptcp_v0.95/include/linux/skbuff.h ---- linux-4.19.27/include/linux/skbuff.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/linux/skbuff.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/linux/skbuff.h mptcp-mptcp_v0.95/include/linux/skbuff.h +--- linux-4.19.36/include/linux/skbuff.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/linux/skbuff.h 2019-04-21 02:00:24.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. @@ -56,9 +56,9 @@ diff -aurN linux-4.19.27/include/linux/skbuff.h mptcp-mptcp_v0.95/include/linux/ #define skb_rbtree_walk_from(skb) \ for (; skb != NULL; \ skb = skb_rb_next(skb)) -diff -aurN linux-4.19.27/include/linux/tcp.h mptcp-mptcp_v0.95/include/linux/tcp.h ---- linux-4.19.27/include/linux/tcp.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/linux/tcp.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/linux/tcp.h mptcp-mptcp_v0.95/include/linux/tcp.h +--- linux-4.19.36/include/linux/tcp.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/linux/tcp.h 2019-04-21 02:00:24.000000000 +0200 @@ -58,7 +58,7 @@ /* TCP Fast Open */ #define TCP_FASTOPEN_COOKIE_MIN 4 /* Min Fast Open Cookie size in bytes */ @@ -215,9 +215,9 @@ diff -aurN linux-4.19.27/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.27/include/net/inet_common.h mptcp-mptcp_v0.95/include/net/inet_common.h ---- linux-4.19.27/include/net/inet_common.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/inet_common.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/inet_common.h mptcp-mptcp_v0.95/include/net/inet_common.h +--- linux-4.19.36/include/net/inet_common.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/inet_common.h 2019-04-21 02:00:24.000000000 +0200 @@ -2,6 +2,8 @@ #ifndef _INET_COMMON_H #define _INET_COMMON_H @@ -236,9 +236,9 @@ diff -aurN linux-4.19.27/include/net/inet_common.h mptcp-mptcp_v0.95/include/net 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.19.27/include/net/inet_connection_sock.h mptcp-mptcp_v0.95/include/net/inet_connection_sock.h ---- linux-4.19.27/include/net/inet_connection_sock.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/inet_connection_sock.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/inet_connection_sock.h mptcp-mptcp_v0.95/include/net/inet_connection_sock.h +--- linux-4.19.36/include/net/inet_connection_sock.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/inet_connection_sock.h 2019-04-21 02:00:24.000000000 +0200 @@ -29,6 +29,7 @@ struct inet_bind_bucket; @@ -247,9 +247,9 @@ diff -aurN linux-4.19.27/include/net/inet_connection_sock.h mptcp-mptcp_v0.95/in /* * Pointers to address related TCP functions -diff -aurN linux-4.19.27/include/net/inet_sock.h mptcp-mptcp_v0.95/include/net/inet_sock.h ---- linux-4.19.27/include/net/inet_sock.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/inet_sock.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/inet_sock.h mptcp-mptcp_v0.95/include/net/inet_sock.h +--- linux-4.19.36/include/net/inet_sock.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/inet_sock.h 2019-04-21 02:00:24.000000000 +0200 @@ -83,7 +83,7 @@ #define ireq_state req.__req_common.skc_state #define ireq_family req.__req_common.skc_family @@ -268,10 +268,10 @@ diff -aurN linux-4.19.27/include/net/inet_sock.h mptcp-mptcp_v0.95/include/net/i smc_ok : 1; u32 ir_mark; union { -diff -aurN linux-4.19.27/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp.h ---- linux-4.19.27/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/mptcp.h 2019-04-05 23:12:06.000000000 +0200 -@@ -0,0 +1,1489 @@ +diff -aurN linux-4.19.36/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp.h +--- linux-4.19.36/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/include/net/mptcp.h 2019-04-21 02:00:24.000000000 +0200 +@@ -0,0 +1,1490 @@ +/* + * MPTCP implementation + * @@ -1752,6 +1752,7 @@ diff -aurN linux-4.19.27/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp +static inline void mptcp_cookies_reqsk_init(struct request_sock *req, + struct mptcp_options_received *mopt, + struct sk_buff *skb) {} ++static inline void mptcp_mpcb_put(struct mptcp_cb *mpcb) {} +static inline void mptcp_fin(struct sock *meta_sk) {} +static inline bool mptcp_can_new_subflow(const struct sock *meta_sk) +{ @@ -1761,9 +1762,9 @@ diff -aurN linux-4.19.27/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp +#endif /* CONFIG_MPTCP */ + +#endif /* _MPTCP_H */ -diff -aurN linux-4.19.27/include/net/mptcp_v4.h mptcp-mptcp_v0.95/include/net/mptcp_v4.h ---- linux-4.19.27/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/mptcp_v4.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/mptcp_v4.h mptcp-mptcp_v0.95/include/net/mptcp_v4.h +--- linux-4.19.36/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/include/net/mptcp_v4.h 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,76 @@ +/* + * MPTCP implementation @@ -1841,9 +1842,9 @@ diff -aurN linux-4.19.27/include/net/mptcp_v4.h mptcp-mptcp_v0.95/include/net/mp +#endif /* CONFIG_MPTCP */ + +#endif /* MPTCP_V4_H_ */ -diff -aurN linux-4.19.27/include/net/mptcp_v6.h mptcp-mptcp_v0.95/include/net/mptcp_v6.h ---- linux-4.19.27/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/mptcp_v6.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/mptcp_v6.h mptcp-mptcp_v0.95/include/net/mptcp_v6.h +--- linux-4.19.36/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/include/net/mptcp_v6.h 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,77 @@ +/* + * MPTCP implementation @@ -1922,9 +1923,9 @@ diff -aurN linux-4.19.27/include/net/mptcp_v6.h mptcp-mptcp_v0.95/include/net/mp +#endif /* CONFIG_MPTCP */ + +#endif /* _MPTCP_V6_H */ -diff -aurN linux-4.19.27/include/net/net_namespace.h mptcp-mptcp_v0.95/include/net/net_namespace.h ---- linux-4.19.27/include/net/net_namespace.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/net_namespace.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/net_namespace.h mptcp-mptcp_v0.95/include/net/net_namespace.h +--- linux-4.19.36/include/net/net_namespace.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/net_namespace.h 2019-04-21 02:00:24.000000000 +0200 @@ -19,6 +19,7 @@ #include #include @@ -1933,7 +1934,7 @@ diff -aurN linux-4.19.27/include/net/net_namespace.h mptcp-mptcp_v0.95/include/n #include #include #include -@@ -109,6 +110,9 @@ +@@ -110,6 +111,9 @@ #if IS_ENABLED(CONFIG_IPV6) struct netns_ipv6 ipv6; #endif @@ -1943,9 +1944,9 @@ diff -aurN linux-4.19.27/include/net/net_namespace.h mptcp-mptcp_v0.95/include/n #if IS_ENABLED(CONFIG_IEEE802154_6LOWPAN) struct netns_ieee802154_lowpan ieee802154_lowpan; #endif -diff -aurN linux-4.19.27/include/net/netns/mptcp.h mptcp-mptcp_v0.95/include/net/netns/mptcp.h ---- linux-4.19.27/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/netns/mptcp.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/netns/mptcp.h mptcp-mptcp_v0.95/include/net/netns/mptcp.h +--- linux-4.19.36/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/include/net/netns/mptcp.h 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,52 @@ +/* + * MPTCP implementation - MPTCP namespace @@ -1999,9 +2000,9 @@ diff -aurN linux-4.19.27/include/net/netns/mptcp.h mptcp-mptcp_v0.95/include/net +}; + +#endif /* __NETNS_MPTCP_H__ */ -diff -aurN linux-4.19.27/include/net/snmp.h mptcp-mptcp_v0.95/include/net/snmp.h ---- linux-4.19.27/include/net/snmp.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/snmp.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/snmp.h mptcp-mptcp_v0.95/include/net/snmp.h +--- linux-4.19.36/include/net/snmp.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/snmp.h 2019-04-21 02:00:24.000000000 +0200 @@ -91,7 +91,6 @@ atomic_long_t mibs[ICMP6MSG_MIB_MAX]; }; @@ -2010,10 +2011,10 @@ diff -aurN linux-4.19.27/include/net/snmp.h mptcp-mptcp_v0.95/include/net/snmp.h /* TCP */ #define TCP_MIB_MAX __TCP_MIB_MAX struct tcp_mib { -diff -aurN linux-4.19.27/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h ---- linux-4.19.27/include/net/sock.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/sock.h 2019-04-05 23:12:06.000000000 +0200 -@@ -804,6 +804,7 @@ +diff -aurN linux-4.19.36/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h +--- linux-4.19.36/include/net/sock.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/sock.h 2019-04-21 02:00:24.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() */ SOCK_TXTIME, @@ -2021,7 +2022,7 @@ diff -aurN linux-4.19.27/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h }; #define SK_FLAGS_TIMESTAMP ((1UL << SOCK_TIMESTAMP) | (1UL << SOCK_TIMESTAMPING_RX_SOFTWARE)) -@@ -1107,6 +1108,7 @@ +@@ -1113,6 +1114,7 @@ void (*unhash)(struct sock *sk); void (*rehash)(struct sock *sk); int (*get_port)(struct sock *sk, unsigned short snum); @@ -2029,9 +2030,9 @@ diff -aurN linux-4.19.27/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h /* Keeping track of sockets in use */ #ifdef CONFIG_PROC_FS -diff -aurN linux-4.19.27/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h ---- linux-4.19.27/include/net/tcp.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/tcp.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h +--- linux-4.19.36/include/net/tcp.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/tcp.h 2019-04-21 02:00:24.000000000 +0200 @@ -183,6 +183,7 @@ #define TCPOPT_SACK 5 /* SACK Block */ #define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */ @@ -2351,9 +2352,9 @@ diff -aurN linux-4.19.27/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h const struct sock *sk, struct sk_buff *skb, __u16 *mss) { -diff -aurN linux-4.19.27/include/net/tcp_states.h mptcp-mptcp_v0.95/include/net/tcp_states.h ---- linux-4.19.27/include/net/tcp_states.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/tcp_states.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/tcp_states.h mptcp-mptcp_v0.95/include/net/tcp_states.h +--- linux-4.19.36/include/net/tcp_states.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/tcp_states.h 2019-04-21 02:00:24.000000000 +0200 @@ -26,6 +26,7 @@ TCP_LISTEN, TCP_CLOSING, /* Now a valid state */ @@ -2370,9 +2371,9 @@ diff -aurN linux-4.19.27/include/net/tcp_states.h mptcp-mptcp_v0.95/include/net/ }; #endif /* _LINUX_TCP_STATES_H */ -diff -aurN linux-4.19.27/include/net/transp_v6.h mptcp-mptcp_v0.95/include/net/transp_v6.h ---- linux-4.19.27/include/net/transp_v6.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/net/transp_v6.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/net/transp_v6.h mptcp-mptcp_v0.95/include/net/transp_v6.h +--- linux-4.19.36/include/net/transp_v6.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/net/transp_v6.h 2019-04-21 02:00:24.000000000 +0200 @@ -58,6 +58,8 @@ /* address family specific functions */ @@ -2382,9 +2383,9 @@ diff -aurN linux-4.19.27/include/net/transp_v6.h mptcp-mptcp_v0.95/include/net/t void inet6_destroy_sock(struct sock *sk); -diff -aurN linux-4.19.27/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/include/uapi/linux/bpf.h ---- linux-4.19.27/include/uapi/linux/bpf.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/uapi/linux/bpf.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/include/uapi/linux/bpf.h +--- linux-4.19.36/include/uapi/linux/bpf.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/uapi/linux/bpf.h 2019-04-21 02:00:24.000000000 +0200 @@ -2671,6 +2671,7 @@ BPF_TCP_LISTEN, BPF_TCP_CLOSING, /* Now a valid state */ @@ -2393,9 +2394,9 @@ diff -aurN linux-4.19.27/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/include/uapi BPF_TCP_MAX_STATES /* Leave at the end! */ }; -diff -aurN linux-4.19.27/include/uapi/linux/if.h mptcp-mptcp_v0.95/include/uapi/linux/if.h ---- linux-4.19.27/include/uapi/linux/if.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/uapi/linux/if.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/uapi/linux/if.h mptcp-mptcp_v0.95/include/uapi/linux/if.h +--- linux-4.19.36/include/uapi/linux/if.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/uapi/linux/if.h 2019-04-21 02:00:24.000000000 +0200 @@ -132,6 +132,9 @@ #define IFF_ECHO IFF_ECHO #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */ @@ -2406,11 +2407,11 @@ diff -aurN linux-4.19.27/include/uapi/linux/if.h mptcp-mptcp_v0.95/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.19.27/include/uapi/linux/mptcp.h mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h ---- linux-4.19.27/include/uapi/linux/mptcp.h 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/uapi/linux/mptcp.h mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h +--- linux-4.19.36/include/uapi/linux/mptcp.h 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,149 @@ -+/* SPDX-License-Identifier: GPL-2.0 */ ++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Netlink API for Multipath TCP + * @@ -2559,9 +2560,9 @@ diff -aurN linux-4.19.27/include/uapi/linux/mptcp.h mptcp-mptcp_v0.95/include/ua +}; + +#endif /* _LINUX_MPTCP_H */ -diff -aurN linux-4.19.27/include/uapi/linux/tcp.h mptcp-mptcp_v0.95/include/uapi/linux/tcp.h ---- linux-4.19.27/include/uapi/linux/tcp.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/include/uapi/linux/tcp.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/include/uapi/linux/tcp.h mptcp-mptcp_v0.95/include/uapi/linux/tcp.h +--- linux-4.19.36/include/uapi/linux/tcp.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/include/uapi/linux/tcp.h 2019-04-21 02:00:24.000000000 +0200 @@ -18,9 +18,15 @@ #ifndef _UAPI_LINUX_TCP_H #define _UAPI_LINUX_TCP_H @@ -2647,10 +2648,10 @@ diff -aurN linux-4.19.27/include/uapi/linux/tcp.h mptcp-mptcp_v0.95/include/uapi /* for TCP_MD5SIG socket option */ #define TCP_MD5SIG_MAXKEYLEN 80 -diff -aurN linux-4.19.27/net/core/dev.c mptcp-mptcp_v0.95/net/core/dev.c ---- linux-4.19.27/net/core/dev.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/core/dev.c 2019-04-05 23:12:06.000000000 +0200 -@@ -7455,7 +7455,7 @@ +diff -aurN linux-4.19.36/net/core/dev.c mptcp-mptcp_v0.95/net/core/dev.c +--- linux-4.19.36/net/core/dev.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/core/dev.c 2019-04-21 02:00:24.000000000 +0200 +@@ -7457,7 +7457,7 @@ dev->flags = (flags & (IFF_DEBUG | IFF_NOTRAILERS | IFF_NOARP | IFF_DYNAMIC | IFF_MULTICAST | IFF_PORTSEL | @@ -2659,9 +2660,9 @@ diff -aurN linux-4.19.27/net/core/dev.c mptcp-mptcp_v0.95/net/core/dev.c (dev->flags & (IFF_UP | IFF_VOLATILE | IFF_PROMISC | IFF_ALLMULTI)); -diff -aurN linux-4.19.27/net/core/skbuff.c mptcp-mptcp_v0.95/net/core/skbuff.c ---- linux-4.19.27/net/core/skbuff.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/core/skbuff.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/core/skbuff.c mptcp-mptcp_v0.95/net/core/skbuff.c +--- linux-4.19.36/net/core/skbuff.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/core/skbuff.c 2019-04-21 02:00:24.000000000 +0200 @@ -536,7 +536,7 @@ skb_drop_list(&skb_shinfo(skb)->frag_list); } @@ -2671,9 +2672,9 @@ diff -aurN linux-4.19.27/net/core/skbuff.c mptcp-mptcp_v0.95/net/core/skbuff.c { struct sk_buff *list; -diff -aurN linux-4.19.27/net/core/sock.c mptcp-mptcp_v0.95/net/core/sock.c ---- linux-4.19.27/net/core/sock.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/core/sock.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/core/sock.c mptcp-mptcp_v0.95/net/core/sock.c +--- linux-4.19.36/net/core/sock.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/core/sock.c 2019-04-21 02:00:24.000000000 +0200 @@ -140,6 +140,11 @@ #include @@ -2733,9 +2734,9 @@ diff -aurN linux-4.19.27/net/core/sock.c mptcp-mptcp_v0.95/net/core/sock.c mem_cgroup_sk_alloc(newsk); cgroup_sk_alloc(&newsk->sk_cgrp_data); -diff -aurN linux-4.19.27/net/ipv4/af_inet.c mptcp-mptcp_v0.95/net/ipv4/af_inet.c ---- linux-4.19.27/net/ipv4/af_inet.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/af_inet.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/af_inet.c mptcp-mptcp_v0.95/net/ipv4/af_inet.c +--- linux-4.19.36/net/ipv4/af_inet.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/af_inet.c 2019-04-21 02:00:24.000000000 +0200 @@ -104,6 +104,7 @@ #include #include @@ -2799,9 +2800,9 @@ diff -aurN linux-4.19.27/net/ipv4/af_inet.c mptcp-mptcp_v0.95/net/ipv4/af_inet.c /* Setup TCP slab cache for open requests. */ tcp_init(); -diff -aurN linux-4.19.27/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.c ---- linux-4.19.27/net/ipv4/inet_connection_sock.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.c +--- linux-4.19.36/net/ipv4/inet_connection_sock.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.c 2019-04-21 02:00:24.000000000 +0200 @@ -23,6 +23,7 @@ #include #include @@ -2859,9 +2860,9 @@ diff -aurN linux-4.19.27/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.95/net/i sock_put(child); cond_resched(); -diff -aurN linux-4.19.27/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c ---- linux-4.19.27/net/ipv4/ip_sockglue.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c +--- linux-4.19.36/net/ipv4/ip_sockglue.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c 2019-04-21 02:00:24.000000000 +0200 @@ -44,6 +44,8 @@ #endif #include @@ -2901,9 +2902,9 @@ diff -aurN linux-4.19.27/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.95/net/ipv4/ip_so } break; case IP_TTL: -diff -aurN linux-4.19.27/net/ipv4/Kconfig mptcp-mptcp_v0.95/net/ipv4/Kconfig ---- linux-4.19.27/net/ipv4/Kconfig 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/Kconfig 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/Kconfig mptcp-mptcp_v0.95/net/ipv4/Kconfig +--- linux-4.19.36/net/ipv4/Kconfig 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/Kconfig 2019-04-21 02:00:24.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. @@ -2989,9 +2990,9 @@ diff -aurN linux-4.19.27/net/ipv4/Kconfig mptcp-mptcp_v0.95/net/ipv4/Kconfig default "reno" if DEFAULT_RENO default "dctcp" if DEFAULT_DCTCP default "cdg" if DEFAULT_CDG -diff -aurN linux-4.19.27/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncookies.c ---- linux-4.19.27/net/ipv4/syncookies.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/syncookies.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncookies.c +--- linux-4.19.36/net/ipv4/syncookies.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/syncookies.c 2019-04-21 02:00:24.000000000 +0200 @@ -16,6 +16,8 @@ #include #include @@ -3039,7 +3040,7 @@ diff -aurN linux-4.19.27/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo if (child) { refcount_set(&req->rsk_refcnt, 1); tcp_sk(child)->tsoffset = tsoff; -@@ -284,6 +305,7 @@ +@@ -289,6 +310,7 @@ { struct ip_options *opt = &TCP_SKB_CB(skb)->header.h4.opt; struct tcp_options_received tcp_opt; @@ -3047,7 +3048,7 @@ diff -aurN linux-4.19.27/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo struct inet_request_sock *ireq; struct tcp_request_sock *treq; struct tcp_sock *tp = tcp_sk(sk); -@@ -313,7 +335,8 @@ +@@ -318,7 +340,8 @@ /* check for timestamp cookie support */ memset(&tcp_opt, 0, sizeof(tcp_opt)); @@ -3057,7 +3058,7 @@ diff -aurN linux-4.19.27/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo if (tcp_opt.saw_tstamp && tcp_opt.rcv_tsecr) { tsoff = secure_tcp_ts_off(sock_net(sk), -@@ -326,7 +349,12 @@ +@@ -331,7 +354,12 @@ goto out; ret = NULL; @@ -3071,7 +3072,7 @@ diff -aurN linux-4.19.27/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo if (!req) goto out; -@@ -346,6 +374,8 @@ +@@ -351,6 +379,8 @@ ireq->sack_ok = tcp_opt.sack_ok; ireq->wscale_ok = tcp_opt.wscale_ok; ireq->tstamp_ok = tcp_opt.saw_tstamp; @@ -3080,7 +3081,7 @@ diff -aurN linux-4.19.27/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo req->ts_recent = tcp_opt.saw_tstamp ? tcp_opt.rcv_tsval : 0; treq->snt_synack = 0; treq->tfo_listener = false; -@@ -354,6 +384,9 @@ +@@ -359,6 +389,9 @@ ireq->ir_iif = inet_request_bound_dev_if(sk, skb); @@ -3090,7 +3091,7 @@ diff -aurN linux-4.19.27/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo /* We throwed the options of the initial SYN away, so we hope * the ACK carries the same options again (see RFC1122 4.2.3.8) */ -@@ -387,10 +420,10 @@ +@@ -392,10 +425,10 @@ /* Try to redo what tcp_v4_send_synack did. */ req->rsk_window_clamp = tp->window_clamp ? :dst_metric(&rt->dst, RTAX_WINDOW); @@ -3105,9 +3106,9 @@ diff -aurN linux-4.19.27/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo ireq->rcv_wscale = rcv_wscale; ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), &rt->dst); -diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c ---- linux-4.19.27/net/ipv4/tcp.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/tcp.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c +--- linux-4.19.36/net/ipv4/tcp.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/tcp.c 2019-04-21 02:00:24.000000000 +0200 @@ -274,6 +274,7 @@ #include @@ -3335,7 +3336,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c } return copied; } -@@ -1938,6 +2009,16 @@ +@@ -1943,6 +2014,16 @@ lock_sock(sk); @@ -3352,7 +3353,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c err = -ENOTCONN; if (sk->sk_state == TCP_LISTEN) goto out; -@@ -2056,7 +2137,7 @@ +@@ -2061,7 +2142,7 @@ } } @@ -3361,7 +3362,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c if (copied >= target) { /* Do not sleep, just process backlog. */ -@@ -2147,7 +2228,7 @@ +@@ -2152,7 +2233,7 @@ */ /* Clean up data we have read: This will do ACK frames. */ @@ -3370,7 +3371,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c release_sock(sk); -@@ -2259,7 +2340,7 @@ +@@ -2264,7 +2345,7 @@ [TCP_NEW_SYN_RECV] = TCP_CLOSE, /* should not happen ! */ }; @@ -3379,7 +3380,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c { int next = (int)new_state[sk->sk_state]; int ns = next & TCP_STATE_MASK; -@@ -2289,7 +2370,7 @@ +@@ -2294,7 +2375,7 @@ TCPF_SYN_RECV | TCPF_CLOSE_WAIT)) { /* Clear out any half completed packets. FIN if needed. */ if (tcp_close_state(sk)) @@ -3388,7 +3389,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c } } EXPORT_SYMBOL(tcp_shutdown); -@@ -2314,6 +2395,17 @@ +@@ -2319,6 +2400,17 @@ int data_was_unread = 0; int state; @@ -3406,7 +3407,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c lock_sock(sk); sk->sk_shutdown = SHUTDOWN_MASK; -@@ -2358,7 +2450,7 @@ +@@ -2363,7 +2455,7 @@ /* Unread data was tossed, zap the connection. */ NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPABORTONCLOSE); tcp_set_state(sk, TCP_CLOSE); @@ -3415,7 +3416,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c } else if (sock_flag(sk, SOCK_LINGER) && !sk->sk_lingertime) { /* Check zero linger _after_ checking for unread data. */ sk->sk_prot->disconnect(sk, 0); -@@ -2432,7 +2524,7 @@ +@@ -2437,7 +2529,7 @@ struct tcp_sock *tp = tcp_sk(sk); if (tp->linger2 < 0) { tcp_set_state(sk, TCP_CLOSE); @@ -3424,7 +3425,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c __NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPABORTONLINGER); } else { -@@ -2442,7 +2534,8 @@ +@@ -2447,7 +2539,8 @@ inet_csk_reset_keepalive_timer(sk, tmo - TCP_TIMEWAIT_LEN); } else { @@ -3434,7 +3435,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c goto out; } } -@@ -2451,7 +2544,7 @@ +@@ -2456,7 +2549,7 @@ sk_mem_reclaim(sk); if (tcp_check_oom(sk, 0)) { tcp_set_state(sk, TCP_CLOSE); @@ -3443,7 +3444,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c __NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPABORTONMEMORY); } else if (!check_net(sock_net(sk))) { -@@ -2480,15 +2573,6 @@ +@@ -2485,15 +2578,6 @@ } EXPORT_SYMBOL(tcp_close); @@ -3459,7 +3460,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c static void tcp_rtx_queue_purge(struct sock *sk) { struct rb_node *p = rb_first(&sk->tcp_rtx_queue); -@@ -2509,6 +2593,10 @@ +@@ -2514,6 +2598,10 @@ { struct sk_buff *skb; @@ -3470,7 +3471,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c tcp_chrono_stop(sk, TCP_CHRONO_BUSY); while ((skb = __skb_dequeue(&sk->sk_write_queue)) != NULL) { tcp_skb_tsorted_anchor_cleanup(skb); -@@ -2543,7 +2631,7 @@ +@@ -2548,7 +2636,7 @@ /* The last check adjusts for discrepancy of Linux wrt. RFC * states */ @@ -3479,7 +3480,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c sk->sk_err = ECONNRESET; } else if (old_state == TCP_SYN_SENT) sk->sk_err = ECONNRESET; -@@ -2561,6 +2649,13 @@ +@@ -2566,6 +2654,13 @@ if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) inet_reset_saddr(sk); @@ -3493,7 +3494,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c sk->sk_shutdown = 0; sock_reset_flag(sk, SOCK_DONE); tp->srtt_us = 0; -@@ -2613,7 +2708,7 @@ +@@ -2618,7 +2713,7 @@ static inline bool tcp_can_repair_sock(const struct sock *sk) { return ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN) && @@ -3502,7 +3503,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c } static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int len) -@@ -2757,6 +2852,61 @@ +@@ -2762,6 +2857,61 @@ return tcp_fastopen_reset_cipher(net, sk, key, sizeof(key)); } @@ -3564,7 +3565,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c default: /* fallthru */ break; -@@ -2937,6 +3087,12 @@ +@@ -2942,6 +3092,12 @@ break; case TCP_DEFER_ACCEPT: @@ -3577,7 +3578,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c /* Translate value in seconds to number of retransmits */ icsk->icsk_accept_queue.rskq_defer_accept = secs_to_retrans(val, TCP_TIMEOUT_INIT / HZ, -@@ -2964,7 +3120,7 @@ +@@ -2969,7 +3125,7 @@ (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT) && inet_csk_ack_scheduled(sk)) { icsk->icsk_ack.pending |= ICSK_ACK_PUSHED; @@ -3586,7 +3587,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c if (!(val & 1)) icsk->icsk_ack.pingpong = 1; } -@@ -2974,7 +3130,7 @@ +@@ -2979,7 +3135,7 @@ #ifdef CONFIG_TCP_MD5SIG case TCP_MD5SIG: case TCP_MD5SIG_EXT: @@ -3595,7 +3596,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c err = tp->af_specific->md5_parse(sk, optname, optval, optlen); else err = -EINVAL; -@@ -3033,6 +3189,32 @@ +@@ -3038,6 +3194,32 @@ tp->notsent_lowat = val; sk->sk_write_space(sk); break; @@ -3628,7 +3629,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c case TCP_INQ: if (val > 1 || val < 0) err = -EINVAL; -@@ -3092,7 +3274,7 @@ +@@ -3097,7 +3279,7 @@ } /* Return information about state of tcp endpoint in API format. */ @@ -3637,7 +3638,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c { const struct tcp_sock *tp = tcp_sk(sk); /* iff sk_type == SOCK_STREAM */ const struct inet_connection_sock *icsk = inet_csk(sk); -@@ -3129,7 +3311,8 @@ +@@ -3134,7 +3316,8 @@ return; } @@ -3647,7 +3648,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c info->tcpi_ca_state = icsk->icsk_ca_state; info->tcpi_retransmits = icsk->icsk_retransmits; -@@ -3203,7 +3386,9 @@ +@@ -3208,7 +3391,9 @@ info->tcpi_bytes_retrans = tp->bytes_retrans; info->tcpi_dsack_dups = tp->dsack_dups; info->tcpi_reord_seen = tp->reord_seen; @@ -3658,7 +3659,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c } EXPORT_SYMBOL_GPL(tcp_get_info); -@@ -3348,7 +3533,7 @@ +@@ -3353,7 +3538,7 @@ if (get_user(len, optlen)) return -EFAULT; @@ -3667,7 +3668,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c len = min_t(unsigned int, len, sizeof(info)); if (put_user(len, optlen)) -@@ -3539,6 +3724,87 @@ +@@ -3544,6 +3729,87 @@ } return 0; } @@ -3755,7 +3756,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c #ifdef CONFIG_MMU case TCP_ZEROCOPY_RECEIVE: { struct tcp_zerocopy_receive zc; -@@ -3732,7 +3998,9 @@ +@@ -3737,7 +4003,9 @@ if (sk->sk_state == TCP_SYN_SENT || sk->sk_state == TCP_SYN_RECV) TCP_INC_STATS(sock_net(sk), TCP_MIB_ATTEMPTFAILS); @@ -3765,7 +3766,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c tcp_clear_xmit_timers(sk); if (req) reqsk_fastopen_remove(sk, req, false); -@@ -3748,6 +4016,8 @@ +@@ -3753,6 +4021,8 @@ int tcp_abort(struct sock *sk, int err) { @@ -3774,7 +3775,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c if (!sk_fullsock(sk)) { if (sk->sk_state == TCP_NEW_SYN_RECV) { struct request_sock *req = inet_reqsk(sk); -@@ -3761,7 +4031,7 @@ +@@ -3766,7 +4036,7 @@ } /* Don't race with userspace socket closes such as tcp_close. */ @@ -3783,7 +3784,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c if (sk->sk_state == TCP_LISTEN) { tcp_set_state(sk, TCP_CLOSE); -@@ -3770,7 +4040,7 @@ +@@ -3775,7 +4045,7 @@ /* Don't race with BH socket closes such as inet_csk_listen_stop. */ local_bh_disable(); @@ -3792,7 +3793,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c if (!sock_flag(sk, SOCK_DEAD)) { sk->sk_err = err; -@@ -3778,14 +4048,14 @@ +@@ -3783,14 +4053,14 @@ smp_wmb(); sk->sk_error_report(sk); if (tcp_need_reset(sk->sk_state)) @@ -3810,9 +3811,9 @@ diff -aurN linux-4.19.27/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c return 0; } EXPORT_SYMBOL_GPL(tcp_abort); -diff -aurN linux-4.19.27/net/ipv4/tcp_diag.c mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c ---- linux-4.19.27/net/ipv4/tcp_diag.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/tcp_diag.c mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c +--- linux-4.19.36/net/ipv4/tcp_diag.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c 2019-04-21 02:00:24.000000000 +0200 @@ -34,7 +34,7 @@ r->idiag_wqueue = tp->write_seq - tp->snd_una; } @@ -3822,9 +3823,9 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_diag.c mptcp-mptcp_v0.95/net/ipv4/tcp_diag } #ifdef CONFIG_TCP_MD5SIG -diff -aurN linux-4.19.27/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c ---- linux-4.19.27/net/ipv4/tcp_fastopen.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c +--- linux-4.19.36/net/ipv4/tcp_fastopen.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c 2019-04-21 02:00:24.000000000 +0200 @@ -9,6 +9,7 @@ #include #include @@ -3874,9 +3875,9 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.95/net/ipv4/tcp_ /* tcp_conn_request() is sending the SYNACK, * and queues the child into listener accept queue. */ -diff -aurN linux-4.19.27/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_input.c ---- linux-4.19.27/net/ipv4/tcp_input.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/tcp_input.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_input.c +--- linux-4.19.36/net/ipv4/tcp_input.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/tcp_input.c 2019-04-21 02:00:24.000000000 +0200 @@ -76,35 +76,15 @@ #include #include @@ -4714,9 +4715,37 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_inp req->cookie_ts = tmp_opt.tstamp_ok; if (!tmp_opt.tstamp_ok) inet_rsk(req)->ecn_ok = 0; -diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c ---- linux-4.19.27/net/ipv4/tcp_ipv4.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c 2019-04-05 23:12:06.000000000 +0200 +@@ -6511,18 +6707,26 @@ + fastopen_sk = tcp_try_fastopen(sk, skb, req, &foc, dst); + } + if (fastopen_sk) { ++ struct sock *meta_sk = fastopen_sk; ++ ++ if (mptcp(tcp_sk(fastopen_sk))) ++ meta_sk = mptcp_meta_sk(fastopen_sk); + af_ops->send_synack(fastopen_sk, dst, &fl, req, + &foc, TCP_SYNACK_FASTOPEN); + /* Add the child socket directly into the accept queue */ +- if (!inet_csk_reqsk_queue_add(sk, req, fastopen_sk)) { ++ if (!inet_csk_reqsk_queue_add(sk, req, meta_sk)) { + reqsk_fastopen_remove(fastopen_sk, req, false); + bh_unlock_sock(fastopen_sk); ++ if (meta_sk != fastopen_sk) ++ bh_unlock_sock(meta_sk); + sock_put(fastopen_sk); + reqsk_put(req); + goto drop; + } + sk->sk_data_ready(sk); + bh_unlock_sock(fastopen_sk); ++ if (meta_sk != fastopen_sk) ++ bh_unlock_sock(meta_sk); + sock_put(fastopen_sk); + } else { + tcp_rsk(req)->tfo_listener = false; +diff -aurN linux-4.19.36/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c +--- linux-4.19.36/net/ipv4/tcp_ipv4.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c 2019-04-21 02:00:24.000000000 +0200 @@ -67,6 +67,8 @@ #include #include @@ -5017,7 +5046,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */ struct dst_entry *dst = sk->sk_rx_dst; -@@ -1678,6 +1720,10 @@ +@@ -1671,6 +1713,10 @@ TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin + skb->len - th->doff * 4); TCP_SKB_CB(skb)->ack_seq = ntohl(th->ack_seq); @@ -5028,7 +5057,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 TCP_SKB_CB(skb)->tcp_flags = tcp_flag_byte(th); TCP_SKB_CB(skb)->tcp_tw_isn = 0; TCP_SKB_CB(skb)->ip_dsfield = ipv4_get_dsfield(iph); -@@ -1696,8 +1742,8 @@ +@@ -1689,8 +1735,8 @@ int sdif = inet_sdif(skb); const struct iphdr *iph; const struct tcphdr *th; @@ -5038,7 +5067,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 int ret; if (skb->pkt_type != PACKET_HOST) -@@ -1751,7 +1797,11 @@ +@@ -1744,7 +1790,11 @@ reqsk_put(req); goto csum_error; } @@ -5051,7 +5080,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 inet_csk_reqsk_queue_drop_and_put(sk, req); goto lookup; } -@@ -1760,6 +1810,7 @@ +@@ -1753,6 +1803,7 @@ */ sock_hold(sk); refcounted = true; @@ -5059,7 +5088,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 nsk = NULL; if (!tcp_filter(sk, skb)) { th = (const struct tcphdr *)skb->data; -@@ -1820,15 +1871,24 @@ +@@ -1813,15 +1864,24 @@ sk_incoming_cpu_update(sk); @@ -5088,7 +5117,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 put_and_return: if (refcounted) -@@ -1842,6 +1902,19 @@ +@@ -1835,6 +1895,19 @@ tcp_v4_fill_cb(skb, iph, th); @@ -5108,7 +5137,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 if (tcp_checksum_complete(skb)) { csum_error: __TCP_INC_STATS(net, TCP_MIB_CSUMERRORS); -@@ -1890,6 +1963,18 @@ +@@ -1883,6 +1956,18 @@ refcounted = false; goto process; } @@ -5127,7 +5156,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 } /* to ACK */ /* fall through */ -@@ -1959,7 +2044,12 @@ +@@ -1952,7 +2037,12 @@ tcp_init_sock(sk); @@ -5141,7 +5170,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 #ifdef CONFIG_TCP_MD5SIG tcp_sk(sk)->af_specific = &tcp_sock_ipv4_specific; -@@ -1978,6 +2068,11 @@ +@@ -1971,6 +2061,11 @@ tcp_cleanup_congestion_control(sk); @@ -5153,7 +5182,7 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 tcp_cleanup_ulp(sk); /* Cleanup up the write buffer. */ -@@ -2490,6 +2585,9 @@ +@@ -2483,6 +2578,9 @@ .compat_getsockopt = compat_tcp_getsockopt, #endif .diag_destroy = tcp_abort, @@ -5163,9 +5192,9 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4 }; EXPORT_SYMBOL(tcp_prot); -diff -aurN linux-4.19.27/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c ---- linux-4.19.27/net/ipv4/tcp_minisocks.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c +--- linux-4.19.36/net/ipv4/tcp_minisocks.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c 2019-04-21 02:00:24.000000000 +0200 @@ -18,11 +18,13 @@ * Jorge Cwik, */ @@ -5384,9 +5413,9 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.95/net/ipv4/tcp sock_put(child); return ret; } -diff -aurN linux-4.19.27/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_output.c ---- linux-4.19.27/net/ipv4/tcp_output.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/tcp_output.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_output.c +--- linux-4.19.36/net/ipv4/tcp_output.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/tcp_output.c 2019-04-21 02:00:24.000000000 +0200 @@ -36,6 +36,12 @@ #define pr_fmt(fmt) "TCP: " fmt @@ -5982,9 +6011,9 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_ou if (tp->packets_out || tcp_write_queue_empty(sk)) { /* Cancel probe timer, if it is not required. */ -diff -aurN linux-4.19.27/net/ipv4/tcp_timer.c mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c ---- linux-4.19.27/net/ipv4/tcp_timer.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv4/tcp_timer.c mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c +--- linux-4.19.36/net/ipv4/tcp_timer.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c 2019-04-21 02:00:24.000000000 +0200 @@ -20,6 +20,7 @@ #include @@ -6182,9 +6211,9 @@ diff -aurN linux-4.19.27/net/ipv4/tcp_timer.c mptcp-mptcp_v0.95/net/ipv4/tcp_tim sock_put(sk); } -diff -aurN linux-4.19.27/net/ipv6/addrconf.c mptcp-mptcp_v0.95/net/ipv6/addrconf.c ---- linux-4.19.27/net/ipv6/addrconf.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv6/addrconf.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv6/addrconf.c mptcp-mptcp_v0.95/net/ipv6/addrconf.c +--- linux-4.19.36/net/ipv6/addrconf.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv6/addrconf.c 2019-04-21 02:00:24.000000000 +0200 @@ -917,6 +917,7 @@ kfree_rcu(ifp, rcu); @@ -6193,9 +6222,9 @@ diff -aurN linux-4.19.27/net/ipv6/addrconf.c mptcp-mptcp_v0.95/net/ipv6/addrconf static void ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp) -diff -aurN linux-4.19.27/net/ipv6/af_inet6.c mptcp-mptcp_v0.95/net/ipv6/af_inet6.c ---- linux-4.19.27/net/ipv6/af_inet6.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv6/af_inet6.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv6/af_inet6.c mptcp-mptcp_v0.95/net/ipv6/af_inet6.c +--- linux-4.19.36/net/ipv6/af_inet6.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv6/af_inet6.c 2019-04-21 02:00:24.000000000 +0200 @@ -107,8 +107,7 @@ return (struct ipv6_pinfo *)(((u8 *)sk) + offset); } @@ -6206,9 +6235,9 @@ diff -aurN linux-4.19.27/net/ipv6/af_inet6.c mptcp-mptcp_v0.95/net/ipv6/af_inet6 { struct inet_sock *inet; struct ipv6_pinfo *np; -diff -aurN linux-4.19.27/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c ---- linux-4.19.27/net/ipv6/ipv6_sockglue.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c +--- linux-4.19.36/net/ipv6/ipv6_sockglue.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c 2019-04-21 02:00:24.000000000 +0200 @@ -48,6 +48,8 @@ #include #include @@ -6232,9 +6261,9 @@ diff -aurN linux-4.19.27/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.95/net/ipv6/ipv sk->sk_socket->ops = &inet_stream_ops; sk->sk_family = PF_INET; tcp_sync_mss(sk, icsk->icsk_pmtu_cookie); -diff -aurN linux-4.19.27/net/ipv6/syncookies.c mptcp-mptcp_v0.95/net/ipv6/syncookies.c ---- linux-4.19.27/net/ipv6/syncookies.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv6/syncookies.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv6/syncookies.c mptcp-mptcp_v0.95/net/ipv6/syncookies.c +--- linux-4.19.36/net/ipv6/syncookies.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv6/syncookies.c 2019-04-21 02:00:24.000000000 +0200 @@ -20,6 +20,8 @@ #include #include @@ -6316,9 +6345,9 @@ diff -aurN linux-4.19.27/net/ipv6/syncookies.c mptcp-mptcp_v0.95/net/ipv6/syncoo ireq->rcv_wscale = rcv_wscale; ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), dst); -diff -aurN linux-4.19.27/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c ---- linux-4.19.27/net/ipv6/tcp_ipv6.c 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c +--- linux-4.19.36/net/ipv6/tcp_ipv6.c 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c 2019-04-21 02:00:24.000000000 +0200 @@ -61,6 +61,8 @@ #include #include @@ -6901,9 +6930,9 @@ diff -aurN linux-4.19.27/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.27/net/Kconfig mptcp-mptcp_v0.95/net/Kconfig ---- linux-4.19.27/net/Kconfig 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/Kconfig 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/Kconfig mptcp-mptcp_v0.95/net/Kconfig +--- linux-4.19.36/net/Kconfig 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/Kconfig 2019-04-21 02:00:24.000000000 +0200 @@ -89,6 +89,7 @@ source "net/ipv4/Kconfig" source "net/ipv6/Kconfig" @@ -6912,9 +6941,9 @@ diff -aurN linux-4.19.27/net/Kconfig mptcp-mptcp_v0.95/net/Kconfig endif # if INET -diff -aurN linux-4.19.27/net/Makefile mptcp-mptcp_v0.95/net/Makefile ---- linux-4.19.27/net/Makefile 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/Makefile 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/Makefile mptcp-mptcp_v0.95/net/Makefile +--- linux-4.19.36/net/Makefile 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/net/Makefile 2019-04-21 02:00:24.000000000 +0200 @@ -20,6 +20,7 @@ obj-$(CONFIG_XFRM) += xfrm/ obj-$(CONFIG_UNIX) += unix/ @@ -6923,9 +6952,9 @@ diff -aurN linux-4.19.27/net/Makefile mptcp-mptcp_v0.95/net/Makefile obj-$(CONFIG_BPFILTER) += bpfilter/ obj-$(CONFIG_PACKET) += packet/ obj-$(CONFIG_NET_KEY) += key/ -diff -aurN linux-4.19.27/net/mptcp/Kconfig mptcp-mptcp_v0.95/net/mptcp/Kconfig ---- linux-4.19.27/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/Kconfig 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/Kconfig mptcp-mptcp_v0.95/net/mptcp/Kconfig +--- linux-4.19.36/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/Kconfig 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,146 @@ +# +# MPTCP configuration @@ -7073,9 +7102,9 @@ diff -aurN linux-4.19.27/net/mptcp/Kconfig mptcp-mptcp_v0.95/net/mptcp/Kconfig + default "redundant" if DEFAULT_REDUNDANT + default "default" + -diff -aurN linux-4.19.27/net/mptcp/Makefile mptcp-mptcp_v0.95/net/mptcp/Makefile ---- linux-4.19.27/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/Makefile 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/Makefile mptcp-mptcp_v0.95/net/mptcp/Makefile +--- linux-4.19.36/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/Makefile 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,24 @@ +# +## Makefile for MultiPath TCP support code. @@ -7101,9 +7130,9 @@ diff -aurN linux-4.19.27/net/mptcp/Makefile mptcp-mptcp_v0.95/net/mptcp/Makefile +obj-$(CONFIG_MPTCP_BLEST) += mptcp_blest.o + +mptcp-$(subst m,y,$(CONFIG_IPV6)) += mptcp_ipv6.o -diff -aurN linux-4.19.27/net/mptcp/mctcp_desync.c mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c ---- linux-4.19.27/net/mptcp/mctcp_desync.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mctcp_desync.c mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c +--- linux-4.19.36/net/mptcp/mctcp_desync.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,193 @@ +/* + * Desynchronized Multi-Channel TCP Congestion Control Algorithm @@ -7298,9 +7327,9 @@ diff -aurN linux-4.19.27/net/mptcp/mctcp_desync.c mptcp-mptcp_v0.95/net/mptcp/mc +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("MCTCP: DESYNCHRONIZED MULTICHANNEL TCP CONGESTION CONTROL"); +MODULE_VERSION("1.0"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c ---- linux-4.19.27/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c +--- linux-4.19.36/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,261 @@ +/* + * MPTCP implementation - Balia Congestion Control @@ -7563,9 +7592,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.95/net/mptcp/mpt +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("MPTCP BALIA CONGESTION CONTROL ALGORITHM"); +MODULE_VERSION("0.1"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c ---- linux-4.19.27/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c +--- linux-4.19.36/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,494 @@ +#include + @@ -8061,9 +8090,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.95/net/mptcp/mp +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("BINDER MPTCP"); +MODULE_VERSION("0.1"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_blest.c mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c ---- linux-4.19.27/net/mptcp/mptcp_blest.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_blest.c mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c +--- linux-4.19.36/net/mptcp/mptcp_blest.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,475 @@ +// SPDX-License-Identifier: GPL-2.0 +/* MPTCP Scheduler to reduce HoL-blocking and spurious retransmissions. @@ -8540,9 +8569,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_blest.c mptcp-mptcp_v0.95/net/mptcp/mpt +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("BLEST scheduler for MPTCP, based on default minimum RTT scheduler"); +MODULE_VERSION("0.95"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c ---- linux-4.19.27/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c +--- linux-4.19.36/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,262 @@ +/* + * MPTCP implementation - Linked Increase congestion control Algorithm (LIA) @@ -8806,9 +8835,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/m +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("MPTCP LINKED INCREASE CONGESTION CONTROL ALGORITHM"); +MODULE_VERSION("0.1"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c ---- linux-4.19.27/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c +--- linux-4.19.36/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,3112 @@ +/* + * MPTCP implementation - MPTCP-control @@ -11922,9 +11951,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptc +mptcp_sock_cache_failed: + mptcp_init_failed = true; +} -diff -aurN linux-4.19.27/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c ---- linux-4.19.27/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c +--- linux-4.19.36/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,1941 @@ +#include +#include @@ -13867,9 +13896,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.95/net/mptcp/ +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("Full-Mesh MPTCP"); +MODULE_VERSION("0.88"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c ---- linux-4.19.27/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c +--- linux-4.19.36/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,2391 @@ +/* + * MPTCP implementation - Sending side @@ -16262,9 +16291,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mpt + tcp_set_rto(sk); + mptcp_set_rto(sk); +} -diff -aurN linux-4.19.27/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c ---- linux-4.19.27/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c +--- linux-4.19.36/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,427 @@ +/* + * MPTCP implementation - IPv4-specific functions @@ -16693,9 +16722,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.95/net/mptcp/mptc + kmem_cache_destroy(mptcp_request_sock_ops.slab); + kfree(mptcp_request_sock_ops.slab_name); +} -diff -aurN linux-4.19.27/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c ---- linux-4.19.27/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c +--- linux-4.19.36/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,475 @@ +/* + * MPTCP implementation - IPv6-specific functions @@ -17172,9 +17201,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.95/net/mptcp/mptc + kmem_cache_destroy(mptcp6_request_sock_ops.slab); + kfree(mptcp6_request_sock_ops.slab_name); +} -diff -aurN linux-4.19.27/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c ---- linux-4.19.27/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c +--- linux-4.19.36/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,174 @@ +#include + @@ -17350,9 +17379,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.95/net/mptc +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("NDIFF-PORTS MPTCP"); +MODULE_VERSION("0.88"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_netlink.c mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c ---- linux-4.19.27/net/mptcp/mptcp_netlink.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_netlink.c mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c +--- linux-4.19.36/net/mptcp/mptcp_netlink.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,1266 @@ +// SPDX-License-Identifier: GPL-2.0 +/* MPTCP implementation - Netlink Path Manager @@ -18620,9 +18649,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_netlink.c mptcp-mptcp_v0.95/net/mptcp/m +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("MPTCP netlink-based path manager"); +MODULE_ALIAS_GENL_FAMILY(MPTCP_GENL_NAME); -diff -aurN linux-4.19.27/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c ---- linux-4.19.27/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c +--- linux-4.19.36/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,318 @@ +/* + * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL: @@ -18942,9 +18971,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptc +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("MPTCP COUPLED CONGESTION CONTROL"); +MODULE_VERSION("0.1"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c ---- linux-4.19.27/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c +--- linux-4.19.36/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,1923 @@ +/* + * MPTCP implementation - Sending side @@ -20869,9 +20898,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp + return max(xmit_size_goal, mss_now); +} + -diff -aurN linux-4.19.27/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c ---- linux-4.19.27/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c +--- linux-4.19.36/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,226 @@ +/* + * MPTCP implementation - MPTCP-subflow-management @@ -21099,9 +21128,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ + return mptcp_set_default_path_manager(CONFIG_DEFAULT_MPTCP_PM); +} +late_initcall(mptcp_path_manager_default); -diff -aurN linux-4.19.27/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c ---- linux-4.19.27/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c +--- linux-4.19.36/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,389 @@ +/* + * MPTCP Scheduler to reduce latency and jitter. @@ -21492,9 +21521,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.95/net/mptcp +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("REDUNDANT MPTCP"); +MODULE_VERSION("0.90"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c ---- linux-4.19.27/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c +--- linux-4.19.36/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,309 @@ +/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */ + @@ -21805,9 +21834,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("ROUNDROBIN MPTCP"); +MODULE_VERSION("0.89"); -diff -aurN linux-4.19.27/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c ---- linux-4.19.27/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c +--- linux-4.19.36/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,632 @@ +/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */ + @@ -22441,9 +22470,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mpt + return mptcp_set_default_scheduler(CONFIG_DEFAULT_MPTCP_SCHED); +} +late_initcall(mptcp_scheduler_default); -diff -aurN linux-4.19.27/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c ---- linux-4.19.27/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100 -+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c +--- linux-4.19.36/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100 ++++ mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c 2019-04-21 02:00:24.000000000 +0200 @@ -0,0 +1,271 @@ +/* + * MPTCP implementation - WEIGHTED VEGAS @@ -22716,9 +22745,9 @@ diff -aurN linux-4.19.27/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.95/net/mptcp/mp +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("MPTCP wVegas"); +MODULE_VERSION("0.1"); -diff -aurN linux-4.19.27/tools/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h ---- linux-4.19.27/tools/include/uapi/linux/bpf.h 2019-03-05 17:58:54.000000000 +0100 -+++ mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h 2019-04-05 23:12:06.000000000 +0200 +diff -aurN linux-4.19.36/tools/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h +--- linux-4.19.36/tools/include/uapi/linux/bpf.h 2019-04-20 09:16:05.000000000 +0200 ++++ mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h 2019-04-21 02:00:24.000000000 +0200 @@ -2671,6 +2671,7 @@ BPF_TCP_LISTEN, BPF_TCP_CLOSING, /* Now a valid state */