mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	Update MPTCP to latest patches
This commit is contained in:
		
							parent
							
								
									e24c553fc8
								
							
						
					
					
						commit
						d5a0aade8c
					
				
					 2 changed files with 343 additions and 298 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue