mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	Update MPTCP
This commit is contained in:
		
							parent
							
								
									e131493bf1
								
							
						
					
					
						commit
						1ce31508e2
					
				
					 1 changed files with 168 additions and 101 deletions
				
			
		|  | @ -1,6 +1,20 @@ | |||
| diff -aurN linux-5.4/Documentation/admin-guide/kernel-parameters.txt mptcp-mptcp_trunk/Documentation/admin-guide/kernel-parameters.txt
 | ||||
| --- linux-5.4/Documentation/admin-guide/kernel-parameters.txt	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/Documentation/admin-guide/kernel-parameters.txt	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -2724,6 +2724,10 @@
 | ||||
|  			allocations which rules out almost all kernel | ||||
|  			allocations. Use with caution! | ||||
|   | ||||
| +	mptcp_htable_entries=
 | ||||
| +			[KNL,NET] Set number of hash buckets for MPTCP token
 | ||||
| +			hashtables.
 | ||||
| +
 | ||||
|  	MTD_Partition=	[MTD] | ||||
|  			Format: <name>,<region-number>,<size>,<offset> | ||||
|   | ||||
| diff -aurN linux-5.4/Documentation/networking/ip-sysctl.txt mptcp-mptcp_trunk/Documentation/networking/ip-sysctl.txt
 | ||||
| --- linux-5.4/Documentation/networking/ip-sysctl.txt	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/Documentation/networking/ip-sysctl.txt	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/Documentation/networking/ip-sysctl.txt	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -818,6 +818,18 @@
 | ||||
|   | ||||
|  	Default: 0 (disabled) | ||||
|  | @ -22,7 +36,7 @@ diff -aurN linux-5.4/Documentation/networking/ip-sysctl.txt mptcp-mptcp_trunk/Do | |||
|  udp_l3mdev_accept - BOOLEAN | ||||
| diff -aurN linux-5.4/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_trunk/drivers/infiniband/hw/cxgb4/cm.c
 | ||||
| --- linux-5.4/drivers/infiniband/hw/cxgb4/cm.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/drivers/infiniband/hw/cxgb4/cm.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/drivers/infiniband/hw/cxgb4/cm.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -3946,7 +3946,7 @@
 | ||||
|  	 */ | ||||
|  	memset(&tmp_opt, 0, sizeof(tmp_opt)); | ||||
|  | @ -34,7 +48,7 @@ diff -aurN linux-5.4/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_trunk/drivers/ | |||
|  	memset(req, 0, sizeof(*req)); | ||||
| diff -aurN linux-5.4/include/linux/skbuff.h mptcp-mptcp_trunk/include/linux/skbuff.h
 | ||||
| --- linux-5.4/include/linux/skbuff.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/linux/skbuff.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/linux/skbuff.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -717,7 +717,7 @@
 | ||||
|  	 * want to keep them across layers you have to do a skb_clone() | ||||
|  	 * first. This is owned by whoever has the skb queued ATM. | ||||
|  | @ -46,7 +60,7 @@ diff -aurN linux-5.4/include/linux/skbuff.h mptcp-mptcp_trunk/include/linux/skbu | |||
|  		struct { | ||||
| diff -aurN linux-5.4/include/linux/tcp.h mptcp-mptcp_trunk/include/linux/tcp.h
 | ||||
| --- linux-5.4/include/linux/tcp.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/linux/tcp.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/linux/tcp.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -54,7 +54,7 @@
 | ||||
|  /* TCP Fast Open */ | ||||
|  #define TCP_FASTOPEN_COOKIE_MIN	4	/* Min Fast Open Cookie size in bytes */ | ||||
|  | @ -205,7 +219,7 @@ diff -aurN linux-5.4/include/linux/tcp.h mptcp-mptcp_trunk/include/linux/tcp.h | |||
|  static inline struct tcp_timewait_sock *tcp_twsk(const struct sock *sk) | ||||
| diff -aurN linux-5.4/include/net/inet_common.h mptcp-mptcp_trunk/include/net/inet_common.h
 | ||||
| --- linux-5.4/include/net/inet_common.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/inet_common.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/inet_common.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -2,6 +2,7 @@
 | ||||
|  #ifndef _INET_COMMON_H | ||||
|  #define _INET_COMMON_H | ||||
|  | @ -225,7 +239,7 @@ diff -aurN linux-5.4/include/net/inet_common.h mptcp-mptcp_trunk/include/net/ine | |||
|  			int addr_len, int flags); | ||||
| diff -aurN linux-5.4/include/net/inet_connection_sock.h mptcp-mptcp_trunk/include/net/inet_connection_sock.h
 | ||||
| --- linux-5.4/include/net/inet_connection_sock.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/inet_connection_sock.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/inet_connection_sock.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -25,6 +25,7 @@
 | ||||
|   | ||||
|  struct inet_bind_bucket; | ||||
|  | @ -236,7 +250,7 @@ diff -aurN linux-5.4/include/net/inet_connection_sock.h mptcp-mptcp_trunk/includ | |||
|   * Pointers to address related TCP functions | ||||
| diff -aurN linux-5.4/include/net/inet_sock.h mptcp-mptcp_trunk/include/net/inet_sock.h
 | ||||
| --- linux-5.4/include/net/inet_sock.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/inet_sock.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/inet_sock.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -79,7 +79,7 @@
 | ||||
|  #define ireq_state		req.__req_common.skc_state | ||||
|  #define ireq_family		req.__req_common.skc_family | ||||
|  | @ -257,8 +271,8 @@ diff -aurN linux-5.4/include/net/inet_sock.h mptcp-mptcp_trunk/include/net/inet_ | |||
|  	union { | ||||
| diff -aurN linux-5.4/include/net/mptcp.h mptcp-mptcp_trunk/include/net/mptcp.h
 | ||||
| --- linux-5.4/include/net/mptcp.h	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/mptcp.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| @@ -0,0 +1,1542 @@
 | ||||
| +++ mptcp-mptcp_trunk/include/net/mptcp.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,1545 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation
 | ||||
| + *
 | ||||
|  | @ -940,6 +954,11 @@ diff -aurN linux-5.4/include/net/mptcp.h mptcp-mptcp_trunk/include/net/mptcp.h | |||
| +	__u8	addr_id;
 | ||||
| +} __attribute__((__packed__));
 | ||||
| +
 | ||||
| +struct mptcp_hashtable {
 | ||||
| +	struct hlist_nulls_head *hashtable;
 | ||||
| +	unsigned int mask;
 | ||||
| +};
 | ||||
| +
 | ||||
| +static inline int mptcp_sub_len_dss(const struct mp_dss *m, const int csum)
 | ||||
| +{
 | ||||
| +	return 4 + m->A * (4 + m->a * 4) + m->M * (10 + m->m * 4 + csum * 2);
 | ||||
|  | @ -1046,9 +1065,7 @@ diff -aurN linux-5.4/include/net/mptcp.h mptcp-mptcp_trunk/include/net/mptcp.h | |||
| + */
 | ||||
| +extern u32 mptcp_seed;
 | ||||
| +
 | ||||
| +#define MPTCP_HASH_SIZE                1024
 | ||||
| +
 | ||||
| +extern struct hlist_nulls_head tk_hashtable[MPTCP_HASH_SIZE];
 | ||||
| +extern struct mptcp_hashtable mptcp_tk_htable;
 | ||||
| +
 | ||||
| +/* Request-sockets can be hashed in the tk_htb for collision-detection or in
 | ||||
| + * the regular htb for join-connections. We need to define different NULLS
 | ||||
|  | @ -1803,7 +1820,7 @@ diff -aurN linux-5.4/include/net/mptcp.h mptcp-mptcp_trunk/include/net/mptcp.h | |||
| +#endif /* _MPTCP_H */
 | ||||
| diff -aurN linux-5.4/include/net/mptcp_v4.h mptcp-mptcp_trunk/include/net/mptcp_v4.h
 | ||||
| --- linux-5.4/include/net/mptcp_v4.h	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/mptcp_v4.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/mptcp_v4.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,76 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation
 | ||||
|  | @ -1883,7 +1900,7 @@ diff -aurN linux-5.4/include/net/mptcp_v4.h mptcp-mptcp_trunk/include/net/mptcp_ | |||
| +#endif /* MPTCP_V4_H_ */
 | ||||
| diff -aurN linux-5.4/include/net/mptcp_v6.h mptcp-mptcp_trunk/include/net/mptcp_v6.h
 | ||||
| --- linux-5.4/include/net/mptcp_v6.h	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/mptcp_v6.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/mptcp_v6.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,77 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation
 | ||||
|  | @ -1964,7 +1981,7 @@ diff -aurN linux-5.4/include/net/mptcp_v6.h mptcp-mptcp_trunk/include/net/mptcp_ | |||
| +#endif /* _MPTCP_V6_H */
 | ||||
| diff -aurN linux-5.4/include/net/net_namespace.h mptcp-mptcp_trunk/include/net/net_namespace.h
 | ||||
| --- linux-5.4/include/net/net_namespace.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/net_namespace.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/net_namespace.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -19,6 +19,7 @@
 | ||||
|  #include <net/netns/packet.h> | ||||
|  #include <net/netns/ipv4.h> | ||||
|  | @ -1985,7 +2002,7 @@ diff -aurN linux-5.4/include/net/net_namespace.h mptcp-mptcp_trunk/include/net/n | |||
|  #endif | ||||
| diff -aurN linux-5.4/include/net/netns/mptcp.h mptcp-mptcp_trunk/include/net/netns/mptcp.h
 | ||||
| --- linux-5.4/include/net/netns/mptcp.h	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/netns/mptcp.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/netns/mptcp.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,52 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - MPTCP namespace
 | ||||
|  | @ -2041,7 +2058,7 @@ diff -aurN linux-5.4/include/net/netns/mptcp.h mptcp-mptcp_trunk/include/net/net | |||
| +#endif /* __NETNS_MPTCP_H__ */
 | ||||
| diff -aurN linux-5.4/include/net/snmp.h mptcp-mptcp_trunk/include/net/snmp.h
 | ||||
| --- linux-5.4/include/net/snmp.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/snmp.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/snmp.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -86,7 +86,6 @@
 | ||||
|  	atomic_long_t	mibs[ICMP6MSG_MIB_MAX]; | ||||
|  }; | ||||
|  | @ -2052,7 +2069,7 @@ diff -aurN linux-5.4/include/net/snmp.h mptcp-mptcp_trunk/include/net/snmp.h | |||
|  struct tcp_mib { | ||||
| diff -aurN linux-5.4/include/net/sock.h mptcp-mptcp_trunk/include/net/sock.h
 | ||||
| --- linux-5.4/include/net/sock.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/sock.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/sock.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -814,6 +814,7 @@
 | ||||
|  	SOCK_TXTIME, | ||||
|  	SOCK_XDP, /* XDP is attached */ | ||||
|  | @ -2071,7 +2088,7 @@ diff -aurN linux-5.4/include/net/sock.h mptcp-mptcp_trunk/include/net/sock.h | |||
|  #ifdef CONFIG_PROC_FS | ||||
| diff -aurN linux-5.4/include/net/tcp.h mptcp-mptcp_trunk/include/net/tcp.h
 | ||||
| --- linux-5.4/include/net/tcp.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/tcp.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/tcp.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -182,6 +182,7 @@
 | ||||
|  #define TCPOPT_SACK             5       /* SACK Block */ | ||||
|  #define TCPOPT_TIMESTAMP	8	/* Better RTT estimations/PAWS */ | ||||
|  | @ -2418,7 +2435,7 @@ diff -aurN linux-5.4/include/net/tcp.h mptcp-mptcp_trunk/include/net/tcp.h | |||
|  { | ||||
| diff -aurN linux-5.4/include/net/tcp_states.h mptcp-mptcp_trunk/include/net/tcp_states.h
 | ||||
| --- linux-5.4/include/net/tcp_states.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/tcp_states.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/tcp_states.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -22,6 +22,7 @@
 | ||||
|  	TCP_LISTEN, | ||||
|  	TCP_CLOSING,	/* Now a valid state */ | ||||
|  | @ -2437,7 +2454,7 @@ diff -aurN linux-5.4/include/net/tcp_states.h mptcp-mptcp_trunk/include/net/tcp_ | |||
|  #endif	/* _LINUX_TCP_STATES_H */ | ||||
| diff -aurN linux-5.4/include/net/transp_v6.h mptcp-mptcp_trunk/include/net/transp_v6.h
 | ||||
| --- linux-5.4/include/net/transp_v6.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/net/transp_v6.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/net/transp_v6.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -58,6 +58,8 @@
 | ||||
|   | ||||
|  /* address family specific functions */ | ||||
|  | @ -2449,7 +2466,7 @@ diff -aurN linux-5.4/include/net/transp_v6.h mptcp-mptcp_trunk/include/net/trans | |||
|   | ||||
| diff -aurN linux-5.4/include/trace/events/tcp.h mptcp-mptcp_trunk/include/trace/events/tcp.h
 | ||||
| --- linux-5.4/include/trace/events/tcp.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/trace/events/tcp.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/trace/events/tcp.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -10,6 +10,7 @@
 | ||||
|  #include <linux/tracepoint.h> | ||||
|  #include <net/ipv6.h> | ||||
|  | @ -2500,7 +2517,7 @@ diff -aurN linux-5.4/include/trace/events/tcp.h mptcp-mptcp_trunk/include/trace/ | |||
|  #endif /* _TRACE_TCP_H */ | ||||
| diff -aurN linux-5.4/include/uapi/linux/bpf.h mptcp-mptcp_trunk/include/uapi/linux/bpf.h
 | ||||
| --- linux-5.4/include/uapi/linux/bpf.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/uapi/linux/bpf.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/uapi/linux/bpf.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -3438,6 +3438,7 @@
 | ||||
|  	BPF_TCP_LISTEN, | ||||
|  	BPF_TCP_CLOSING,	/* Now a valid state */ | ||||
|  | @ -2511,7 +2528,7 @@ diff -aurN linux-5.4/include/uapi/linux/bpf.h mptcp-mptcp_trunk/include/uapi/lin | |||
|  }; | ||||
| diff -aurN linux-5.4/include/uapi/linux/if.h mptcp-mptcp_trunk/include/uapi/linux/if.h
 | ||||
| --- linux-5.4/include/uapi/linux/if.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/uapi/linux/if.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/uapi/linux/if.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -132,6 +132,9 @@
 | ||||
|  #define IFF_ECHO			IFF_ECHO | ||||
|  #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */ | ||||
|  | @ -2524,7 +2541,7 @@ diff -aurN linux-5.4/include/uapi/linux/if.h mptcp-mptcp_trunk/include/uapi/linu | |||
|   | ||||
| diff -aurN linux-5.4/include/uapi/linux/mptcp.h mptcp-mptcp_trunk/include/uapi/linux/mptcp.h
 | ||||
| --- linux-5.4/include/uapi/linux/mptcp.h	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/uapi/linux/mptcp.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/uapi/linux/mptcp.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,149 @@
 | ||||
| +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 | ||||
| +/*
 | ||||
|  | @ -2677,7 +2694,7 @@ diff -aurN linux-5.4/include/uapi/linux/mptcp.h mptcp-mptcp_trunk/include/uapi/l | |||
| +#endif /* _LINUX_MPTCP_H */
 | ||||
| diff -aurN linux-5.4/include/uapi/linux/tcp.h mptcp-mptcp_trunk/include/uapi/linux/tcp.h
 | ||||
| --- linux-5.4/include/uapi/linux/tcp.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/include/uapi/linux/tcp.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/include/uapi/linux/tcp.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -18,9 +18,15 @@
 | ||||
|  #ifndef _UAPI_LINUX_TCP_H | ||||
|  #define _UAPI_LINUX_TCP_H | ||||
|  | @ -2765,7 +2782,7 @@ diff -aurN linux-5.4/include/uapi/linux/tcp.h mptcp-mptcp_trunk/include/uapi/lin | |||
|   | ||||
| diff -aurN linux-5.4/net/core/dev.c mptcp-mptcp_trunk/net/core/dev.c
 | ||||
| --- linux-5.4/net/core/dev.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/core/dev.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/core/dev.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -7855,7 +7855,7 @@
 | ||||
|   | ||||
|  	dev->flags = (flags & (IFF_DEBUG | IFF_NOTRAILERS | IFF_NOARP | | ||||
|  | @ -2777,7 +2794,7 @@ diff -aurN linux-5.4/net/core/dev.c mptcp-mptcp_trunk/net/core/dev.c | |||
|   | ||||
| diff -aurN linux-5.4/net/core/net-traces.c mptcp-mptcp_trunk/net/core/net-traces.c
 | ||||
| --- linux-5.4/net/core/net-traces.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/core/net-traces.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/core/net-traces.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -60,3 +60,5 @@
 | ||||
|  EXPORT_TRACEPOINT_SYMBOL_GPL(napi_poll); | ||||
|   | ||||
|  | @ -2786,7 +2803,7 @@ diff -aurN linux-5.4/net/core/net-traces.c mptcp-mptcp_trunk/net/core/net-traces | |||
| +EXPORT_TRACEPOINT_SYMBOL_GPL(mptcp_retransmit);
 | ||||
| diff -aurN linux-5.4/net/core/skbuff.c mptcp-mptcp_trunk/net/core/skbuff.c
 | ||||
| --- linux-5.4/net/core/skbuff.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/core/skbuff.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/core/skbuff.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -573,7 +573,7 @@
 | ||||
|  	skb_drop_list(&skb_shinfo(skb)->frag_list); | ||||
|  } | ||||
|  | @ -2798,7 +2815,7 @@ diff -aurN linux-5.4/net/core/skbuff.c mptcp-mptcp_trunk/net/core/skbuff.c | |||
|   | ||||
| diff -aurN linux-5.4/net/core/sock.c mptcp-mptcp_trunk/net/core/sock.c
 | ||||
| --- linux-5.4/net/core/sock.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/core/sock.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/core/sock.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -135,6 +135,11 @@
 | ||||
|   | ||||
|  #include <trace/events/sock.h> | ||||
|  | @ -2860,7 +2877,7 @@ diff -aurN linux-5.4/net/core/sock.c mptcp-mptcp_trunk/net/core/sock.c | |||
|   | ||||
| diff -aurN linux-5.4/net/ipv4/af_inet.c mptcp-mptcp_trunk/net/ipv4/af_inet.c
 | ||||
| --- linux-5.4/net/ipv4/af_inet.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/af_inet.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/af_inet.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -100,6 +100,7 @@
 | ||||
|  #include <net/ip_fib.h> | ||||
|  #include <net/inet_connection_sock.h> | ||||
|  | @ -2926,7 +2943,7 @@ diff -aurN linux-5.4/net/ipv4/af_inet.c mptcp-mptcp_trunk/net/ipv4/af_inet.c | |||
|   | ||||
| diff -aurN linux-5.4/net/ipv4/inet_connection_sock.c mptcp-mptcp_trunk/net/ipv4/inet_connection_sock.c
 | ||||
| --- linux-5.4/net/ipv4/inet_connection_sock.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/inet_connection_sock.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/inet_connection_sock.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -19,6 +19,7 @@
 | ||||
|  #include <net/route.h> | ||||
|  #include <net/tcp_states.h> | ||||
|  | @ -2986,7 +3003,7 @@ diff -aurN linux-5.4/net/ipv4/inet_connection_sock.c mptcp-mptcp_trunk/net/ipv4/ | |||
|  		cond_resched(); | ||||
| diff -aurN linux-5.4/net/ipv4/ip_sockglue.c mptcp-mptcp_trunk/net/ipv4/ip_sockglue.c
 | ||||
| --- linux-5.4/net/ipv4/ip_sockglue.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/ip_sockglue.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/ip_sockglue.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -44,6 +44,8 @@
 | ||||
|  #endif | ||||
|  #include <net/ip_fib.h> | ||||
|  | @ -3028,7 +3045,7 @@ diff -aurN linux-5.4/net/ipv4/ip_sockglue.c mptcp-mptcp_trunk/net/ipv4/ip_sockgl | |||
|  	case IP_TTL: | ||||
| diff -aurN linux-5.4/net/ipv4/Kconfig mptcp-mptcp_trunk/net/ipv4/Kconfig
 | ||||
| --- linux-5.4/net/ipv4/Kconfig	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/Kconfig	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/Kconfig	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -654,6 +654,51 @@
 | ||||
|  	bufferbloat, policers, or AQM schemes that do not provide a delay | ||||
|  	signal. It requires the fq ("Fair Queue") pacing packet scheduler. | ||||
|  | @ -3116,7 +3133,7 @@ diff -aurN linux-5.4/net/ipv4/Kconfig mptcp-mptcp_trunk/net/ipv4/Kconfig | |||
|  	default "cdg" if DEFAULT_CDG | ||||
| diff -aurN linux-5.4/net/ipv4/syncookies.c mptcp-mptcp_trunk/net/ipv4/syncookies.c
 | ||||
| --- linux-5.4/net/ipv4/syncookies.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/syncookies.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/syncookies.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -12,6 +12,8 @@
 | ||||
|  #include <linux/siphash.h> | ||||
|  #include <linux/kernel.h> | ||||
|  | @ -3244,7 +3261,7 @@ diff -aurN linux-5.4/net/ipv4/syncookies.c mptcp-mptcp_trunk/net/ipv4/syncookies | |||
|  	 */ | ||||
| diff -aurN linux-5.4/net/ipv4/tcp.c mptcp-mptcp_trunk/net/ipv4/tcp.c
 | ||||
| --- linux-5.4/net/ipv4/tcp.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -270,6 +270,7 @@
 | ||||
|   | ||||
|  #include <net/icmp.h> | ||||
|  | @ -3987,7 +4004,7 @@ diff -aurN linux-5.4/net/ipv4/tcp.c mptcp-mptcp_trunk/net/ipv4/tcp.c | |||
|  EXPORT_SYMBOL_GPL(tcp_abort); | ||||
| diff -aurN linux-5.4/net/ipv4/tcp_cong.c mptcp-mptcp_trunk/net/ipv4/tcp_cong.c
 | ||||
| --- linux-5.4/net/ipv4/tcp_cong.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_cong.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_cong.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -328,13 +328,19 @@
 | ||||
|  	return ret; | ||||
|  } | ||||
|  | @ -4012,7 +4029,7 @@ diff -aurN linux-5.4/net/ipv4/tcp_cong.c mptcp-mptcp_trunk/net/ipv4/tcp_cong.c | |||
|  	const struct tcp_congestion_ops *ca; | ||||
| diff -aurN linux-5.4/net/ipv4/tcp_diag.c mptcp-mptcp_trunk/net/ipv4/tcp_diag.c
 | ||||
| --- linux-5.4/net/ipv4/tcp_diag.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_diag.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_diag.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -31,7 +31,7 @@
 | ||||
|  		r->idiag_wqueue = READ_ONCE(tp->write_seq) - tp->snd_una; | ||||
|  	} | ||||
|  | @ -4024,7 +4041,7 @@ diff -aurN linux-5.4/net/ipv4/tcp_diag.c mptcp-mptcp_trunk/net/ipv4/tcp_diag.c | |||
|  #ifdef CONFIG_TCP_MD5SIG | ||||
| diff -aurN linux-5.4/net/ipv4/tcp_fastopen.c mptcp-mptcp_trunk/net/ipv4/tcp_fastopen.c
 | ||||
| --- linux-5.4/net/ipv4/tcp_fastopen.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_fastopen.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_fastopen.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -9,6 +9,7 @@
 | ||||
|  #include <linux/rculist.h> | ||||
|  #include <net/inetpeer.h> | ||||
|  | @ -4085,7 +4102,7 @@ diff -aurN linux-5.4/net/ipv4/tcp_fastopen.c mptcp-mptcp_trunk/net/ipv4/tcp_fast | |||
|  	 */ | ||||
| diff -aurN linux-5.4/net/ipv4/tcp_input.c mptcp-mptcp_trunk/net/ipv4/tcp_input.c
 | ||||
| --- linux-5.4/net/ipv4/tcp_input.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_input.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_input.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -76,35 +76,15 @@
 | ||||
|  #include <linux/ipsec.h> | ||||
|  #include <asm/unaligned.h> | ||||
|  | @ -4969,7 +4986,7 @@ diff -aurN linux-5.4/net/ipv4/tcp_input.c mptcp-mptcp_trunk/net/ipv4/tcp_input.c | |||
|  		tcp_rsk(req)->tfo_listener = false; | ||||
| diff -aurN linux-5.4/net/ipv4/tcp_ipv4.c mptcp-mptcp_trunk/net/ipv4/tcp_ipv4.c
 | ||||
| --- linux-5.4/net/ipv4/tcp_ipv4.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_ipv4.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_ipv4.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -62,6 +62,8 @@
 | ||||
|  #include <net/icmp.h> | ||||
|  #include <net/inet_hashtables.h> | ||||
|  | @ -5434,7 +5451,7 @@ diff -aurN linux-5.4/net/ipv4/tcp_ipv4.c mptcp-mptcp_trunk/net/ipv4/tcp_ipv4.c | |||
|   | ||||
| diff -aurN linux-5.4/net/ipv4/tcp_minisocks.c mptcp-mptcp_trunk/net/ipv4/tcp_minisocks.c
 | ||||
| --- linux-5.4/net/ipv4/tcp_minisocks.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_minisocks.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_minisocks.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -19,11 +19,13 @@
 | ||||
|   *		Jorge Cwik, <jorge@laser.satlink.net> | ||||
|   */ | ||||
|  | @ -5676,7 +5693,7 @@ diff -aurN linux-5.4/net/ipv4/tcp_minisocks.c mptcp-mptcp_trunk/net/ipv4/tcp_min | |||
|  } | ||||
| diff -aurN linux-5.4/net/ipv4/tcp_output.c mptcp-mptcp_trunk/net/ipv4/tcp_output.c
 | ||||
| --- linux-5.4/net/ipv4/tcp_output.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_output.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_output.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -37,6 +37,12 @@
 | ||||
|   | ||||
|  #define pr_fmt(fmt) "TCP: " fmt | ||||
|  | @ -6267,7 +6284,7 @@ diff -aurN linux-5.4/net/ipv4/tcp_output.c mptcp-mptcp_trunk/net/ipv4/tcp_output | |||
|  		/* Cancel probe timer, if it is not required. */ | ||||
| diff -aurN linux-5.4/net/ipv4/tcp_timer.c mptcp-mptcp_trunk/net/ipv4/tcp_timer.c
 | ||||
| --- linux-5.4/net/ipv4/tcp_timer.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_timer.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv4/tcp_timer.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -21,6 +21,7 @@
 | ||||
|   | ||||
|  #include <linux/module.h> | ||||
|  | @ -6481,7 +6498,7 @@ diff -aurN linux-5.4/net/ipv4/tcp_timer.c mptcp-mptcp_trunk/net/ipv4/tcp_timer.c | |||
|   | ||||
| diff -aurN linux-5.4/net/ipv6/addrconf.c mptcp-mptcp_trunk/net/ipv6/addrconf.c
 | ||||
| --- linux-5.4/net/ipv6/addrconf.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/addrconf.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/addrconf.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -967,6 +967,7 @@
 | ||||
|   | ||||
|  	kfree_rcu(ifp, rcu); | ||||
|  | @ -6492,7 +6509,7 @@ diff -aurN linux-5.4/net/ipv6/addrconf.c mptcp-mptcp_trunk/net/ipv6/addrconf.c | |||
|  ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp) | ||||
| diff -aurN linux-5.4/net/ipv6/af_inet6.c mptcp-mptcp_trunk/net/ipv6/af_inet6.c
 | ||||
| --- linux-5.4/net/ipv6/af_inet6.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/af_inet6.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/af_inet6.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -104,8 +104,7 @@
 | ||||
|  	return (struct ipv6_pinfo *)(((u8 *)sk) + offset); | ||||
|  } | ||||
|  | @ -6505,7 +6522,7 @@ diff -aurN linux-5.4/net/ipv6/af_inet6.c mptcp-mptcp_trunk/net/ipv6/af_inet6.c | |||
|  	struct ipv6_pinfo *np; | ||||
| diff -aurN linux-5.4/net/ipv6/ipv6_sockglue.c mptcp-mptcp_trunk/net/ipv6/ipv6_sockglue.c
 | ||||
| --- linux-5.4/net/ipv6/ipv6_sockglue.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/ipv6_sockglue.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/ipv6_sockglue.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -44,6 +44,8 @@
 | ||||
|  #include <net/addrconf.h> | ||||
|  #include <net/inet_common.h> | ||||
|  | @ -6531,7 +6548,7 @@ diff -aurN linux-5.4/net/ipv6/ipv6_sockglue.c mptcp-mptcp_trunk/net/ipv6/ipv6_so | |||
|  				tcp_sync_mss(sk, icsk->icsk_pmtu_cookie); | ||||
| diff -aurN linux-5.4/net/ipv6/syncookies.c mptcp-mptcp_trunk/net/ipv6/syncookies.c
 | ||||
| --- linux-5.4/net/ipv6/syncookies.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/syncookies.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/syncookies.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -15,6 +15,8 @@
 | ||||
|  #include <linux/kernel.h> | ||||
|  #include <net/secure_seq.h> | ||||
|  | @ -6621,7 +6638,7 @@ diff -aurN linux-5.4/net/ipv6/syncookies.c mptcp-mptcp_trunk/net/ipv6/syncookies | |||
|  out_free: | ||||
| diff -aurN linux-5.4/net/ipv6/tcp_ipv6.c mptcp-mptcp_trunk/net/ipv6/tcp_ipv6.c
 | ||||
| --- linux-5.4/net/ipv6/tcp_ipv6.c	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/tcp_ipv6.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/ipv6/tcp_ipv6.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -58,6 +58,8 @@
 | ||||
|  #include <net/timewait_sock.h> | ||||
|  #include <net/inet_common.h> | ||||
|  | @ -7215,7 +7232,7 @@ diff -aurN linux-5.4/net/ipv6/tcp_ipv6.c mptcp-mptcp_trunk/net/ipv6/tcp_ipv6.c | |||
|  /* thinking of making this const? Don't. | ||||
| diff -aurN linux-5.4/net/Kconfig mptcp-mptcp_trunk/net/Kconfig
 | ||||
| --- linux-5.4/net/Kconfig	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/Kconfig	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/Kconfig	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -91,6 +91,7 @@
 | ||||
|  source "net/ipv4/Kconfig" | ||||
|  source "net/ipv6/Kconfig" | ||||
|  | @ -7226,7 +7243,7 @@ diff -aurN linux-5.4/net/Kconfig mptcp-mptcp_trunk/net/Kconfig | |||
|   | ||||
| diff -aurN linux-5.4/net/Makefile mptcp-mptcp_trunk/net/Makefile
 | ||||
| --- linux-5.4/net/Makefile	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/Makefile	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/Makefile	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -20,6 +20,7 @@
 | ||||
|  obj-$(CONFIG_XFRM)		+= xfrm/ | ||||
|  obj-$(CONFIG_UNIX_SCM)		+= unix/ | ||||
|  | @ -7237,7 +7254,7 @@ diff -aurN linux-5.4/net/Makefile mptcp-mptcp_trunk/net/Makefile | |||
|  obj-$(CONFIG_NET_KEY)		+= key/ | ||||
| diff -aurN linux-5.4/net/mptcp/Kconfig mptcp-mptcp_trunk/net/mptcp/Kconfig
 | ||||
| --- linux-5.4/net/mptcp/Kconfig	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/Kconfig	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/Kconfig	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,152 @@
 | ||||
| +#
 | ||||
| +# MPTCP configuration
 | ||||
|  | @ -7393,7 +7410,7 @@ diff -aurN linux-5.4/net/mptcp/Kconfig mptcp-mptcp_trunk/net/mptcp/Kconfig | |||
| +
 | ||||
| diff -aurN linux-5.4/net/mptcp/Makefile mptcp-mptcp_trunk/net/mptcp/Makefile
 | ||||
| --- linux-5.4/net/mptcp/Makefile	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/Makefile	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/Makefile	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,25 @@
 | ||||
| +#
 | ||||
| +## Makefile for MultiPath TCP support code.
 | ||||
|  | @ -7422,7 +7439,7 @@ diff -aurN linux-5.4/net/mptcp/Makefile mptcp-mptcp_trunk/net/mptcp/Makefile | |||
| +mptcp-$(subst m,y,$(CONFIG_IPV6)) += mptcp_ipv6.o
 | ||||
| diff -aurN linux-5.4/net/mptcp/mctcp_desync.c mptcp-mptcp_trunk/net/mptcp/mctcp_desync.c
 | ||||
| --- linux-5.4/net/mptcp/mctcp_desync.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mctcp_desync.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mctcp_desync.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,193 @@
 | ||||
| +/*
 | ||||
| + *  Desynchronized Multi-Channel TCP Congestion Control Algorithm
 | ||||
|  | @ -7619,7 +7636,7 @@ diff -aurN linux-5.4/net/mptcp/mctcp_desync.c mptcp-mptcp_trunk/net/mptcp/mctcp_ | |||
| +MODULE_VERSION("1.0");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_balia.c mptcp-mptcp_trunk/net/mptcp/mptcp_balia.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_balia.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_balia.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_balia.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,261 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - Balia Congestion Control
 | ||||
|  | @ -7884,7 +7901,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_balia.c mptcp-mptcp_trunk/net/mptcp/mptcp_b | |||
| +MODULE_VERSION("0.1");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_binder.c mptcp-mptcp_trunk/net/mptcp/mptcp_binder.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_binder.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_binder.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_binder.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,494 @@
 | ||||
| +#include <linux/module.h>
 | ||||
| +
 | ||||
|  | @ -8382,7 +8399,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_binder.c mptcp-mptcp_trunk/net/mptcp/mptcp_ | |||
| +MODULE_VERSION("0.1");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_blest.c mptcp-mptcp_trunk/net/mptcp/mptcp_blest.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_blest.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_blest.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_blest.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,285 @@
 | ||||
| +// SPDX-License-Identifier: GPL-2.0
 | ||||
| +/*	MPTCP Scheduler to reduce HoL-blocking and spurious retransmissions.
 | ||||
|  | @ -8671,7 +8688,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_blest.c mptcp-mptcp_trunk/net/mptcp/mptcp_b | |||
| +MODULE_VERSION("0.95");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_coupled.c mptcp-mptcp_trunk/net/mptcp/mptcp_coupled.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_coupled.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_coupled.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_coupled.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,262 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - Linked Increase congestion control Algorithm (LIA)
 | ||||
|  | @ -8937,8 +8954,8 @@ diff -aurN linux-5.4/net/mptcp/mptcp_coupled.c mptcp-mptcp_trunk/net/mptcp/mptcp | |||
| +MODULE_VERSION("0.1");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ctrl.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_ctrl.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ctrl.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| @@ -0,0 +1,3250 @@
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ctrl.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,3299 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - MPTCP-control
 | ||||
| + *
 | ||||
|  | @ -8986,6 +9003,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +#include <net/transp_v6.h>
 | ||||
| +#include <net/xfrm.h>
 | ||||
| +
 | ||||
| +#include <linux/memblock.h>
 | ||||
| +#include <linux/cryptohash.h>
 | ||||
| +#include <linux/kconfig.h>
 | ||||
| +#include <linux/module.h>
 | ||||
|  | @ -9113,16 +9131,16 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +	{ }
 | ||||
| +};
 | ||||
| +
 | ||||
| +static inline u32 mptcp_hash_tk(u32 token)
 | ||||
| +static inline u32 mptcp_hash_tk(u32 token, struct mptcp_hashtable *htable)
 | ||||
| +{
 | ||||
| +	return token % MPTCP_HASH_SIZE;
 | ||||
| +	return token & htable->mask;
 | ||||
| +}
 | ||||
| +
 | ||||
| +struct hlist_nulls_head tk_hashtable[MPTCP_HASH_SIZE];
 | ||||
| +EXPORT_SYMBOL(tk_hashtable);
 | ||||
| +struct mptcp_hashtable mptcp_tk_htable;
 | ||||
| +EXPORT_SYMBOL(mptcp_tk_htable);
 | ||||
| +
 | ||||
| +/* The following hash table is used to avoid collision of token */
 | ||||
| +static struct hlist_nulls_head mptcp_reqsk_tk_htb[MPTCP_HASH_SIZE];
 | ||||
| +static struct mptcp_hashtable mptcp_reqsk_tk_htb;
 | ||||
| +
 | ||||
| +/* Lock, protecting the two hash-tables that hold the token. Namely,
 | ||||
| + * mptcp_reqsk_tk_htb and tk_hashtable
 | ||||
|  | @ -9131,13 +9149,14 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +
 | ||||
| +static bool mptcp_reqsk_find_tk(const u32 token)
 | ||||
| +{
 | ||||
| +	const u32 hash = mptcp_hash_tk(token);
 | ||||
| +	const u32 hash = mptcp_hash_tk(token, &mptcp_reqsk_tk_htb);
 | ||||
| +	const struct mptcp_request_sock *mtreqsk;
 | ||||
| +	const struct hlist_nulls_node *node;
 | ||||
| +
 | ||||
| +begin:
 | ||||
| +	hlist_nulls_for_each_entry_rcu(mtreqsk, node,
 | ||||
| +				       &mptcp_reqsk_tk_htb[hash], hash_entry) {
 | ||||
| +				       &mptcp_reqsk_tk_htb.hashtable[hash],
 | ||||
| +				       hash_entry) {
 | ||||
| +		if (token == mtreqsk->mptcp_loc_token)
 | ||||
| +			return true;
 | ||||
| +	}
 | ||||
|  | @ -9154,10 +9173,10 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +
 | ||||
| +static void mptcp_reqsk_insert_tk(struct request_sock *reqsk, const u32 token)
 | ||||
| +{
 | ||||
| +	u32 hash = mptcp_hash_tk(token);
 | ||||
| +	u32 hash = mptcp_hash_tk(token, &mptcp_reqsk_tk_htb);
 | ||||
| +
 | ||||
| +	hlist_nulls_add_head_rcu(&mptcp_rsk(reqsk)->hash_entry,
 | ||||
| +				 &mptcp_reqsk_tk_htb[hash]);
 | ||||
| +				 &mptcp_reqsk_tk_htb.hashtable[hash]);
 | ||||
| +}
 | ||||
| +
 | ||||
| +static void mptcp_reqsk_remove_tk(const struct request_sock *reqsk)
 | ||||
|  | @ -9179,19 +9198,23 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +
 | ||||
| +static void __mptcp_hash_insert(struct tcp_sock *meta_tp, const u32 token)
 | ||||
| +{
 | ||||
| +	u32 hash = mptcp_hash_tk(token);
 | ||||
| +	hlist_nulls_add_head_rcu(&meta_tp->tk_table, &tk_hashtable[hash]);
 | ||||
| +	u32 hash = mptcp_hash_tk(token, &mptcp_tk_htable);
 | ||||
| +
 | ||||
| +	hlist_nulls_add_head_rcu(&meta_tp->tk_table,
 | ||||
| +				 &mptcp_tk_htable.hashtable[hash]);
 | ||||
| +	meta_tp->inside_tk_table = 1;
 | ||||
| +}
 | ||||
| +
 | ||||
| +static bool mptcp_find_token(u32 token)
 | ||||
| +{
 | ||||
| +	const u32 hash = mptcp_hash_tk(token);
 | ||||
| +	const u32 hash = mptcp_hash_tk(token, &mptcp_tk_htable);
 | ||||
| +	const struct tcp_sock *meta_tp;
 | ||||
| +	const struct hlist_nulls_node *node;
 | ||||
| +
 | ||||
| +begin:
 | ||||
| +	hlist_nulls_for_each_entry_rcu(meta_tp, node, &tk_hashtable[hash], tk_table) {
 | ||||
| +	hlist_nulls_for_each_entry_rcu(meta_tp, node,
 | ||||
| +				       &mptcp_tk_htable.hashtable[hash],
 | ||||
| +				       tk_table) {
 | ||||
| +		if (token == meta_tp->mptcp_loc_token)
 | ||||
| +			return true;
 | ||||
| +	}
 | ||||
|  | @ -9470,7 +9493,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| + */
 | ||||
| +struct sock *mptcp_hash_find(const struct net *net, const u32 token)
 | ||||
| +{
 | ||||
| +	const u32 hash = mptcp_hash_tk(token);
 | ||||
| +	const u32 hash = mptcp_hash_tk(token, &mptcp_tk_htable);
 | ||||
| +	const struct tcp_sock *meta_tp;
 | ||||
| +	struct sock *meta_sk = NULL;
 | ||||
| +	const struct hlist_nulls_node *node;
 | ||||
|  | @ -9478,7 +9501,8 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +	rcu_read_lock();
 | ||||
| +	local_bh_disable();
 | ||||
| +begin:
 | ||||
| +	hlist_nulls_for_each_entry_rcu(meta_tp, node, &tk_hashtable[hash],
 | ||||
| +	hlist_nulls_for_each_entry_rcu(meta_tp, node,
 | ||||
| +				       &mptcp_tk_htable.hashtable[hash],
 | ||||
| +				       tk_table) {
 | ||||
| +		meta_sk = (struct sock *)meta_tp;
 | ||||
| +		if (token == meta_tp->mptcp_loc_token &&
 | ||||
|  | @ -11978,17 +12002,18 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +{
 | ||||
| +	struct tcp_sock *meta_tp;
 | ||||
| +	const struct net *net = seq->private;
 | ||||
| +	int i, n = 0;
 | ||||
| +	unsigned int i, n = 0;
 | ||||
| +
 | ||||
| +	seq_printf(seq, "  sl  loc_tok  rem_tok  v6 local_address                         remote_address                        st ns tx_queue rx_queue inode");
 | ||||
| +	seq_putc(seq, '\n');
 | ||||
| +
 | ||||
| +	for (i = 0; i < MPTCP_HASH_SIZE; i++) {
 | ||||
| +	for (i = 0; i <= mptcp_tk_htable.mask; i++) {
 | ||||
| +		struct hlist_nulls_node *node;
 | ||||
| +		rcu_read_lock();
 | ||||
| +		local_bh_disable();
 | ||||
| +		hlist_nulls_for_each_entry_rcu(meta_tp, node,
 | ||||
| +					       &tk_hashtable[i], tk_table) {
 | ||||
| +					       &mptcp_tk_htable.hashtable[i],
 | ||||
| +					       tk_table) {
 | ||||
| +			struct sock *meta_sk = (struct sock *)meta_tp;
 | ||||
| +			struct inet_sock *isk = inet_sk(meta_sk);
 | ||||
| +			struct mptcp_cb *mpcb = meta_tp->mpcb;
 | ||||
|  | @ -12102,10 +12127,27 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +	.exit = mptcp_pm_exit_net,
 | ||||
| +};
 | ||||
| +
 | ||||
| +static unsigned long mptcp_htable_entries __initdata;
 | ||||
| +
 | ||||
| +static int __init set_mptcp_htable_entries(char *str)
 | ||||
| +{
 | ||||
| +	ssize_t ret;
 | ||||
| +
 | ||||
| +	if (!str)
 | ||||
| +		return 0;
 | ||||
| +
 | ||||
| +	ret = kstrtoul(str, 0, &mptcp_htable_entries);
 | ||||
| +	if (ret)
 | ||||
| +		return 0;
 | ||||
| +
 | ||||
| +	return 1;
 | ||||
| +}
 | ||||
| +__setup("mptcp_htable_entries=", set_mptcp_htable_entries);
 | ||||
| +
 | ||||
| +/* General initialization of mptcp */
 | ||||
| +void __init mptcp_init(void)
 | ||||
| +{
 | ||||
| +	int i;
 | ||||
| +	unsigned int i;
 | ||||
| +	struct ctl_table_header *mptcp_sysctl;
 | ||||
| +
 | ||||
| +	mptcp_sock_cache = kmem_cache_create("mptcp_sock",
 | ||||
|  | @ -12133,10 +12175,34 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +	if (!mptcp_wq)
 | ||||
| +		goto alloc_workqueue_failed;
 | ||||
| +
 | ||||
| +	for (i = 0; i < MPTCP_HASH_SIZE; i++) {
 | ||||
| +		INIT_HLIST_NULLS_HEAD(&tk_hashtable[i], i);
 | ||||
| +		INIT_HLIST_NULLS_HEAD(&mptcp_reqsk_tk_htb[i], i);
 | ||||
| +	}
 | ||||
| +	mptcp_tk_htable.hashtable =
 | ||||
| +		alloc_large_system_hash("MPTCP tokens",
 | ||||
| +					sizeof(mptcp_tk_htable.hashtable[0]),
 | ||||
| +					mptcp_htable_entries,
 | ||||
| +					18, /* one slot per 256KB of memory */
 | ||||
| +					0,
 | ||||
| +					NULL,
 | ||||
| +					&mptcp_tk_htable.mask,
 | ||||
| +					1024,
 | ||||
| +					mptcp_htable_entries ? 0 : 1024 * 1024);
 | ||||
| +
 | ||||
| +	for (i = 0; i <= mptcp_tk_htable.mask; i++)
 | ||||
| +		INIT_HLIST_NULLS_HEAD(&mptcp_tk_htable.hashtable[i], i);
 | ||||
| +
 | ||||
| +	mptcp_reqsk_tk_htb.hashtable =
 | ||||
| +		alloc_large_system_hash("MPTCP request tokens",
 | ||||
| +					sizeof(mptcp_reqsk_tk_htb.hashtable[0]),
 | ||||
| +					mptcp_htable_entries,
 | ||||
| +					18, /* one slot per 256KB of memory */
 | ||||
| +					0,
 | ||||
| +					NULL,
 | ||||
| +					&mptcp_reqsk_tk_htb.mask,
 | ||||
| +					1024,
 | ||||
| +					mptcp_htable_entries ? 0 : 1024 * 1024);
 | ||||
| +
 | ||||
| +	for (i = 0; i <= mptcp_reqsk_tk_htb.mask; i++)
 | ||||
| +		INIT_HLIST_NULLS_HEAD(&mptcp_reqsk_tk_htb.hashtable[i], i);
 | ||||
| +
 | ||||
| +
 | ||||
| +	spin_lock_init(&mptcp_tk_hashlock);
 | ||||
| +
 | ||||
|  | @ -12191,7 +12257,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ctrl.c mptcp-mptcp_trunk/net/mptcp/mptcp_ct | |||
| +}
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_ecf.c mptcp-mptcp_trunk/net/mptcp/mptcp_ecf.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_ecf.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ecf.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ecf.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,195 @@
 | ||||
| +// SPDX-License-Identifier: GPL-2.0
 | ||||
| +/*	MPTCP ECF Scheduler
 | ||||
|  | @ -12390,8 +12456,8 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ecf.c mptcp-mptcp_trunk/net/mptcp/mptcp_ecf | |||
| +MODULE_VERSION("0.95");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_trunk/net/mptcp/mptcp_fullmesh.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_fullmesh.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_fullmesh.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| @@ -0,0 +1,1937 @@
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_fullmesh.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,1938 @@
 | ||||
| +#include <linux/module.h>
 | ||||
| +#include <linux/proc_fs.h>
 | ||||
| +
 | ||||
|  | @ -13239,12 +13305,13 @@ diff -aurN linux-5.4/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_trunk/net/mptcp/mptc | |||
| +		goto next_event;
 | ||||
| +
 | ||||
| +	/* Now we iterate over the MPTCP-sockets and apply the event. */
 | ||||
| +	for (i = 0; i < MPTCP_HASH_SIZE; i++) {
 | ||||
| +	for (i = 0; i <= mptcp_tk_htable.mask; i++) {
 | ||||
| +		const struct hlist_nulls_node *node;
 | ||||
| +		struct tcp_sock *meta_tp;
 | ||||
| +
 | ||||
| +		rcu_read_lock_bh();
 | ||||
| +		hlist_nulls_for_each_entry_rcu(meta_tp, node, &tk_hashtable[i],
 | ||||
| +		hlist_nulls_for_each_entry_rcu(meta_tp, node,
 | ||||
| +					       &mptcp_tk_htable.hashtable[i],
 | ||||
| +					       tk_table) {
 | ||||
| +			struct sock *meta_sk = (struct sock *)meta_tp, *sk;
 | ||||
| +			bool meta_v4 = meta_sk->sk_family == AF_INET;
 | ||||
|  | @ -14331,7 +14398,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_trunk/net/mptcp/mptc | |||
| +MODULE_VERSION("0.88");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_input.c mptcp-mptcp_trunk/net/mptcp/mptcp_input.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_input.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_input.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_input.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,2529 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - Sending side
 | ||||
|  | @ -16864,7 +16931,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_input.c mptcp-mptcp_trunk/net/mptcp/mptcp_i | |||
| +}
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_ipv4.c mptcp-mptcp_trunk/net/mptcp/mptcp_ipv4.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_ipv4.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ipv4.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ipv4.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,430 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - IPv4-specific functions
 | ||||
|  | @ -17298,7 +17365,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ipv4.c mptcp-mptcp_trunk/net/mptcp/mptcp_ip | |||
| +}
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_ipv6.c mptcp-mptcp_trunk/net/mptcp/mptcp_ipv6.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_ipv6.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ipv6.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ipv6.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,478 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - IPv6-specific functions
 | ||||
|  | @ -17780,7 +17847,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ipv6.c mptcp-mptcp_trunk/net/mptcp/mptcp_ip | |||
| +}
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_trunk/net/mptcp/mptcp_ndiffports.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_ndiffports.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ndiffports.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_ndiffports.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,174 @@
 | ||||
| +#include <linux/module.h>
 | ||||
| +
 | ||||
|  | @ -17958,7 +18025,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_trunk/net/mptcp/mp | |||
| +MODULE_VERSION("0.88");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_netlink.c mptcp-mptcp_trunk/net/mptcp/mptcp_netlink.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_netlink.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_netlink.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_netlink.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,1271 @@
 | ||||
| +// SPDX-License-Identifier: GPL-2.0
 | ||||
| +/*	MPTCP implementation - Netlink Path Manager
 | ||||
|  | @ -19233,7 +19300,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_netlink.c mptcp-mptcp_trunk/net/mptcp/mptcp | |||
| +MODULE_ALIAS_GENL_FAMILY(MPTCP_GENL_NAME);
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_olia.c mptcp-mptcp_trunk/net/mptcp/mptcp_olia.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_olia.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_olia.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_olia.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,318 @@
 | ||||
| +/*
 | ||||
| + * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL:
 | ||||
|  | @ -19555,7 +19622,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_olia.c mptcp-mptcp_trunk/net/mptcp/mptcp_ol | |||
| +MODULE_VERSION("0.1");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_output.c mptcp-mptcp_trunk/net/mptcp/mptcp_output.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_output.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_output.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_output.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,1994 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - Sending side
 | ||||
|  | @ -21553,7 +21620,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_output.c mptcp-mptcp_trunk/net/mptcp/mptcp_ | |||
| +
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_pm.c mptcp-mptcp_trunk/net/mptcp/mptcp_pm.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_pm.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_pm.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_pm.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,226 @@
 | ||||
| +/*
 | ||||
| + *     MPTCP implementation - MPTCP-subflow-management
 | ||||
|  | @ -21783,7 +21850,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_pm.c mptcp-mptcp_trunk/net/mptcp/mptcp_pm.c | |||
| +late_initcall(mptcp_path_manager_default);
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_redundant.c mptcp-mptcp_trunk/net/mptcp/mptcp_redundant.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_redundant.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_redundant.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_redundant.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,392 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP Scheduler to reduce latency and jitter.
 | ||||
|  | @ -22179,7 +22246,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_redundant.c mptcp-mptcp_trunk/net/mptcp/mpt | |||
| +MODULE_VERSION("0.90");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_rr.c mptcp-mptcp_trunk/net/mptcp/mptcp_rr.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_rr.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_rr.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_rr.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,309 @@
 | ||||
| +/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
 | ||||
| +
 | ||||
|  | @ -22492,7 +22559,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_rr.c mptcp-mptcp_trunk/net/mptcp/mptcp_rr.c | |||
| +MODULE_VERSION("0.89");
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_sched.c mptcp-mptcp_trunk/net/mptcp/mptcp_sched.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_sched.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_sched.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_sched.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,647 @@
 | ||||
| +/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
 | ||||
| +
 | ||||
|  | @ -23143,7 +23210,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_sched.c mptcp-mptcp_trunk/net/mptcp/mptcp_s | |||
| +late_initcall(mptcp_scheduler_default);
 | ||||
| diff -aurN linux-5.4/net/mptcp/mptcp_wvegas.c mptcp-mptcp_trunk/net/mptcp/mptcp_wvegas.c
 | ||||
| --- linux-5.4/net/mptcp/mptcp_wvegas.c	1970-01-01 01:00:00.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_wvegas.c	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/net/mptcp/mptcp_wvegas.c	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -0,0 +1,271 @@
 | ||||
| +/*
 | ||||
| + *	MPTCP implementation - WEIGHTED VEGAS
 | ||||
|  | @ -23418,7 +23485,7 @@ diff -aurN linux-5.4/net/mptcp/mptcp_wvegas.c mptcp-mptcp_trunk/net/mptcp/mptcp_ | |||
| +MODULE_VERSION("0.1");
 | ||||
| diff -aurN linux-5.4/tools/include/uapi/linux/bpf.h mptcp-mptcp_trunk/tools/include/uapi/linux/bpf.h
 | ||||
| --- linux-5.4/tools/include/uapi/linux/bpf.h	2019-11-25 01:32:01.000000000 +0100
 | ||||
| +++ mptcp-mptcp_trunk/tools/include/uapi/linux/bpf.h	2020-06-08 19:41:07.000000000 +0200
 | ||||
| +++ mptcp-mptcp_trunk/tools/include/uapi/linux/bpf.h	2020-06-09 17:33:41.000000000 +0200
 | ||||
| @@ -3438,6 +3438,7 @@
 | ||||
|  	BPF_TCP_LISTEN, | ||||
|  	BPF_TCP_CLOSING,	/* Now a valid state */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue