1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-03-09 15:40:20 +00:00

Update MPTCP

This commit is contained in:
Ycarus 2019-05-24 18:29:10 +02:00
parent 3d42f64ae3
commit 8fd4a789b9
2 changed files with 578 additions and 456 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
diff -aurN linux-4.19.36/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt diff -aurN linux-4.19.44/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt
--- linux-4.19.36/Documentation/networking/ip-sysctl.txt 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/Documentation/networking/ip-sysctl.txt 2019-05-23 10:38:14.000000000 +0200
@@ -754,6 +754,18 @@ @@ -755,6 +755,18 @@
in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks) in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks)
Default: 100 Default: 100
@ -20,9 +20,9 @@ diff -aurN linux-4.19.36/Documentation/networking/ip-sysctl.txt mptcp-mptcp_v0.9
UDP variables: UDP variables:
udp_l3mdev_accept - BOOLEAN udp_l3mdev_accept - BOOLEAN
diff -aurN linux-4.19.36/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c 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.36/drivers/infiniband/hw/cxgb4/cm.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/drivers/infiniband/hw/cxgb4/cm.c 2019-05-23 10:38:14.000000000 +0200
@@ -3777,7 +3777,7 @@ @@ -3777,7 +3777,7 @@
*/ */
memset(&tmp_opt, 0, sizeof(tmp_opt)); memset(&tmp_opt, 0, sizeof(tmp_opt));
@ -32,9 +32,9 @@ diff -aurN linux-4.19.36/drivers/infiniband/hw/cxgb4/cm.c mptcp-mptcp_v0.95/driv
req = __skb_push(skb, sizeof(*req)); req = __skb_push(skb, sizeof(*req));
memset(req, 0, sizeof(*req)); memset(req, 0, sizeof(*req));
diff -aurN linux-4.19.36/include/linux/skbuff.h mptcp-mptcp_v0.95/include/linux/skbuff.h diff -aurN linux-4.19.44/include/linux/skbuff.h mptcp-mptcp_v0.95/include/linux/skbuff.h
--- linux-4.19.36/include/linux/skbuff.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/linux/skbuff.h 2019-05-23 10:38:14.000000000 +0200
@@ -697,7 +697,7 @@ @@ -697,7 +697,7 @@
* want to keep them across layers you have to do a skb_clone() * want to keep them across layers you have to do a skb_clone()
* first. This is owned by whoever has the skb queued ATM. * first. This is owned by whoever has the skb queued ATM.
@ -56,9 +56,9 @@ diff -aurN linux-4.19.36/include/linux/skbuff.h mptcp-mptcp_v0.95/include/linux/
#define skb_rbtree_walk_from(skb) \ #define skb_rbtree_walk_from(skb) \
for (; skb != NULL; \ for (; skb != NULL; \
skb = skb_rb_next(skb)) skb = skb_rb_next(skb))
diff -aurN linux-4.19.36/include/linux/tcp.h mptcp-mptcp_v0.95/include/linux/tcp.h diff -aurN linux-4.19.44/include/linux/tcp.h mptcp-mptcp_v0.95/include/linux/tcp.h
--- linux-4.19.36/include/linux/tcp.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/linux/tcp.h 2019-05-23 10:38:14.000000000 +0200
@@ -58,7 +58,7 @@ @@ -58,7 +58,7 @@
/* TCP Fast Open */ /* TCP Fast Open */
#define TCP_FASTOPEN_COOKIE_MIN 4 /* Min Fast Open Cookie size in bytes */ #define TCP_FASTOPEN_COOKIE_MIN 4 /* Min Fast Open Cookie size in bytes */
@ -215,9 +215,9 @@ diff -aurN linux-4.19.36/include/linux/tcp.h mptcp-mptcp_v0.95/include/linux/tcp
}; };
static inline struct tcp_timewait_sock *tcp_twsk(const struct sock *sk) static inline struct tcp_timewait_sock *tcp_twsk(const struct sock *sk)
diff -aurN linux-4.19.36/include/net/inet_common.h mptcp-mptcp_v0.95/include/net/inet_common.h diff -aurN linux-4.19.44/include/net/inet_common.h mptcp-mptcp_v0.95/include/net/inet_common.h
--- linux-4.19.36/include/net/inet_common.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/inet_common.h 2019-05-23 10:38:14.000000000 +0200
@@ -2,6 +2,8 @@ @@ -2,6 +2,8 @@
#ifndef _INET_COMMON_H #ifndef _INET_COMMON_H
#define _INET_COMMON_H #define _INET_COMMON_H
@ -236,9 +236,9 @@ diff -aurN linux-4.19.36/include/net/inet_common.h mptcp-mptcp_v0.95/include/net
int inet_release(struct socket *sock); int inet_release(struct socket *sock);
int inet_stream_connect(struct socket *sock, struct sockaddr *uaddr, int inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
int addr_len, int flags); int addr_len, int flags);
diff -aurN linux-4.19.36/include/net/inet_connection_sock.h mptcp-mptcp_v0.95/include/net/inet_connection_sock.h 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.36/include/net/inet_connection_sock.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/inet_connection_sock.h 2019-05-23 10:38:14.000000000 +0200
@@ -29,6 +29,7 @@ @@ -29,6 +29,7 @@
struct inet_bind_bucket; struct inet_bind_bucket;
@ -247,9 +247,9 @@ diff -aurN linux-4.19.36/include/net/inet_connection_sock.h mptcp-mptcp_v0.95/in
/* /*
* Pointers to address related TCP functions * Pointers to address related TCP functions
diff -aurN linux-4.19.36/include/net/inet_sock.h mptcp-mptcp_v0.95/include/net/inet_sock.h diff -aurN linux-4.19.44/include/net/inet_sock.h mptcp-mptcp_v0.95/include/net/inet_sock.h
--- linux-4.19.36/include/net/inet_sock.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/inet_sock.h 2019-05-23 10:38:14.000000000 +0200
@@ -83,7 +83,7 @@ @@ -83,7 +83,7 @@
#define ireq_state req.__req_common.skc_state #define ireq_state req.__req_common.skc_state
#define ireq_family req.__req_common.skc_family #define ireq_family req.__req_common.skc_family
@ -268,9 +268,9 @@ diff -aurN linux-4.19.36/include/net/inet_sock.h mptcp-mptcp_v0.95/include/net/i
smc_ok : 1; smc_ok : 1;
u32 ir_mark; u32 ir_mark;
union { union {
diff -aurN linux-4.19.36/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp.h diff -aurN linux-4.19.44/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp.h
--- linux-4.19.36/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/mptcp.h 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,1490 @@ @@ -0,0 +1,1490 @@
+/* +/*
+ * MPTCP implementation + * MPTCP implementation
@ -1762,9 +1762,9 @@ diff -aurN linux-4.19.36/include/net/mptcp.h mptcp-mptcp_v0.95/include/net/mptcp
+#endif /* CONFIG_MPTCP */ +#endif /* CONFIG_MPTCP */
+ +
+#endif /* _MPTCP_H */ +#endif /* _MPTCP_H */
diff -aurN linux-4.19.36/include/net/mptcp_v4.h mptcp-mptcp_v0.95/include/net/mptcp_v4.h diff -aurN linux-4.19.44/include/net/mptcp_v4.h mptcp-mptcp_v0.95/include/net/mptcp_v4.h
--- linux-4.19.36/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/mptcp_v4.h 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
+/* +/*
+ * MPTCP implementation + * MPTCP implementation
@ -1842,9 +1842,9 @@ diff -aurN linux-4.19.36/include/net/mptcp_v4.h mptcp-mptcp_v0.95/include/net/mp
+#endif /* CONFIG_MPTCP */ +#endif /* CONFIG_MPTCP */
+ +
+#endif /* MPTCP_V4_H_ */ +#endif /* MPTCP_V4_H_ */
diff -aurN linux-4.19.36/include/net/mptcp_v6.h mptcp-mptcp_v0.95/include/net/mptcp_v6.h diff -aurN linux-4.19.44/include/net/mptcp_v6.h mptcp-mptcp_v0.95/include/net/mptcp_v6.h
--- linux-4.19.36/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/mptcp_v6.h 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,77 @@ @@ -0,0 +1,77 @@
+/* +/*
+ * MPTCP implementation + * MPTCP implementation
@ -1923,9 +1923,9 @@ diff -aurN linux-4.19.36/include/net/mptcp_v6.h mptcp-mptcp_v0.95/include/net/mp
+#endif /* CONFIG_MPTCP */ +#endif /* CONFIG_MPTCP */
+ +
+#endif /* _MPTCP_V6_H */ +#endif /* _MPTCP_V6_H */
diff -aurN linux-4.19.36/include/net/net_namespace.h mptcp-mptcp_v0.95/include/net/net_namespace.h diff -aurN linux-4.19.44/include/net/net_namespace.h mptcp-mptcp_v0.95/include/net/net_namespace.h
--- linux-4.19.36/include/net/net_namespace.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/net_namespace.h 2019-05-23 10:38:14.000000000 +0200
@@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
#include <net/netns/packet.h> #include <net/netns/packet.h>
#include <net/netns/ipv4.h> #include <net/netns/ipv4.h>
@ -1944,9 +1944,9 @@ diff -aurN linux-4.19.36/include/net/net_namespace.h mptcp-mptcp_v0.95/include/n
#if IS_ENABLED(CONFIG_IEEE802154_6LOWPAN) #if IS_ENABLED(CONFIG_IEEE802154_6LOWPAN)
struct netns_ieee802154_lowpan ieee802154_lowpan; struct netns_ieee802154_lowpan ieee802154_lowpan;
#endif #endif
diff -aurN linux-4.19.36/include/net/netns/mptcp.h mptcp-mptcp_v0.95/include/net/netns/mptcp.h diff -aurN linux-4.19.44/include/net/netns/mptcp.h mptcp-mptcp_v0.95/include/net/netns/mptcp.h
--- linux-4.19.36/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/netns/mptcp.h 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,52 @@ @@ -0,0 +1,52 @@
+/* +/*
+ * MPTCP implementation - MPTCP namespace + * MPTCP implementation - MPTCP namespace
@ -2000,9 +2000,9 @@ diff -aurN linux-4.19.36/include/net/netns/mptcp.h mptcp-mptcp_v0.95/include/net
+}; +};
+ +
+#endif /* __NETNS_MPTCP_H__ */ +#endif /* __NETNS_MPTCP_H__ */
diff -aurN linux-4.19.36/include/net/snmp.h mptcp-mptcp_v0.95/include/net/snmp.h diff -aurN linux-4.19.44/include/net/snmp.h mptcp-mptcp_v0.95/include/net/snmp.h
--- linux-4.19.36/include/net/snmp.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/snmp.h 2019-05-23 10:38:14.000000000 +0200
@@ -91,7 +91,6 @@ @@ -91,7 +91,6 @@
atomic_long_t mibs[ICMP6MSG_MIB_MAX]; atomic_long_t mibs[ICMP6MSG_MIB_MAX];
}; };
@ -2011,9 +2011,9 @@ diff -aurN linux-4.19.36/include/net/snmp.h mptcp-mptcp_v0.95/include/net/snmp.h
/* TCP */ /* TCP */
#define TCP_MIB_MAX __TCP_MIB_MAX #define TCP_MIB_MAX __TCP_MIB_MAX
struct tcp_mib { struct tcp_mib {
diff -aurN linux-4.19.36/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h diff -aurN linux-4.19.44/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h
--- linux-4.19.36/include/net/sock.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/sock.h 2019-05-23 10:38:14.000000000 +0200
@@ -810,6 +810,7 @@ @@ -810,6 +810,7 @@
SOCK_SELECT_ERR_QUEUE, /* Wake select on error queue */ SOCK_SELECT_ERR_QUEUE, /* Wake select on error queue */
SOCK_RCU_FREE, /* wait rcu grace period in sk_destruct() */ SOCK_RCU_FREE, /* wait rcu grace period in sk_destruct() */
@ -2030,9 +2030,9 @@ diff -aurN linux-4.19.36/include/net/sock.h mptcp-mptcp_v0.95/include/net/sock.h
/* Keeping track of sockets in use */ /* Keeping track of sockets in use */
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
diff -aurN linux-4.19.36/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h diff -aurN linux-4.19.44/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
--- linux-4.19.36/include/net/tcp.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/tcp.h 2019-05-23 10:38:14.000000000 +0200
@@ -183,6 +183,7 @@ @@ -183,6 +183,7 @@
#define TCPOPT_SACK 5 /* SACK Block */ #define TCPOPT_SACK 5 /* SACK Block */
#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */ #define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */
@ -2352,9 +2352,9 @@ diff -aurN linux-4.19.36/include/net/tcp.h mptcp-mptcp_v0.95/include/net/tcp.h
const struct sock *sk, struct sk_buff *skb, const struct sock *sk, struct sk_buff *skb,
__u16 *mss) __u16 *mss)
{ {
diff -aurN linux-4.19.36/include/net/tcp_states.h mptcp-mptcp_v0.95/include/net/tcp_states.h diff -aurN linux-4.19.44/include/net/tcp_states.h mptcp-mptcp_v0.95/include/net/tcp_states.h
--- linux-4.19.36/include/net/tcp_states.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/tcp_states.h 2019-05-23 10:38:14.000000000 +0200
@@ -26,6 +26,7 @@ @@ -26,6 +26,7 @@
TCP_LISTEN, TCP_LISTEN,
TCP_CLOSING, /* Now a valid state */ TCP_CLOSING, /* Now a valid state */
@ -2371,9 +2371,9 @@ diff -aurN linux-4.19.36/include/net/tcp_states.h mptcp-mptcp_v0.95/include/net/
}; };
#endif /* _LINUX_TCP_STATES_H */ #endif /* _LINUX_TCP_STATES_H */
diff -aurN linux-4.19.36/include/net/transp_v6.h mptcp-mptcp_v0.95/include/net/transp_v6.h diff -aurN linux-4.19.44/include/net/transp_v6.h mptcp-mptcp_v0.95/include/net/transp_v6.h
--- linux-4.19.36/include/net/transp_v6.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/net/transp_v6.h 2019-05-23 10:38:14.000000000 +0200
@@ -58,6 +58,8 @@ @@ -58,6 +58,8 @@
/* address family specific functions */ /* address family specific functions */
@ -2383,9 +2383,60 @@ diff -aurN linux-4.19.36/include/net/transp_v6.h mptcp-mptcp_v0.95/include/net/t
void inet6_destroy_sock(struct sock *sk); void inet6_destroy_sock(struct sock *sk);
diff -aurN linux-4.19.36/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/include/uapi/linux/bpf.h diff -aurN linux-4.19.44/include/trace/events/tcp.h mptcp-mptcp_v0.95/include/trace/events/tcp.h
--- linux-4.19.36/include/uapi/linux/bpf.h 2019-04-20 09:16:05.000000000 +0200 --- linux-4.19.44/include/trace/events/tcp.h 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/include/uapi/linux/bpf.h 2019-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/trace/events/tcp.h 2019-05-23 10:38:14.000000000 +0200
@@ -10,6 +10,7 @@
#include <linux/tracepoint.h>
#include <net/ipv6.h>
#include <net/tcp.h>
+#include <net/mptcp.h>
#include <linux/sock_diag.h>
#define TP_STORE_V4MAPPED(__entry, saddr, daddr) \
@@ -178,6 +179,13 @@
TP_ARGS(sk)
);
+DEFINE_EVENT(tcp_event_sk_skb, mptcp_retransmit,
+
+ TP_PROTO(const struct sock *sk, const struct sk_buff *skb),
+
+ TP_ARGS(sk, skb)
+);
+
TRACE_EVENT(tcp_retransmit_synack,
TP_PROTO(const struct sock *sk, const struct request_sock *req),
@@ -245,6 +253,7 @@
__field(__u32, srtt)
__field(__u32, rcv_wnd)
__field(__u64, sock_cookie)
+ __field(__u8, mptcp)
),
TP_fast_assign(
@@ -271,13 +280,15 @@
__entry->ssthresh = tcp_current_ssthresh(sk);
__entry->srtt = tp->srtt_us >> 3;
__entry->sock_cookie = sock_gen_cookie(sk);
+ __entry->mptcp = mptcp(tp) ? tp->mptcp->path_index : 0;
),
- TP_printk("src=%pISpc dest=%pISpc mark=%#x data_len=%d snd_nxt=%#x snd_una=%#x snd_cwnd=%u ssthresh=%u snd_wnd=%u srtt=%u rcv_wnd=%u sock_cookie=%llx",
+ TP_printk("src=%pISpc dest=%pISpc mark=%#x data_len=%d snd_nxt=%#x snd_una=%#x snd_cwnd=%u ssthresh=%u snd_wnd=%u srtt=%u rcv_wnd=%u sock_cookie=%llx mptcp=%d",
__entry->saddr, __entry->daddr, __entry->mark,
__entry->data_len, __entry->snd_nxt, __entry->snd_una,
__entry->snd_cwnd, __entry->ssthresh, __entry->snd_wnd,
- __entry->srtt, __entry->rcv_wnd, __entry->sock_cookie)
+ __entry->srtt, __entry->rcv_wnd, __entry->sock_cookie,
+ __entry->mptcp)
);
#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
@@ -2671,6 +2671,7 @@ @@ -2671,6 +2671,7 @@
BPF_TCP_LISTEN, BPF_TCP_LISTEN,
BPF_TCP_CLOSING, /* Now a valid state */ BPF_TCP_CLOSING, /* Now a valid state */
@ -2394,9 +2445,9 @@ diff -aurN linux-4.19.36/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/include/uapi
BPF_TCP_MAX_STATES /* Leave at the end! */ BPF_TCP_MAX_STATES /* Leave at the end! */
}; };
diff -aurN linux-4.19.36/include/uapi/linux/if.h mptcp-mptcp_v0.95/include/uapi/linux/if.h diff -aurN linux-4.19.44/include/uapi/linux/if.h mptcp-mptcp_v0.95/include/uapi/linux/if.h
--- linux-4.19.36/include/uapi/linux/if.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/uapi/linux/if.h 2019-05-23 10:38:14.000000000 +0200
@@ -132,6 +132,9 @@ @@ -132,6 +132,9 @@
#define IFF_ECHO IFF_ECHO #define IFF_ECHO IFF_ECHO
#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */ #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
@ -2407,9 +2458,9 @@ diff -aurN linux-4.19.36/include/uapi/linux/if.h mptcp-mptcp_v0.95/include/uapi/
#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\ #define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\
IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT) IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
diff -aurN linux-4.19.36/include/uapi/linux/mptcp.h mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h diff -aurN linux-4.19.44/include/uapi/linux/mptcp.h mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h
--- linux-4.19.36/include/uapi/linux/mptcp.h 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/uapi/linux/mptcp.h 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,149 @@ @@ -0,0 +1,149 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* +/*
@ -2560,9 +2611,9 @@ diff -aurN linux-4.19.36/include/uapi/linux/mptcp.h mptcp-mptcp_v0.95/include/ua
+}; +};
+ +
+#endif /* _LINUX_MPTCP_H */ +#endif /* _LINUX_MPTCP_H */
diff -aurN linux-4.19.36/include/uapi/linux/tcp.h mptcp-mptcp_v0.95/include/uapi/linux/tcp.h diff -aurN linux-4.19.44/include/uapi/linux/tcp.h mptcp-mptcp_v0.95/include/uapi/linux/tcp.h
--- linux-4.19.36/include/uapi/linux/tcp.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/include/uapi/linux/tcp.h 2019-05-23 10:38:14.000000000 +0200
@@ -18,9 +18,15 @@ @@ -18,9 +18,15 @@
#ifndef _UAPI_LINUX_TCP_H #ifndef _UAPI_LINUX_TCP_H
#define _UAPI_LINUX_TCP_H #define _UAPI_LINUX_TCP_H
@ -2648,10 +2699,10 @@ diff -aurN linux-4.19.36/include/uapi/linux/tcp.h mptcp-mptcp_v0.95/include/uapi
/* for TCP_MD5SIG socket option */ /* for TCP_MD5SIG socket option */
#define TCP_MD5SIG_MAXKEYLEN 80 #define TCP_MD5SIG_MAXKEYLEN 80
diff -aurN linux-4.19.36/net/core/dev.c mptcp-mptcp_v0.95/net/core/dev.c diff -aurN linux-4.19.44/net/core/dev.c mptcp-mptcp_v0.95/net/core/dev.c
--- linux-4.19.36/net/core/dev.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/core/dev.c 2019-05-23 10:38:14.000000000 +0200
@@ -7457,7 +7457,7 @@ @@ -7471,7 +7471,7 @@
dev->flags = (flags & (IFF_DEBUG | IFF_NOTRAILERS | IFF_NOARP | dev->flags = (flags & (IFF_DEBUG | IFF_NOTRAILERS | IFF_NOARP |
IFF_DYNAMIC | IFF_MULTICAST | IFF_PORTSEL | IFF_DYNAMIC | IFF_MULTICAST | IFF_PORTSEL |
@ -2660,9 +2711,9 @@ diff -aurN linux-4.19.36/net/core/dev.c mptcp-mptcp_v0.95/net/core/dev.c
(dev->flags & (IFF_UP | IFF_VOLATILE | IFF_PROMISC | (dev->flags & (IFF_UP | IFF_VOLATILE | IFF_PROMISC |
IFF_ALLMULTI)); IFF_ALLMULTI));
diff -aurN linux-4.19.36/net/core/skbuff.c mptcp-mptcp_v0.95/net/core/skbuff.c diff -aurN linux-4.19.44/net/core/skbuff.c mptcp-mptcp_v0.95/net/core/skbuff.c
--- linux-4.19.36/net/core/skbuff.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/core/skbuff.c 2019-05-23 10:38:14.000000000 +0200
@@ -536,7 +536,7 @@ @@ -536,7 +536,7 @@
skb_drop_list(&skb_shinfo(skb)->frag_list); skb_drop_list(&skb_shinfo(skb)->frag_list);
} }
@ -2672,9 +2723,9 @@ diff -aurN linux-4.19.36/net/core/skbuff.c mptcp-mptcp_v0.95/net/core/skbuff.c
{ {
struct sk_buff *list; struct sk_buff *list;
diff -aurN linux-4.19.36/net/core/sock.c mptcp-mptcp_v0.95/net/core/sock.c diff -aurN linux-4.19.44/net/core/sock.c mptcp-mptcp_v0.95/net/core/sock.c
--- linux-4.19.36/net/core/sock.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/core/sock.c 2019-05-23 10:38:14.000000000 +0200
@@ -140,6 +140,11 @@ @@ -140,6 +140,11 @@
#include <trace/events/sock.h> #include <trace/events/sock.h>
@ -2734,9 +2785,9 @@ diff -aurN linux-4.19.36/net/core/sock.c mptcp-mptcp_v0.95/net/core/sock.c
mem_cgroup_sk_alloc(newsk); mem_cgroup_sk_alloc(newsk);
cgroup_sk_alloc(&newsk->sk_cgrp_data); cgroup_sk_alloc(&newsk->sk_cgrp_data);
diff -aurN linux-4.19.36/net/ipv4/af_inet.c mptcp-mptcp_v0.95/net/ipv4/af_inet.c diff -aurN linux-4.19.44/net/ipv4/af_inet.c mptcp-mptcp_v0.95/net/ipv4/af_inet.c
--- linux-4.19.36/net/ipv4/af_inet.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/af_inet.c 2019-05-23 10:38:14.000000000 +0200
@@ -104,6 +104,7 @@ @@ -104,6 +104,7 @@
#include <net/ip_fib.h> #include <net/ip_fib.h>
#include <net/inet_connection_sock.h> #include <net/inet_connection_sock.h>
@ -2800,9 +2851,9 @@ diff -aurN linux-4.19.36/net/ipv4/af_inet.c mptcp-mptcp_v0.95/net/ipv4/af_inet.c
/* Setup TCP slab cache for open requests. */ /* Setup TCP slab cache for open requests. */
tcp_init(); tcp_init();
diff -aurN linux-4.19.36/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.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.36/net/ipv4/inet_connection_sock.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/inet_connection_sock.c 2019-05-23 10:38:14.000000000 +0200
@@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
#include <net/route.h> #include <net/route.h>
#include <net/tcp_states.h> #include <net/tcp_states.h>
@ -2860,9 +2911,9 @@ diff -aurN linux-4.19.36/net/ipv4/inet_connection_sock.c mptcp-mptcp_v0.95/net/i
sock_put(child); sock_put(child);
cond_resched(); cond_resched();
diff -aurN linux-4.19.36/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c diff -aurN linux-4.19.44/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c
--- linux-4.19.36/net/ipv4/ip_sockglue.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/ip_sockglue.c 2019-05-23 10:38:14.000000000 +0200
@@ -44,6 +44,8 @@ @@ -44,6 +44,8 @@
#endif #endif
#include <net/ip_fib.h> #include <net/ip_fib.h>
@ -2902,9 +2953,9 @@ diff -aurN linux-4.19.36/net/ipv4/ip_sockglue.c mptcp-mptcp_v0.95/net/ipv4/ip_so
} }
break; break;
case IP_TTL: case IP_TTL:
diff -aurN linux-4.19.36/net/ipv4/Kconfig mptcp-mptcp_v0.95/net/ipv4/Kconfig diff -aurN linux-4.19.44/net/ipv4/Kconfig mptcp-mptcp_v0.95/net/ipv4/Kconfig
--- linux-4.19.36/net/ipv4/Kconfig 2019-04-20 09:16:05.000000000 +0200 --- linux-4.19.44/net/ipv4/Kconfig 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/ipv4/Kconfig 2019-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/Kconfig 2019-05-23 10:38:14.000000000 +0200
@@ -680,6 +680,51 @@ @@ -680,6 +680,51 @@
bufferbloat, policers, or AQM schemes that do not provide a delay bufferbloat, policers, or AQM schemes that do not provide a delay
signal. It requires the fq ("Fair Queue") pacing packet scheduler. signal. It requires the fq ("Fair Queue") pacing packet scheduler.
@ -2990,9 +3041,9 @@ diff -aurN linux-4.19.36/net/ipv4/Kconfig mptcp-mptcp_v0.95/net/ipv4/Kconfig
default "reno" if DEFAULT_RENO default "reno" if DEFAULT_RENO
default "dctcp" if DEFAULT_DCTCP default "dctcp" if DEFAULT_DCTCP
default "cdg" if DEFAULT_CDG default "cdg" if DEFAULT_CDG
diff -aurN linux-4.19.36/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncookies.c diff -aurN linux-4.19.44/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncookies.c
--- linux-4.19.36/net/ipv4/syncookies.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/syncookies.c 2019-05-23 10:38:14.000000000 +0200
@@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
#include <linux/siphash.h> #include <linux/siphash.h>
#include <linux/kernel.h> #include <linux/kernel.h>
@ -3106,9 +3157,9 @@ diff -aurN linux-4.19.36/net/ipv4/syncookies.c mptcp-mptcp_v0.95/net/ipv4/syncoo
ireq->rcv_wscale = rcv_wscale; ireq->rcv_wscale = rcv_wscale;
ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), &rt->dst); ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), &rt->dst);
diff -aurN linux-4.19.36/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c diff -aurN linux-4.19.44/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c
--- linux-4.19.36/net/ipv4/tcp.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/tcp.c 2019-05-23 10:38:14.000000000 +0200
@@ -274,6 +274,7 @@ @@ -274,6 +274,7 @@
#include <net/icmp.h> #include <net/icmp.h>
@ -3811,9 +3862,9 @@ diff -aurN linux-4.19.36/net/ipv4/tcp.c mptcp-mptcp_v0.95/net/ipv4/tcp.c
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(tcp_abort); EXPORT_SYMBOL_GPL(tcp_abort);
diff -aurN linux-4.19.36/net/ipv4/tcp_diag.c mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c diff -aurN linux-4.19.44/net/ipv4/tcp_diag.c mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c
--- linux-4.19.36/net/ipv4/tcp_diag.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/tcp_diag.c 2019-05-23 10:38:14.000000000 +0200
@@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
r->idiag_wqueue = tp->write_seq - tp->snd_una; r->idiag_wqueue = tp->write_seq - tp->snd_una;
} }
@ -3823,9 +3874,9 @@ diff -aurN linux-4.19.36/net/ipv4/tcp_diag.c mptcp-mptcp_v0.95/net/ipv4/tcp_diag
} }
#ifdef CONFIG_TCP_MD5SIG #ifdef CONFIG_TCP_MD5SIG
diff -aurN linux-4.19.36/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c diff -aurN linux-4.19.44/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c
--- linux-4.19.36/net/ipv4/tcp_fastopen.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/tcp_fastopen.c 2019-05-23 10:38:14.000000000 +0200
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
#include <linux/rculist.h> #include <linux/rculist.h>
#include <net/inetpeer.h> #include <net/inetpeer.h>
@ -3875,9 +3926,9 @@ diff -aurN linux-4.19.36/net/ipv4/tcp_fastopen.c mptcp-mptcp_v0.95/net/ipv4/tcp_
/* tcp_conn_request() is sending the SYNACK, /* tcp_conn_request() is sending the SYNACK,
* and queues the child into listener accept queue. * and queues the child into listener accept queue.
*/ */
diff -aurN linux-4.19.36/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_input.c diff -aurN linux-4.19.44/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_input.c
--- linux-4.19.36/net/ipv4/tcp_input.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/tcp_input.c 2019-05-23 10:38:14.000000000 +0200
@@ -76,35 +76,15 @@ @@ -76,35 +76,15 @@
#include <linux/ipsec.h> #include <linux/ipsec.h>
#include <asm/unaligned.h> #include <asm/unaligned.h>
@ -3950,6 +4001,39 @@ diff -aurN linux-4.19.36/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_inp
} }
/* 2. Tuning advertised window (window_clamp, rcv_ssthresh) /* 2. Tuning advertised window (window_clamp, rcv_ssthresh)
@@ -402,9 +394,14 @@
static void tcp_grow_window(struct sock *sk, const struct sk_buff *skb)
{
struct tcp_sock *tp = tcp_sk(sk);
+ struct sock *meta_sk = mptcp(tp) ? mptcp_meta_sk(sk) : sk;
+ struct tcp_sock *meta_tp = tcp_sk(meta_sk);
int room;
- room = min_t(int, tp->window_clamp, tcp_space(sk)) - tp->rcv_ssthresh;
+ if (is_meta_sk(sk))
+ return;
+
+ room = min_t(int, meta_tp->window_clamp, tcp_space(meta_sk)) - meta_tp->rcv_ssthresh;
/* Check #1 */
if (room > 0 && !tcp_under_memory_pressure(sk)) {
@@ -414,13 +411,13 @@
* will fit to rcvbuf in future.
*/
if (tcp_win_from_space(sk, skb->truesize) <= skb->len)
- incr = 2 * tp->advmss;
+ incr = 2 * meta_tp->advmss;
else
- incr = __tcp_grow_window(sk, skb);
+ incr = __tcp_grow_window(meta_sk, skb);
if (incr) {
incr = max_t(int, incr, 2 * skb->len);
- tp->rcv_ssthresh += min(room, incr);
+ meta_tp->rcv_ssthresh += min(room, incr);
inet_csk(sk)->icsk_ack.quick |= 1;
}
}
@@ -621,7 +618,10 @@ @@ -621,7 +618,10 @@
tcp_mstamp_refresh(tp); tcp_mstamp_refresh(tp);
@ -4706,9 +4790,9 @@ diff -aurN linux-4.19.36/net/ipv4/tcp_input.c mptcp-mptcp_v0.95/net/ipv4/tcp_inp
sock_put(fastopen_sk); sock_put(fastopen_sk);
} else { } else {
tcp_rsk(req)->tfo_listener = false; tcp_rsk(req)->tfo_listener = false;
diff -aurN linux-4.19.36/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c diff -aurN linux-4.19.44/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c
--- linux-4.19.36/net/ipv4/tcp_ipv4.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4.c 2019-05-23 10:38:14.000000000 +0200
@@ -67,6 +67,8 @@ @@ -67,6 +67,8 @@
#include <net/icmp.h> #include <net/icmp.h>
#include <net/inet_hashtables.h> #include <net/inet_hashtables.h>
@ -5155,9 +5239,9 @@ diff -aurN linux-4.19.36/net/ipv4/tcp_ipv4.c mptcp-mptcp_v0.95/net/ipv4/tcp_ipv4
}; };
EXPORT_SYMBOL(tcp_prot); EXPORT_SYMBOL(tcp_prot);
diff -aurN linux-4.19.36/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c diff -aurN linux-4.19.44/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c
--- linux-4.19.36/net/ipv4/tcp_minisocks.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/tcp_minisocks.c 2019-05-23 10:38:14.000000000 +0200
@@ -18,11 +18,13 @@ @@ -18,11 +18,13 @@
* Jorge Cwik, <jorge@laser.satlink.net> * Jorge Cwik, <jorge@laser.satlink.net>
*/ */
@ -5376,9 +5460,9 @@ diff -aurN linux-4.19.36/net/ipv4/tcp_minisocks.c mptcp-mptcp_v0.95/net/ipv4/tcp
sock_put(child); sock_put(child);
return ret; return ret;
} }
diff -aurN linux-4.19.36/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_output.c diff -aurN linux-4.19.44/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_output.c
--- linux-4.19.36/net/ipv4/tcp_output.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/tcp_output.c 2019-05-23 10:38:14.000000000 +0200
@@ -36,6 +36,12 @@ @@ -36,6 +36,12 @@
#define pr_fmt(fmt) "TCP: " fmt #define pr_fmt(fmt) "TCP: " fmt
@ -5974,9 +6058,9 @@ diff -aurN linux-4.19.36/net/ipv4/tcp_output.c mptcp-mptcp_v0.95/net/ipv4/tcp_ou
if (tp->packets_out || tcp_write_queue_empty(sk)) { if (tp->packets_out || tcp_write_queue_empty(sk)) {
/* Cancel probe timer, if it is not required. */ /* Cancel probe timer, if it is not required. */
diff -aurN linux-4.19.36/net/ipv4/tcp_timer.c mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c diff -aurN linux-4.19.44/net/ipv4/tcp_timer.c mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c
--- linux-4.19.36/net/ipv4/tcp_timer.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv4/tcp_timer.c 2019-05-23 10:38:14.000000000 +0200
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
#include <linux/module.h> #include <linux/module.h>
@ -6174,9 +6258,9 @@ diff -aurN linux-4.19.36/net/ipv4/tcp_timer.c mptcp-mptcp_v0.95/net/ipv4/tcp_tim
sock_put(sk); sock_put(sk);
} }
diff -aurN linux-4.19.36/net/ipv6/addrconf.c mptcp-mptcp_v0.95/net/ipv6/addrconf.c diff -aurN linux-4.19.44/net/ipv6/addrconf.c mptcp-mptcp_v0.95/net/ipv6/addrconf.c
--- linux-4.19.36/net/ipv6/addrconf.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv6/addrconf.c 2019-05-23 10:38:14.000000000 +0200
@@ -917,6 +917,7 @@ @@ -917,6 +917,7 @@
kfree_rcu(ifp, rcu); kfree_rcu(ifp, rcu);
@ -6185,9 +6269,9 @@ diff -aurN linux-4.19.36/net/ipv6/addrconf.c mptcp-mptcp_v0.95/net/ipv6/addrconf
static void static void
ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp) ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp)
diff -aurN linux-4.19.36/net/ipv6/af_inet6.c mptcp-mptcp_v0.95/net/ipv6/af_inet6.c diff -aurN linux-4.19.44/net/ipv6/af_inet6.c mptcp-mptcp_v0.95/net/ipv6/af_inet6.c
--- linux-4.19.36/net/ipv6/af_inet6.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv6/af_inet6.c 2019-05-23 10:38:14.000000000 +0200
@@ -107,8 +107,7 @@ @@ -107,8 +107,7 @@
return (struct ipv6_pinfo *)(((u8 *)sk) + offset); return (struct ipv6_pinfo *)(((u8 *)sk) + offset);
} }
@ -6198,9 +6282,9 @@ diff -aurN linux-4.19.36/net/ipv6/af_inet6.c mptcp-mptcp_v0.95/net/ipv6/af_inet6
{ {
struct inet_sock *inet; struct inet_sock *inet;
struct ipv6_pinfo *np; struct ipv6_pinfo *np;
diff -aurN linux-4.19.36/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c diff -aurN linux-4.19.44/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c
--- linux-4.19.36/net/ipv6/ipv6_sockglue.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv6/ipv6_sockglue.c 2019-05-23 10:38:14.000000000 +0200
@@ -48,6 +48,8 @@ @@ -48,6 +48,8 @@
#include <net/addrconf.h> #include <net/addrconf.h>
#include <net/inet_common.h> #include <net/inet_common.h>
@ -6224,9 +6308,9 @@ diff -aurN linux-4.19.36/net/ipv6/ipv6_sockglue.c mptcp-mptcp_v0.95/net/ipv6/ipv
sk->sk_socket->ops = &inet_stream_ops; sk->sk_socket->ops = &inet_stream_ops;
sk->sk_family = PF_INET; sk->sk_family = PF_INET;
tcp_sync_mss(sk, icsk->icsk_pmtu_cookie); tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);
diff -aurN linux-4.19.36/net/ipv6/syncookies.c mptcp-mptcp_v0.95/net/ipv6/syncookies.c diff -aurN linux-4.19.44/net/ipv6/syncookies.c mptcp-mptcp_v0.95/net/ipv6/syncookies.c
--- linux-4.19.36/net/ipv6/syncookies.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv6/syncookies.c 2019-05-23 10:38:14.000000000 +0200
@@ -20,6 +20,8 @@ @@ -20,6 +20,8 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <net/secure_seq.h> #include <net/secure_seq.h>
@ -6308,9 +6392,9 @@ diff -aurN linux-4.19.36/net/ipv6/syncookies.c mptcp-mptcp_v0.95/net/ipv6/syncoo
ireq->rcv_wscale = rcv_wscale; ireq->rcv_wscale = rcv_wscale;
ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), dst); ireq->ecn_ok = cookie_ecn_ok(&tcp_opt, sock_net(sk), dst);
diff -aurN linux-4.19.36/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c diff -aurN linux-4.19.44/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c
--- linux-4.19.36/net/ipv6/tcp_ipv6.c 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6.c 2019-05-23 10:38:14.000000000 +0200
@@ -61,6 +61,8 @@ @@ -61,6 +61,8 @@
#include <net/timewait_sock.h> #include <net/timewait_sock.h>
#include <net/inet_common.h> #include <net/inet_common.h>
@ -6893,9 +6977,9 @@ diff -aurN linux-4.19.36/net/ipv6/tcp_ipv6.c mptcp-mptcp_v0.95/net/ipv6/tcp_ipv6
}; };
/* thinking of making this const? Don't. /* thinking of making this const? Don't.
diff -aurN linux-4.19.36/net/Kconfig mptcp-mptcp_v0.95/net/Kconfig diff -aurN linux-4.19.44/net/Kconfig mptcp-mptcp_v0.95/net/Kconfig
--- linux-4.19.36/net/Kconfig 2019-04-20 09:16:05.000000000 +0200 --- linux-4.19.44/net/Kconfig 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/Kconfig 2019-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/Kconfig 2019-05-23 10:38:14.000000000 +0200
@@ -89,6 +89,7 @@ @@ -89,6 +89,7 @@
source "net/ipv4/Kconfig" source "net/ipv4/Kconfig"
source "net/ipv6/Kconfig" source "net/ipv6/Kconfig"
@ -6904,9 +6988,9 @@ diff -aurN linux-4.19.36/net/Kconfig mptcp-mptcp_v0.95/net/Kconfig
endif # if INET endif # if INET
diff -aurN linux-4.19.36/net/Makefile mptcp-mptcp_v0.95/net/Makefile diff -aurN linux-4.19.44/net/Makefile mptcp-mptcp_v0.95/net/Makefile
--- linux-4.19.36/net/Makefile 2019-04-20 09:16:05.000000000 +0200 --- linux-4.19.44/net/Makefile 2019-05-16 19:41:32.000000000 +0200
+++ mptcp-mptcp_v0.95/net/Makefile 2019-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/Makefile 2019-05-23 10:38:14.000000000 +0200
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
obj-$(CONFIG_XFRM) += xfrm/ obj-$(CONFIG_XFRM) += xfrm/
obj-$(CONFIG_UNIX) += unix/ obj-$(CONFIG_UNIX) += unix/
@ -6915,9 +6999,9 @@ diff -aurN linux-4.19.36/net/Makefile mptcp-mptcp_v0.95/net/Makefile
obj-$(CONFIG_BPFILTER) += bpfilter/ obj-$(CONFIG_BPFILTER) += bpfilter/
obj-$(CONFIG_PACKET) += packet/ obj-$(CONFIG_PACKET) += packet/
obj-$(CONFIG_NET_KEY) += key/ obj-$(CONFIG_NET_KEY) += key/
diff -aurN linux-4.19.36/net/mptcp/Kconfig mptcp-mptcp_v0.95/net/mptcp/Kconfig diff -aurN linux-4.19.44/net/mptcp/Kconfig mptcp-mptcp_v0.95/net/mptcp/Kconfig
--- linux-4.19.36/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100 --- linux-4.19.44/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/Kconfig 2019-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/Kconfig 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,146 @@ @@ -0,0 +1,146 @@
+# +#
+# MPTCP configuration +# MPTCP configuration
@ -7065,9 +7149,9 @@ diff -aurN linux-4.19.36/net/mptcp/Kconfig mptcp-mptcp_v0.95/net/mptcp/Kconfig
+ default "redundant" if DEFAULT_REDUNDANT + default "redundant" if DEFAULT_REDUNDANT
+ default "default" + default "default"
+ +
diff -aurN linux-4.19.36/net/mptcp/Makefile mptcp-mptcp_v0.95/net/mptcp/Makefile diff -aurN linux-4.19.44/net/mptcp/Makefile mptcp-mptcp_v0.95/net/mptcp/Makefile
--- linux-4.19.36/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100 --- linux-4.19.44/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ mptcp-mptcp_v0.95/net/mptcp/Makefile 2019-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/Makefile 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
+# +#
+## Makefile for MultiPath TCP support code. +## Makefile for MultiPath TCP support code.
@ -7093,9 +7177,9 @@ diff -aurN linux-4.19.36/net/mptcp/Makefile mptcp-mptcp_v0.95/net/mptcp/Makefile
+obj-$(CONFIG_MPTCP_BLEST) += mptcp_blest.o +obj-$(CONFIG_MPTCP_BLEST) += mptcp_blest.o
+ +
+mptcp-$(subst m,y,$(CONFIG_IPV6)) += mptcp_ipv6.o +mptcp-$(subst m,y,$(CONFIG_IPV6)) += mptcp_ipv6.o
diff -aurN linux-4.19.36/net/mptcp/mctcp_desync.c mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c diff -aurN linux-4.19.44/net/mptcp/mctcp_desync.c mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c
--- linux-4.19.36/net/mptcp/mctcp_desync.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mctcp_desync.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,193 @@ @@ -0,0 +1,193 @@
+/* +/*
+ * Desynchronized Multi-Channel TCP Congestion Control Algorithm + * Desynchronized Multi-Channel TCP Congestion Control Algorithm
@ -7290,9 +7374,9 @@ diff -aurN linux-4.19.36/net/mptcp/mctcp_desync.c mptcp-mptcp_v0.95/net/mptcp/mc
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MCTCP: DESYNCHRONIZED MULTICHANNEL TCP CONGESTION CONTROL"); +MODULE_DESCRIPTION("MCTCP: DESYNCHRONIZED MULTICHANNEL TCP CONGESTION CONTROL");
+MODULE_VERSION("1.0"); +MODULE_VERSION("1.0");
diff -aurN linux-4.19.36/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c diff -aurN linux-4.19.44/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c
--- linux-4.19.36/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_balia.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,261 @@ @@ -0,0 +1,261 @@
+/* +/*
+ * MPTCP implementation - Balia Congestion Control + * MPTCP implementation - Balia Congestion Control
@ -7555,9 +7639,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_balia.c mptcp-mptcp_v0.95/net/mptcp/mpt
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MPTCP BALIA CONGESTION CONTROL ALGORITHM"); +MODULE_DESCRIPTION("MPTCP BALIA CONGESTION CONTROL ALGORITHM");
+MODULE_VERSION("0.1"); +MODULE_VERSION("0.1");
diff -aurN linux-4.19.36/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c diff -aurN linux-4.19.44/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c
--- linux-4.19.36/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_binder.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,494 @@ @@ -0,0 +1,494 @@
+#include <linux/module.h> +#include <linux/module.h>
+ +
@ -8053,9 +8137,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_binder.c mptcp-mptcp_v0.95/net/mptcp/mp
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("BINDER MPTCP"); +MODULE_DESCRIPTION("BINDER MPTCP");
+MODULE_VERSION("0.1"); +MODULE_VERSION("0.1");
diff -aurN linux-4.19.36/net/mptcp/mptcp_blest.c mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c diff -aurN linux-4.19.44/net/mptcp/mptcp_blest.c mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c
--- linux-4.19.36/net/mptcp/mptcp_blest.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_blest.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,475 @@ @@ -0,0 +1,475 @@
+// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0
+/* MPTCP Scheduler to reduce HoL-blocking and spurious retransmissions. +/* MPTCP Scheduler to reduce HoL-blocking and spurious retransmissions.
@ -8532,9 +8616,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_blest.c mptcp-mptcp_v0.95/net/mptcp/mpt
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("BLEST scheduler for MPTCP, based on default minimum RTT scheduler"); +MODULE_DESCRIPTION("BLEST scheduler for MPTCP, based on default minimum RTT scheduler");
+MODULE_VERSION("0.95"); +MODULE_VERSION("0.95");
diff -aurN linux-4.19.36/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c diff -aurN linux-4.19.44/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c
--- linux-4.19.36/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_coupled.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,262 @@ @@ -0,0 +1,262 @@
+/* +/*
+ * MPTCP implementation - Linked Increase congestion control Algorithm (LIA) + * MPTCP implementation - Linked Increase congestion control Algorithm (LIA)
@ -8798,9 +8882,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/m
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MPTCP LINKED INCREASE CONGESTION CONTROL ALGORITHM"); +MODULE_DESCRIPTION("MPTCP LINKED INCREASE CONGESTION CONTROL ALGORITHM");
+MODULE_VERSION("0.1"); +MODULE_VERSION("0.1");
diff -aurN linux-4.19.36/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c diff -aurN linux-4.19.44/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c
--- linux-4.19.36/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,3112 @@ @@ -0,0 +1,3112 @@
+/* +/*
+ * MPTCP implementation - MPTCP-control + * MPTCP implementation - MPTCP-control
@ -11914,9 +11998,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptc
+mptcp_sock_cache_failed: +mptcp_sock_cache_failed:
+ mptcp_init_failed = true; + mptcp_init_failed = true;
+} +}
diff -aurN linux-4.19.36/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c diff -aurN linux-4.19.44/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c
--- linux-4.19.36/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_fullmesh.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,1941 @@ @@ -0,0 +1,1941 @@
+#include <linux/module.h> +#include <linux/module.h>
+#include <linux/proc_fs.h> +#include <linux/proc_fs.h>
@ -13859,9 +13943,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_fullmesh.c mptcp-mptcp_v0.95/net/mptcp/
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Full-Mesh MPTCP"); +MODULE_DESCRIPTION("Full-Mesh MPTCP");
+MODULE_VERSION("0.88"); +MODULE_VERSION("0.88");
diff -aurN linux-4.19.36/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c diff -aurN linux-4.19.44/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c
--- linux-4.19.36/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_input.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,2391 @@ @@ -0,0 +1,2391 @@
+/* +/*
+ * MPTCP implementation - Sending side + * MPTCP implementation - Sending side
@ -16254,9 +16338,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_input.c mptcp-mptcp_v0.95/net/mptcp/mpt
+ tcp_set_rto(sk); + tcp_set_rto(sk);
+ mptcp_set_rto(sk); + mptcp_set_rto(sk);
+} +}
diff -aurN linux-4.19.36/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c diff -aurN linux-4.19.44/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c
--- linux-4.19.36/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv4.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,427 @@ @@ -0,0 +1,427 @@
+/* +/*
+ * MPTCP implementation - IPv4-specific functions + * MPTCP implementation - IPv4-specific functions
@ -16685,9 +16769,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_ipv4.c mptcp-mptcp_v0.95/net/mptcp/mptc
+ kmem_cache_destroy(mptcp_request_sock_ops.slab); + kmem_cache_destroy(mptcp_request_sock_ops.slab);
+ kfree(mptcp_request_sock_ops.slab_name); + kfree(mptcp_request_sock_ops.slab_name);
+} +}
diff -aurN linux-4.19.36/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c diff -aurN linux-4.19.44/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c
--- linux-4.19.36/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ipv6.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,475 @@ @@ -0,0 +1,475 @@
+/* +/*
+ * MPTCP implementation - IPv6-specific functions + * MPTCP implementation - IPv6-specific functions
@ -17164,9 +17248,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_ipv6.c mptcp-mptcp_v0.95/net/mptcp/mptc
+ kmem_cache_destroy(mptcp6_request_sock_ops.slab); + kmem_cache_destroy(mptcp6_request_sock_ops.slab);
+ kfree(mptcp6_request_sock_ops.slab_name); + kfree(mptcp6_request_sock_ops.slab_name);
+} +}
diff -aurN linux-4.19.36/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c diff -aurN linux-4.19.44/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c
--- linux-4.19.36/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ndiffports.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,174 @@ @@ -0,0 +1,174 @@
+#include <linux/module.h> +#include <linux/module.h>
+ +
@ -17342,9 +17426,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_ndiffports.c mptcp-mptcp_v0.95/net/mptc
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("NDIFF-PORTS MPTCP"); +MODULE_DESCRIPTION("NDIFF-PORTS MPTCP");
+MODULE_VERSION("0.88"); +MODULE_VERSION("0.88");
diff -aurN linux-4.19.36/net/mptcp/mptcp_netlink.c mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c diff -aurN linux-4.19.44/net/mptcp/mptcp_netlink.c mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c
--- linux-4.19.36/net/mptcp/mptcp_netlink.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_netlink.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,1266 @@ @@ -0,0 +1,1266 @@
+// SPDX-License-Identifier: GPL-2.0 +// SPDX-License-Identifier: GPL-2.0
+/* MPTCP implementation - Netlink Path Manager +/* MPTCP implementation - Netlink Path Manager
@ -18612,9 +18696,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_netlink.c mptcp-mptcp_v0.95/net/mptcp/m
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MPTCP netlink-based path manager"); +MODULE_DESCRIPTION("MPTCP netlink-based path manager");
+MODULE_ALIAS_GENL_FAMILY(MPTCP_GENL_NAME); +MODULE_ALIAS_GENL_FAMILY(MPTCP_GENL_NAME);
diff -aurN linux-4.19.36/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c diff -aurN linux-4.19.44/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c
--- linux-4.19.36/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_olia.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,318 @@ @@ -0,0 +1,318 @@
+/* +/*
+ * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL: + * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL:
@ -18934,9 +19018,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptc
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MPTCP COUPLED CONGESTION CONTROL"); +MODULE_DESCRIPTION("MPTCP COUPLED CONGESTION CONTROL");
+MODULE_VERSION("0.1"); +MODULE_VERSION("0.1");
diff -aurN linux-4.19.36/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c
--- linux-4.19.36/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,1923 @@ @@ -0,0 +1,1923 @@
+/* +/*
+ * MPTCP implementation - Sending side + * MPTCP implementation - Sending side
@ -20861,9 +20945,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp
+ return max(xmit_size_goal, mss_now); + return max(xmit_size_goal, mss_now);
+} +}
+ +
diff -aurN linux-4.19.36/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c diff -aurN linux-4.19.44/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c
--- linux-4.19.36/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_pm.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,226 @@ @@ -0,0 +1,226 @@
+/* +/*
+ * MPTCP implementation - MPTCP-subflow-management + * MPTCP implementation - MPTCP-subflow-management
@ -21091,9 +21175,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_pm.c mptcp-mptcp_v0.95/net/mptcp/mptcp_
+ return mptcp_set_default_path_manager(CONFIG_DEFAULT_MPTCP_PM); + return mptcp_set_default_path_manager(CONFIG_DEFAULT_MPTCP_PM);
+} +}
+late_initcall(mptcp_path_manager_default); +late_initcall(mptcp_path_manager_default);
diff -aurN linux-4.19.36/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c diff -aurN linux-4.19.44/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c
--- linux-4.19.36/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_redundant.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,389 @@ @@ -0,0 +1,389 @@
+/* +/*
+ * MPTCP Scheduler to reduce latency and jitter. + * MPTCP Scheduler to reduce latency and jitter.
@ -21484,9 +21568,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_redundant.c mptcp-mptcp_v0.95/net/mptcp
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("REDUNDANT MPTCP"); +MODULE_DESCRIPTION("REDUNDANT MPTCP");
+MODULE_VERSION("0.90"); +MODULE_VERSION("0.90");
diff -aurN linux-4.19.36/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c diff -aurN linux-4.19.44/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c
--- linux-4.19.36/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_rr.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,309 @@ @@ -0,0 +1,309 @@
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */ +/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
+ +
@ -21797,14 +21881,15 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_rr.c mptcp-mptcp_v0.95/net/mptcp/mptcp_
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("ROUNDROBIN MPTCP"); +MODULE_DESCRIPTION("ROUNDROBIN MPTCP");
+MODULE_VERSION("0.89"); +MODULE_VERSION("0.89");
diff -aurN linux-4.19.36/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c diff -aurN linux-4.19.44/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c
--- linux-4.19.36/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_sched.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,632 @@ @@ -0,0 +1,635 @@
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */ +/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
+ +
+#include <linux/module.h> +#include <linux/module.h>
+#include <net/mptcp.h> +#include <net/mptcp.h>
+#include <trace/events/tcp.h>
+ +
+static DEFINE_SPINLOCK(mptcp_sched_list_lock); +static DEFINE_SPINLOCK(mptcp_sched_list_lock);
+static LIST_HEAD(mptcp_sched_list); +static LIST_HEAD(mptcp_sched_list);
@ -22138,8 +22223,10 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mpt
+ } + }
+ } + }
+ +
+ if (do_retrans && mptcp_is_available(sk, skb_head, false)) + if (do_retrans && mptcp_is_available(sk, skb_head, false)) {
+ trace_mptcp_retransmit(sk, skb_head);
+ return skb_head; + return skb_head;
+ }
+ } + }
+ return NULL; + return NULL;
+} +}
@ -22433,9 +22520,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mpt
+ return mptcp_set_default_scheduler(CONFIG_DEFAULT_MPTCP_SCHED); + return mptcp_set_default_scheduler(CONFIG_DEFAULT_MPTCP_SCHED);
+} +}
+late_initcall(mptcp_scheduler_default); +late_initcall(mptcp_scheduler_default);
diff -aurN linux-4.19.36/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c diff -aurN linux-4.19.44/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c
--- linux-4.19.36/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/net/mptcp/mptcp_wvegas.c 2019-05-23 10:38:14.000000000 +0200
@@ -0,0 +1,271 @@ @@ -0,0 +1,271 @@
+/* +/*
+ * MPTCP implementation - WEIGHTED VEGAS + * MPTCP implementation - WEIGHTED VEGAS
@ -22708,9 +22795,9 @@ diff -aurN linux-4.19.36/net/mptcp/mptcp_wvegas.c mptcp-mptcp_v0.95/net/mptcp/mp
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("MPTCP wVegas"); +MODULE_DESCRIPTION("MPTCP wVegas");
+MODULE_VERSION("0.1"); +MODULE_VERSION("0.1");
diff -aurN linux-4.19.36/tools/include/uapi/linux/bpf.h mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h 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.36/tools/include/uapi/linux/bpf.h 2019-04-20 09:16:05.000000000 +0200 --- 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-04-21 02:00:24.000000000 +0200 +++ mptcp-mptcp_v0.95/tools/include/uapi/linux/bpf.h 2019-05-23 10:38:14.000000000 +0200
@@ -2671,6 +2671,7 @@ @@ -2671,6 +2671,7 @@
BPF_TCP_LISTEN, BPF_TCP_LISTEN,
BPF_TCP_CLOSING, /* Now a valid state */ BPF_TCP_CLOSING, /* Now a valid state */