mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-02-13 03:41:54 +00:00
Update MPTCP
This commit is contained in:
parent
4891797626
commit
85acbc94ae
1 changed files with 154 additions and 151 deletions
|
@ -1,6 +1,6 @@
|
||||||
diff -aurN a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
|
diff -aurN a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
|
||||||
--- a/Documentation/networking/ip-sysctl.txt 2018-09-29 12:06:07.000000000 +0200
|
--- a/Documentation/networking/ip-sysctl.txt 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/Documentation/networking/ip-sysctl.txt 2018-10-01 18:37:13.000000000 +0200
|
+++ b/Documentation/networking/ip-sysctl.txt 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -725,6 +725,18 @@
|
@@ -725,6 +725,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
|
||||||
|
@ -21,8 +21,8 @@ diff -aurN a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/i
|
||||||
|
|
||||||
udp_l3mdev_accept - BOOLEAN
|
udp_l3mdev_accept - BOOLEAN
|
||||||
diff -aurN a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
|
diff -aurN a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
|
||||||
--- a/drivers/infiniband/hw/cxgb4/cm.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/drivers/infiniband/hw/cxgb4/cm.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/drivers/infiniband/hw/cxgb4/cm.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/drivers/infiniband/hw/cxgb4/cm.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -3752,7 +3752,7 @@
|
@@ -3752,7 +3752,7 @@
|
||||||
*/
|
*/
|
||||||
memset(&tmp_opt, 0, sizeof(tmp_opt));
|
memset(&tmp_opt, 0, sizeof(tmp_opt));
|
||||||
|
@ -33,8 +33,8 @@ diff -aurN a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
|
||||||
req = __skb_push(skb, sizeof(*req));
|
req = __skb_push(skb, sizeof(*req));
|
||||||
memset(req, 0, sizeof(*req));
|
memset(req, 0, sizeof(*req));
|
||||||
diff -aurN a/include/linux/skbuff.h b/include/linux/skbuff.h
|
diff -aurN a/include/linux/skbuff.h b/include/linux/skbuff.h
|
||||||
--- a/include/linux/skbuff.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/linux/skbuff.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/linux/skbuff.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/linux/skbuff.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -690,7 +690,7 @@
|
@@ -690,7 +690,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.
|
||||||
|
@ -45,8 +45,8 @@ diff -aurN a/include/linux/skbuff.h b/include/linux/skbuff.h
|
||||||
unsigned long _skb_refdst;
|
unsigned long _skb_refdst;
|
||||||
void (*destructor)(struct sk_buff *skb);
|
void (*destructor)(struct sk_buff *skb);
|
||||||
diff -aurN a/include/linux/tcp.h b/include/linux/tcp.h
|
diff -aurN a/include/linux/tcp.h b/include/linux/tcp.h
|
||||||
--- a/include/linux/tcp.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/linux/tcp.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/linux/tcp.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/linux/tcp.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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 */
|
||||||
|
@ -204,8 +204,8 @@ diff -aurN a/include/linux/tcp.h b/include/linux/tcp.h
|
||||||
|
|
||||||
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 a/include/net/inet_common.h b/include/net/inet_common.h
|
diff -aurN a/include/net/inet_common.h b/include/net/inet_common.h
|
||||||
--- a/include/net/inet_common.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/inet_common.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/inet_common.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/inet_common.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -2,6 +2,8 @@
|
@@ -2,6 +2,8 @@
|
||||||
#ifndef _INET_COMMON_H
|
#ifndef _INET_COMMON_H
|
||||||
#define _INET_COMMON_H
|
#define _INET_COMMON_H
|
||||||
|
@ -225,8 +225,8 @@ diff -aurN a/include/net/inet_common.h b/include/net/inet_common.h
|
||||||
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 a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
|
diff -aurN a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
|
||||||
--- a/include/net/inet_connection_sock.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/inet_connection_sock.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/inet_connection_sock.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/inet_connection_sock.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -30,6 +30,7 @@
|
@@ -30,6 +30,7 @@
|
||||||
|
|
||||||
struct inet_bind_bucket;
|
struct inet_bind_bucket;
|
||||||
|
@ -236,8 +236,8 @@ diff -aurN a/include/net/inet_connection_sock.h b/include/net/inet_connection_so
|
||||||
/*
|
/*
|
||||||
* Pointers to address related TCP functions
|
* Pointers to address related TCP functions
|
||||||
diff -aurN a/include/net/inet_sock.h b/include/net/inet_sock.h
|
diff -aurN a/include/net/inet_sock.h b/include/net/inet_sock.h
|
||||||
--- a/include/net/inet_sock.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/inet_sock.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/inet_sock.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/inet_sock.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -90,7 +90,9 @@
|
@@ -90,7 +90,9 @@
|
||||||
wscale_ok : 1,
|
wscale_ok : 1,
|
||||||
ecn_ok : 1,
|
ecn_ok : 1,
|
||||||
|
@ -251,7 +251,7 @@ diff -aurN a/include/net/inet_sock.h b/include/net/inet_sock.h
|
||||||
struct ip_options_rcu __rcu *ireq_opt;
|
struct ip_options_rcu __rcu *ireq_opt;
|
||||||
diff -aurN a/include/net/mptcp.h b/include/net/mptcp.h
|
diff -aurN a/include/net/mptcp.h b/include/net/mptcp.h
|
||||||
--- a/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100
|
--- a/include/net/mptcp.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/include/net/mptcp.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/mptcp.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,1510 @@
|
@@ -0,0 +1,1510 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation
|
+ * MPTCP implementation
|
||||||
|
@ -1765,7 +1765,7 @@ diff -aurN a/include/net/mptcp.h b/include/net/mptcp.h
|
||||||
+#endif /* _MPTCP_H */
|
+#endif /* _MPTCP_H */
|
||||||
diff -aurN a/include/net/mptcp_v4.h b/include/net/mptcp_v4.h
|
diff -aurN a/include/net/mptcp_v4.h b/include/net/mptcp_v4.h
|
||||||
--- a/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100
|
--- a/include/net/mptcp_v4.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/include/net/mptcp_v4.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/mptcp_v4.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,68 @@
|
@@ -0,0 +1,68 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation
|
+ * MPTCP implementation
|
||||||
|
@ -1837,7 +1837,7 @@ diff -aurN a/include/net/mptcp_v4.h b/include/net/mptcp_v4.h
|
||||||
+#endif /* MPTCP_V4_H_ */
|
+#endif /* MPTCP_V4_H_ */
|
||||||
diff -aurN a/include/net/mptcp_v6.h b/include/net/mptcp_v6.h
|
diff -aurN a/include/net/mptcp_v6.h b/include/net/mptcp_v6.h
|
||||||
--- a/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100
|
--- a/include/net/mptcp_v6.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/include/net/mptcp_v6.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/mptcp_v6.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,69 @@
|
@@ -0,0 +1,69 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation
|
+ * MPTCP implementation
|
||||||
|
@ -1909,8 +1909,8 @@ diff -aurN a/include/net/mptcp_v6.h b/include/net/mptcp_v6.h
|
||||||
+
|
+
|
||||||
+#endif /* _MPTCP_V6_H */
|
+#endif /* _MPTCP_V6_H */
|
||||||
diff -aurN a/include/net/net_namespace.h b/include/net/net_namespace.h
|
diff -aurN a/include/net/net_namespace.h b/include/net/net_namespace.h
|
||||||
--- a/include/net/net_namespace.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/net_namespace.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/net_namespace.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/net_namespace.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -18,6 +18,7 @@
|
@@ -18,6 +18,7 @@
|
||||||
#include <net/netns/packet.h>
|
#include <net/netns/packet.h>
|
||||||
#include <net/netns/ipv4.h>
|
#include <net/netns/ipv4.h>
|
||||||
|
@ -1931,7 +1931,7 @@ diff -aurN a/include/net/net_namespace.h b/include/net/net_namespace.h
|
||||||
#endif
|
#endif
|
||||||
diff -aurN a/include/net/netns/mptcp.h b/include/net/netns/mptcp.h
|
diff -aurN a/include/net/netns/mptcp.h b/include/net/netns/mptcp.h
|
||||||
--- a/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100
|
--- a/include/net/netns/mptcp.h 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/include/net/netns/mptcp.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/netns/mptcp.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,52 @@
|
@@ -0,0 +1,52 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - MPTCP namespace
|
+ * MPTCP implementation - MPTCP namespace
|
||||||
|
@ -1986,8 +1986,8 @@ diff -aurN a/include/net/netns/mptcp.h b/include/net/netns/mptcp.h
|
||||||
+
|
+
|
||||||
+#endif /* __NETNS_MPTCP_H__ */
|
+#endif /* __NETNS_MPTCP_H__ */
|
||||||
diff -aurN a/include/net/snmp.h b/include/net/snmp.h
|
diff -aurN a/include/net/snmp.h b/include/net/snmp.h
|
||||||
--- a/include/net/snmp.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/snmp.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/snmp.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/snmp.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -91,7 +91,6 @@
|
@@ -91,7 +91,6 @@
|
||||||
atomic_long_t mibs[ICMP6MSG_MIB_MAX];
|
atomic_long_t mibs[ICMP6MSG_MIB_MAX];
|
||||||
};
|
};
|
||||||
|
@ -1997,8 +1997,8 @@ diff -aurN a/include/net/snmp.h b/include/net/snmp.h
|
||||||
#define TCP_MIB_MAX __TCP_MIB_MAX
|
#define TCP_MIB_MAX __TCP_MIB_MAX
|
||||||
struct tcp_mib {
|
struct tcp_mib {
|
||||||
diff -aurN a/include/net/sock.h b/include/net/sock.h
|
diff -aurN a/include/net/sock.h b/include/net/sock.h
|
||||||
--- a/include/net/sock.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/sock.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/sock.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/sock.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -771,6 +771,7 @@
|
@@ -771,6 +771,7 @@
|
||||||
SOCK_FILTER_LOCKED, /* Filter cannot be changed anymore */
|
SOCK_FILTER_LOCKED, /* Filter cannot be changed anymore */
|
||||||
SOCK_SELECT_ERR_QUEUE, /* Wake select on error queue */
|
SOCK_SELECT_ERR_QUEUE, /* Wake select on error queue */
|
||||||
|
@ -2016,8 +2016,8 @@ diff -aurN a/include/net/sock.h b/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 a/include/net/tcp.h b/include/net/tcp.h
|
diff -aurN a/include/net/tcp.h b/include/net/tcp.h
|
||||||
--- a/include/net/tcp.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/tcp.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/tcp.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/tcp.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -185,6 +185,7 @@
|
@@ -185,6 +185,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 */
|
||||||
|
@ -2339,8 +2339,8 @@ diff -aurN a/include/net/tcp.h b/include/net/tcp.h
|
||||||
__u16 *mss)
|
__u16 *mss)
|
||||||
{
|
{
|
||||||
diff -aurN a/include/net/tcp_states.h b/include/net/tcp_states.h
|
diff -aurN a/include/net/tcp_states.h b/include/net/tcp_states.h
|
||||||
--- a/include/net/tcp_states.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/tcp_states.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/tcp_states.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/tcp_states.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -26,6 +26,7 @@
|
@@ -26,6 +26,7 @@
|
||||||
TCP_LISTEN,
|
TCP_LISTEN,
|
||||||
TCP_CLOSING, /* Now a valid state */
|
TCP_CLOSING, /* Now a valid state */
|
||||||
|
@ -2358,8 +2358,8 @@ diff -aurN a/include/net/tcp_states.h b/include/net/tcp_states.h
|
||||||
|
|
||||||
#endif /* _LINUX_TCP_STATES_H */
|
#endif /* _LINUX_TCP_STATES_H */
|
||||||
diff -aurN a/include/net/transp_v6.h b/include/net/transp_v6.h
|
diff -aurN a/include/net/transp_v6.h b/include/net/transp_v6.h
|
||||||
--- a/include/net/transp_v6.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/net/transp_v6.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/net/transp_v6.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/net/transp_v6.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -59,6 +59,8 @@
|
@@ -59,6 +59,8 @@
|
||||||
|
|
||||||
/* address family specific functions */
|
/* address family specific functions */
|
||||||
|
@ -2370,8 +2370,8 @@ diff -aurN a/include/net/transp_v6.h b/include/net/transp_v6.h
|
||||||
void inet6_destroy_sock(struct sock *sk);
|
void inet6_destroy_sock(struct sock *sk);
|
||||||
|
|
||||||
diff -aurN a/include/uapi/linux/if.h b/include/uapi/linux/if.h
|
diff -aurN a/include/uapi/linux/if.h b/include/uapi/linux/if.h
|
||||||
--- a/include/uapi/linux/if.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/uapi/linux/if.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/uapi/linux/if.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/uapi/linux/if.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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 */
|
||||||
|
@ -2383,8 +2383,8 @@ diff -aurN a/include/uapi/linux/if.h b/include/uapi/linux/if.h
|
||||||
IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
|
IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
|
||||||
|
|
||||||
diff -aurN a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h
|
diff -aurN a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h
|
||||||
--- a/include/uapi/linux/tcp.h 2018-09-29 12:06:07.000000000 +0200
|
--- a/include/uapi/linux/tcp.h 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/include/uapi/linux/tcp.h 2018-10-01 18:37:13.000000000 +0200
|
+++ b/include/uapi/linux/tcp.h 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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
|
||||||
|
@ -2470,9 +2470,9 @@ diff -aurN a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h
|
||||||
#define TCP_MD5SIG_MAXKEYLEN 80
|
#define TCP_MD5SIG_MAXKEYLEN 80
|
||||||
|
|
||||||
diff -aurN a/net/core/dev.c b/net/core/dev.c
|
diff -aurN a/net/core/dev.c b/net/core/dev.c
|
||||||
--- a/net/core/dev.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/core/dev.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/core/dev.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/core/dev.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -6740,7 +6740,7 @@
|
@@ -6762,7 +6762,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 |
|
||||||
|
@ -2482,8 +2482,8 @@ diff -aurN a/net/core/dev.c b/net/core/dev.c
|
||||||
IFF_ALLMULTI));
|
IFF_ALLMULTI));
|
||||||
|
|
||||||
diff -aurN a/net/core/skbuff.c b/net/core/skbuff.c
|
diff -aurN a/net/core/skbuff.c b/net/core/skbuff.c
|
||||||
--- a/net/core/skbuff.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/core/skbuff.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/core/skbuff.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/core/skbuff.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -532,7 +532,7 @@
|
@@ -532,7 +532,7 @@
|
||||||
skb_drop_list(&skb_shinfo(skb)->frag_list);
|
skb_drop_list(&skb_shinfo(skb)->frag_list);
|
||||||
}
|
}
|
||||||
|
@ -2503,8 +2503,8 @@ diff -aurN a/net/core/skbuff.c b/net/core/skbuff.c
|
||||||
__copy_skb_header(new, old);
|
__copy_skb_header(new, old);
|
||||||
|
|
||||||
diff -aurN a/net/core/sock.c b/net/core/sock.c
|
diff -aurN a/net/core/sock.c b/net/core/sock.c
|
||||||
--- a/net/core/sock.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/core/sock.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/core/sock.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/core/sock.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -139,6 +139,11 @@
|
@@ -139,6 +139,11 @@
|
||||||
|
|
||||||
#include <trace/events/sock.h>
|
#include <trace/events/sock.h>
|
||||||
|
@ -2565,8 +2565,8 @@ diff -aurN a/net/core/sock.c b/net/core/sock.c
|
||||||
cgroup_sk_alloc(&newsk->sk_cgrp_data);
|
cgroup_sk_alloc(&newsk->sk_cgrp_data);
|
||||||
|
|
||||||
diff -aurN a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
|
diff -aurN a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
|
||||||
--- a/net/ipv4/af_inet.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/af_inet.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/af_inet.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/af_inet.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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>
|
||||||
|
@ -2630,8 +2630,8 @@ diff -aurN a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
|
||||||
tcp_init();
|
tcp_init();
|
||||||
|
|
||||||
diff -aurN a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
|
diff -aurN a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
|
||||||
--- a/net/ipv4/inet_connection_sock.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/inet_connection_sock.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/inet_connection_sock.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/inet_connection_sock.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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>
|
||||||
|
@ -2640,7 +2640,7 @@ diff -aurN a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
|
||||||
#include <net/tcp.h>
|
#include <net/tcp.h>
|
||||||
#include <net/sock_reuseport.h>
|
#include <net/sock_reuseport.h>
|
||||||
#include <net/addrconf.h>
|
#include <net/addrconf.h>
|
||||||
@@ -686,7 +687,10 @@
|
@@ -689,7 +690,10 @@
|
||||||
int max_retries, thresh;
|
int max_retries, thresh;
|
||||||
u8 defer_accept;
|
u8 defer_accept;
|
||||||
|
|
||||||
|
@ -2652,7 +2652,7 @@ diff -aurN a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
max_retries = icsk->icsk_syn_retries ? : net->ipv4.sysctl_tcp_synack_retries;
|
max_retries = icsk->icsk_syn_retries ? : net->ipv4.sysctl_tcp_synack_retries;
|
||||||
@@ -780,7 +784,9 @@
|
@@ -783,7 +787,9 @@
|
||||||
const struct request_sock *req,
|
const struct request_sock *req,
|
||||||
const gfp_t priority)
|
const gfp_t priority)
|
||||||
{
|
{
|
||||||
|
@ -2663,7 +2663,7 @@ diff -aurN a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
|
||||||
|
|
||||||
if (newsk) {
|
if (newsk) {
|
||||||
struct inet_connection_sock *newicsk = inet_csk(newsk);
|
struct inet_connection_sock *newicsk = inet_csk(newsk);
|
||||||
@@ -980,7 +986,12 @@
|
@@ -983,7 +989,12 @@
|
||||||
*/
|
*/
|
||||||
while ((req = reqsk_queue_remove(queue, sk)) != NULL) {
|
while ((req = reqsk_queue_remove(queue, sk)) != NULL) {
|
||||||
struct sock *child = req->sk;
|
struct sock *child = req->sk;
|
||||||
|
@ -2676,7 +2676,7 @@ diff -aurN a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
|
||||||
local_bh_disable();
|
local_bh_disable();
|
||||||
bh_lock_sock(child);
|
bh_lock_sock(child);
|
||||||
WARN_ON(sock_owned_by_user(child));
|
WARN_ON(sock_owned_by_user(child));
|
||||||
@@ -990,6 +1001,8 @@
|
@@ -993,6 +1004,8 @@
|
||||||
reqsk_put(req);
|
reqsk_put(req);
|
||||||
bh_unlock_sock(child);
|
bh_unlock_sock(child);
|
||||||
local_bh_enable();
|
local_bh_enable();
|
||||||
|
@ -2686,8 +2686,8 @@ diff -aurN a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
|
||||||
|
|
||||||
cond_resched();
|
cond_resched();
|
||||||
diff -aurN a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
|
diff -aurN a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
|
||||||
--- a/net/ipv4/ip_sockglue.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/ip_sockglue.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/ip_sockglue.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/ip_sockglue.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -44,6 +44,8 @@
|
@@ -44,6 +44,8 @@
|
||||||
#endif
|
#endif
|
||||||
#include <net/ip_fib.h>
|
#include <net/ip_fib.h>
|
||||||
|
@ -2697,7 +2697,7 @@ diff -aurN a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
|
||||||
#include <linux/errqueue.h>
|
#include <linux/errqueue.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
|
|
||||||
@@ -755,6 +757,17 @@
|
@@ -754,6 +756,17 @@
|
||||||
inet->tos = val;
|
inet->tos = val;
|
||||||
sk->sk_priority = rt_tos2priority(val);
|
sk->sk_priority = rt_tos2priority(val);
|
||||||
sk_dst_reset(sk);
|
sk_dst_reset(sk);
|
||||||
|
@ -2716,8 +2716,8 @@ diff -aurN a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
|
||||||
break;
|
break;
|
||||||
case IP_TTL:
|
case IP_TTL:
|
||||||
diff -aurN a/net/ipv4/Kconfig b/net/ipv4/Kconfig
|
diff -aurN a/net/ipv4/Kconfig b/net/ipv4/Kconfig
|
||||||
--- a/net/ipv4/Kconfig 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/Kconfig 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/Kconfig 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/Kconfig 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -675,6 +675,38 @@
|
@@ -675,6 +675,38 @@
|
||||||
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.
|
||||||
|
@ -2788,8 +2788,8 @@ diff -aurN a/net/ipv4/Kconfig b/net/ipv4/Kconfig
|
||||||
default "dctcp" if DEFAULT_DCTCP
|
default "dctcp" if DEFAULT_DCTCP
|
||||||
default "cdg" if DEFAULT_CDG
|
default "cdg" if DEFAULT_CDG
|
||||||
diff -aurN a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c
|
diff -aurN a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c
|
||||||
--- a/net/ipv4/syncookies.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/syncookies.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/syncookies.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/syncookies.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -16,6 +16,8 @@
|
@@ -16,6 +16,8 @@
|
||||||
#include <linux/siphash.h>
|
#include <linux/siphash.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
@ -2903,8 +2903,8 @@ diff -aurN a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c
|
||||||
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 a/net/ipv4/tcp.c b/net/ipv4/tcp.c
|
diff -aurN a/net/ipv4/tcp.c b/net/ipv4/tcp.c
|
||||||
--- a/net/ipv4/tcp.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/tcp.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/tcp.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/tcp.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -273,6 +273,7 @@
|
@@ -273,6 +273,7 @@
|
||||||
|
|
||||||
#include <net/icmp.h>
|
#include <net/icmp.h>
|
||||||
|
@ -3533,8 +3533,8 @@ diff -aurN a/net/ipv4/tcp.c b/net/ipv4/tcp.c
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(tcp_abort);
|
EXPORT_SYMBOL_GPL(tcp_abort);
|
||||||
diff -aurN a/net/ipv4/tcp_fastopen.c b/net/ipv4/tcp_fastopen.c
|
diff -aurN a/net/ipv4/tcp_fastopen.c b/net/ipv4/tcp_fastopen.c
|
||||||
--- a/net/ipv4/tcp_fastopen.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/tcp_fastopen.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/tcp_fastopen.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/tcp_fastopen.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -9,6 +9,7 @@
|
@@ -9,6 +9,7 @@
|
||||||
#include <linux/rculist.h>
|
#include <linux/rculist.h>
|
||||||
#include <net/inetpeer.h>
|
#include <net/inetpeer.h>
|
||||||
|
@ -3588,8 +3588,8 @@ diff -aurN a/net/ipv4/tcp_fastopen.c b/net/ipv4/tcp_fastopen.c
|
||||||
* and queues the child into listener accept queue.
|
* and queues the child into listener accept queue.
|
||||||
*/
|
*/
|
||||||
diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
--- a/net/ipv4/tcp_input.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/tcp_input.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/tcp_input.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/tcp_input.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -76,6 +76,9 @@
|
@@ -76,6 +76,9 @@
|
||||||
#include <linux/ipsec.h>
|
#include <linux/ipsec.h>
|
||||||
#include <asm/unaligned.h>
|
#include <asm/unaligned.h>
|
||||||
|
@ -4250,7 +4250,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
{
|
{
|
||||||
struct tcp_sock *tp = tcp_sk(sk);
|
struct tcp_sock *tp = tcp_sk(sk);
|
||||||
struct inet_connection_sock *icsk = inet_csk(sk);
|
struct inet_connection_sock *icsk = inet_csk(sk);
|
||||||
@@ -5930,6 +6064,16 @@
|
@@ -5932,6 +6066,16 @@
|
||||||
tp->rx_opt.saw_tstamp = 0;
|
tp->rx_opt.saw_tstamp = 0;
|
||||||
tcp_mstamp_refresh(tp);
|
tcp_mstamp_refresh(tp);
|
||||||
queued = tcp_rcv_synsent_state_process(sk, skb, th);
|
queued = tcp_rcv_synsent_state_process(sk, skb, th);
|
||||||
|
@ -4267,7 +4267,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
if (queued >= 0)
|
if (queued >= 0)
|
||||||
return queued;
|
return queued;
|
||||||
|
|
||||||
@@ -5937,6 +6081,8 @@
|
@@ -5939,6 +6083,8 @@
|
||||||
tcp_urg(sk, skb, th);
|
tcp_urg(sk, skb, th);
|
||||||
__kfree_skb(skb);
|
__kfree_skb(skb);
|
||||||
tcp_data_snd_check(sk);
|
tcp_data_snd_check(sk);
|
||||||
|
@ -4276,7 +4276,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5987,7 +6133,7 @@
|
@@ -5989,7 +6135,7 @@
|
||||||
|
|
||||||
tcp_mtup_init(sk);
|
tcp_mtup_init(sk);
|
||||||
tp->copied_seq = tp->rcv_nxt;
|
tp->copied_seq = tp->rcv_nxt;
|
||||||
|
@ -4285,7 +4285,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
}
|
}
|
||||||
smp_mb();
|
smp_mb();
|
||||||
tcp_set_state(sk, TCP_ESTABLISHED);
|
tcp_set_state(sk, TCP_ESTABLISHED);
|
||||||
@@ -6006,6 +6152,8 @@
|
@@ -6008,6 +6154,8 @@
|
||||||
|
|
||||||
if (tp->rx_opt.tstamp_ok)
|
if (tp->rx_opt.tstamp_ok)
|
||||||
tp->advmss -= TCPOLEN_TSTAMP_ALIGNED;
|
tp->advmss -= TCPOLEN_TSTAMP_ALIGNED;
|
||||||
|
@ -4294,7 +4294,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
|
|
||||||
if (req) {
|
if (req) {
|
||||||
/* Re-arm the timer because data may have been sent out.
|
/* Re-arm the timer because data may have been sent out.
|
||||||
@@ -6028,6 +6176,16 @@
|
@@ -6030,6 +6178,16 @@
|
||||||
|
|
||||||
tcp_initialize_rcv_mss(sk);
|
tcp_initialize_rcv_mss(sk);
|
||||||
tcp_fast_path_on(tp);
|
tcp_fast_path_on(tp);
|
||||||
|
@ -4311,7 +4311,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TCP_FIN_WAIT1: {
|
case TCP_FIN_WAIT1: {
|
||||||
@@ -6075,7 +6233,8 @@
|
@@ -6077,7 +6235,8 @@
|
||||||
tmo = tcp_fin_time(sk);
|
tmo = tcp_fin_time(sk);
|
||||||
if (tmo > TCP_TIMEWAIT_LEN) {
|
if (tmo > TCP_TIMEWAIT_LEN) {
|
||||||
inet_csk_reset_keepalive_timer(sk, tmo - TCP_TIMEWAIT_LEN);
|
inet_csk_reset_keepalive_timer(sk, tmo - TCP_TIMEWAIT_LEN);
|
||||||
|
@ -4321,7 +4321,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
/* Bad case. We could lose such FIN otherwise.
|
/* Bad case. We could lose such FIN otherwise.
|
||||||
* It is not a big problem, but it looks confusing
|
* It is not a big problem, but it looks confusing
|
||||||
* and not so rare event. We still can lose it now,
|
* and not so rare event. We still can lose it now,
|
||||||
@@ -6084,7 +6243,7 @@
|
@@ -6086,7 +6245,7 @@
|
||||||
*/
|
*/
|
||||||
inet_csk_reset_keepalive_timer(sk, tmo);
|
inet_csk_reset_keepalive_timer(sk, tmo);
|
||||||
} else {
|
} else {
|
||||||
|
@ -4330,7 +4330,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
goto discard;
|
goto discard;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -6092,7 +6251,7 @@
|
@@ -6094,7 +6253,7 @@
|
||||||
|
|
||||||
case TCP_CLOSING:
|
case TCP_CLOSING:
|
||||||
if (tp->snd_una == tp->write_seq) {
|
if (tp->snd_una == tp->write_seq) {
|
||||||
|
@ -4339,7 +4339,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
goto discard;
|
goto discard;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -6104,6 +6263,9 @@
|
@@ -6106,6 +6265,9 @@
|
||||||
goto discard;
|
goto discard;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -4349,7 +4349,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
}
|
}
|
||||||
|
|
||||||
/* step 6: check the URG bit */
|
/* step 6: check the URG bit */
|
||||||
@@ -6124,7 +6286,8 @@
|
@@ -6126,7 +6288,8 @@
|
||||||
*/
|
*/
|
||||||
if (sk->sk_shutdown & RCV_SHUTDOWN) {
|
if (sk->sk_shutdown & RCV_SHUTDOWN) {
|
||||||
if (TCP_SKB_CB(skb)->end_seq != TCP_SKB_CB(skb)->seq &&
|
if (TCP_SKB_CB(skb)->end_seq != TCP_SKB_CB(skb)->seq &&
|
||||||
|
@ -4359,7 +4359,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPABORTONDATA);
|
NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPABORTONDATA);
|
||||||
tcp_reset(sk);
|
tcp_reset(sk);
|
||||||
return 1;
|
return 1;
|
||||||
@@ -6221,6 +6384,8 @@
|
@@ -6223,6 +6386,8 @@
|
||||||
ireq->wscale_ok = rx_opt->wscale_ok;
|
ireq->wscale_ok = rx_opt->wscale_ok;
|
||||||
ireq->acked = 0;
|
ireq->acked = 0;
|
||||||
ireq->ecn_ok = 0;
|
ireq->ecn_ok = 0;
|
||||||
|
@ -4368,7 +4368,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
ireq->ir_rmt_port = tcp_hdr(skb)->source;
|
ireq->ir_rmt_port = tcp_hdr(skb)->source;
|
||||||
ireq->ir_num = ntohs(tcp_hdr(skb)->dest);
|
ireq->ir_num = ntohs(tcp_hdr(skb)->dest);
|
||||||
ireq->ir_mark = inet_request_mark(sk, skb);
|
ireq->ir_mark = inet_request_mark(sk, skb);
|
||||||
@@ -6315,12 +6480,17 @@
|
@@ -6317,12 +6482,17 @@
|
||||||
/* TW buckets are converted to open requests without
|
/* TW buckets are converted to open requests without
|
||||||
* limitations, they conserve resources and peer is
|
* limitations, they conserve resources and peer is
|
||||||
* evidently real one.
|
* evidently real one.
|
||||||
|
@ -4387,7 +4387,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sk_acceptq_is_full(sk)) {
|
if (sk_acceptq_is_full(sk)) {
|
||||||
@@ -6338,8 +6508,8 @@
|
@@ -6340,8 +6510,8 @@
|
||||||
tcp_clear_options(&tmp_opt);
|
tcp_clear_options(&tmp_opt);
|
||||||
tmp_opt.mss_clamp = af_ops->mss_clamp;
|
tmp_opt.mss_clamp = af_ops->mss_clamp;
|
||||||
tmp_opt.user_mss = tp->rx_opt.user_mss;
|
tmp_opt.user_mss = tp->rx_opt.user_mss;
|
||||||
|
@ -4398,7 +4398,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
|
|
||||||
if (want_cookie && !tmp_opt.saw_tstamp)
|
if (want_cookie && !tmp_opt.saw_tstamp)
|
||||||
tcp_clear_options(&tmp_opt);
|
tcp_clear_options(&tmp_opt);
|
||||||
@@ -6351,7 +6521,8 @@
|
@@ -6353,7 +6523,8 @@
|
||||||
/* Note: tcp_v6_init_req() might override ir_iif for link locals */
|
/* Note: tcp_v6_init_req() might override ir_iif for link locals */
|
||||||
inet_rsk(req)->ir_iif = inet_request_bound_dev_if(sk, skb);
|
inet_rsk(req)->ir_iif = inet_request_bound_dev_if(sk, skb);
|
||||||
|
|
||||||
|
@ -4408,7 +4408,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
|
|
||||||
if (security_inet_conn_request(sk, skb, req))
|
if (security_inet_conn_request(sk, skb, req))
|
||||||
goto drop_and_free;
|
goto drop_and_free;
|
||||||
@@ -6387,7 +6558,7 @@
|
@@ -6389,7 +6560,7 @@
|
||||||
tcp_ecn_create_request(req, skb, sk, dst);
|
tcp_ecn_create_request(req, skb, sk, dst);
|
||||||
|
|
||||||
if (want_cookie) {
|
if (want_cookie) {
|
||||||
|
@ -4417,7 +4417,7 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
req->cookie_ts = tmp_opt.tstamp_ok;
|
req->cookie_ts = tmp_opt.tstamp_ok;
|
||||||
if (!tmp_opt.tstamp_ok)
|
if (!tmp_opt.tstamp_ok)
|
||||||
inet_rsk(req)->ecn_ok = 0;
|
inet_rsk(req)->ecn_ok = 0;
|
||||||
@@ -6401,12 +6572,18 @@
|
@@ -6403,12 +6574,18 @@
|
||||||
fastopen_sk = tcp_try_fastopen(sk, skb, req, &foc);
|
fastopen_sk = tcp_try_fastopen(sk, skb, req, &foc);
|
||||||
}
|
}
|
||||||
if (fastopen_sk) {
|
if (fastopen_sk) {
|
||||||
|
@ -4438,8 +4438,8 @@ diff -aurN a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
||||||
} else {
|
} else {
|
||||||
tcp_rsk(req)->tfo_listener = false;
|
tcp_rsk(req)->tfo_listener = false;
|
||||||
diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
--- a/net/ipv4/tcp_ipv4.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/tcp_ipv4.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/tcp_ipv4.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/tcp_ipv4.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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>
|
||||||
|
@ -4680,7 +4680,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
{
|
{
|
||||||
const struct inet_request_sock *ireq = inet_rsk(req);
|
const struct inet_request_sock *ireq = inet_rsk(req);
|
||||||
struct flowi4 fl4;
|
struct flowi4 fl4;
|
||||||
@@ -887,7 +923,7 @@
|
@@ -889,7 +925,7 @@
|
||||||
/*
|
/*
|
||||||
* IPv4 request_sock destructor.
|
* IPv4 request_sock destructor.
|
||||||
*/
|
*/
|
||||||
|
@ -4689,7 +4689,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
{
|
{
|
||||||
kfree(rcu_dereference_protected(inet_rsk(req)->ireq_opt, 1));
|
kfree(rcu_dereference_protected(inet_rsk(req)->ireq_opt, 1));
|
||||||
}
|
}
|
||||||
@@ -1260,9 +1296,10 @@
|
@@ -1262,9 +1298,10 @@
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4703,7 +4703,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
{
|
{
|
||||||
struct inet_request_sock *ireq = inet_rsk(req);
|
struct inet_request_sock *ireq = inet_rsk(req);
|
||||||
struct net *net = sock_net(sk_listener);
|
struct net *net = sock_net(sk_listener);
|
||||||
@@ -1270,6 +1307,8 @@
|
@@ -1272,6 +1309,8 @@
|
||||||
sk_rcv_saddr_set(req_to_sk(req), ip_hdr(skb)->daddr);
|
sk_rcv_saddr_set(req_to_sk(req), ip_hdr(skb)->daddr);
|
||||||
sk_daddr_set(req_to_sk(req), ip_hdr(skb)->saddr);
|
sk_daddr_set(req_to_sk(req), ip_hdr(skb)->saddr);
|
||||||
RCU_INIT_POINTER(ireq->ireq_opt, tcp_v4_save_options(net, skb));
|
RCU_INIT_POINTER(ireq->ireq_opt, tcp_v4_save_options(net, skb));
|
||||||
|
@ -4712,7 +4712,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct dst_entry *tcp_v4_route_req(const struct sock *sk,
|
static struct dst_entry *tcp_v4_route_req(const struct sock *sk,
|
||||||
@@ -1289,7 +1328,7 @@
|
@@ -1291,7 +1330,7 @@
|
||||||
.syn_ack_timeout = tcp_syn_ack_timeout,
|
.syn_ack_timeout = tcp_syn_ack_timeout,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4721,7 +4721,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
.mss_clamp = TCP_MSS_DEFAULT,
|
.mss_clamp = TCP_MSS_DEFAULT,
|
||||||
#ifdef CONFIG_TCP_MD5SIG
|
#ifdef CONFIG_TCP_MD5SIG
|
||||||
.req_md5_lookup = tcp_v4_md5_lookup,
|
.req_md5_lookup = tcp_v4_md5_lookup,
|
||||||
@@ -1426,7 +1465,7 @@
|
@@ -1428,7 +1467,7 @@
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(tcp_v4_syn_recv_sock);
|
EXPORT_SYMBOL(tcp_v4_syn_recv_sock);
|
||||||
|
|
||||||
|
@ -4730,7 +4730,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SYN_COOKIES
|
#ifdef CONFIG_SYN_COOKIES
|
||||||
const struct tcphdr *th = tcp_hdr(skb);
|
const struct tcphdr *th = tcp_hdr(skb);
|
||||||
@@ -1449,6 +1488,9 @@
|
@@ -1451,6 +1490,9 @@
|
||||||
{
|
{
|
||||||
struct sock *rsk;
|
struct sock *rsk;
|
||||||
|
|
||||||
|
@ -4740,7 +4740,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */
|
if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */
|
||||||
struct dst_entry *dst = sk->sk_rx_dst;
|
struct dst_entry *dst = sk->sk_rx_dst;
|
||||||
|
|
||||||
@@ -1607,6 +1649,10 @@
|
@@ -1609,6 +1651,10 @@
|
||||||
TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin +
|
TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin +
|
||||||
skb->len - th->doff * 4);
|
skb->len - th->doff * 4);
|
||||||
TCP_SKB_CB(skb)->ack_seq = ntohl(th->ack_seq);
|
TCP_SKB_CB(skb)->ack_seq = ntohl(th->ack_seq);
|
||||||
|
@ -4751,7 +4751,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
TCP_SKB_CB(skb)->tcp_flags = tcp_flag_byte(th);
|
TCP_SKB_CB(skb)->tcp_flags = tcp_flag_byte(th);
|
||||||
TCP_SKB_CB(skb)->tcp_tw_isn = 0;
|
TCP_SKB_CB(skb)->tcp_tw_isn = 0;
|
||||||
TCP_SKB_CB(skb)->ip_dsfield = ipv4_get_dsfield(iph);
|
TCP_SKB_CB(skb)->ip_dsfield = ipv4_get_dsfield(iph);
|
||||||
@@ -1625,8 +1671,8 @@
|
@@ -1627,8 +1673,8 @@
|
||||||
int sdif = inet_sdif(skb);
|
int sdif = inet_sdif(skb);
|
||||||
const struct iphdr *iph;
|
const struct iphdr *iph;
|
||||||
const struct tcphdr *th;
|
const struct tcphdr *th;
|
||||||
|
@ -4761,7 +4761,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (skb->pkt_type != PACKET_HOST)
|
if (skb->pkt_type != PACKET_HOST)
|
||||||
@@ -1679,7 +1725,7 @@
|
@@ -1681,7 +1727,7 @@
|
||||||
reqsk_put(req);
|
reqsk_put(req);
|
||||||
goto csum_error;
|
goto csum_error;
|
||||||
}
|
}
|
||||||
|
@ -4770,7 +4770,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
inet_csk_reqsk_queue_drop_and_put(sk, req);
|
inet_csk_reqsk_queue_drop_and_put(sk, req);
|
||||||
goto lookup;
|
goto lookup;
|
||||||
}
|
}
|
||||||
@@ -1688,6 +1734,36 @@
|
@@ -1690,6 +1736,36 @@
|
||||||
*/
|
*/
|
||||||
sock_hold(sk);
|
sock_hold(sk);
|
||||||
refcounted = true;
|
refcounted = true;
|
||||||
|
@ -4807,7 +4807,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
nsk = NULL;
|
nsk = NULL;
|
||||||
if (!tcp_filter(sk, skb)) {
|
if (!tcp_filter(sk, skb)) {
|
||||||
th = (const struct tcphdr *)skb->data;
|
th = (const struct tcphdr *)skb->data;
|
||||||
@@ -1697,11 +1773,15 @@
|
@@ -1699,11 +1775,15 @@
|
||||||
}
|
}
|
||||||
if (!nsk) {
|
if (!nsk) {
|
||||||
reqsk_put(req);
|
reqsk_put(req);
|
||||||
|
@ -4823,7 +4823,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
} else if (tcp_child_process(sk, nsk, skb)) {
|
} else if (tcp_child_process(sk, nsk, skb)) {
|
||||||
tcp_v4_send_reset(nsk, skb);
|
tcp_v4_send_reset(nsk, skb);
|
||||||
goto discard_and_relse;
|
goto discard_and_relse;
|
||||||
@@ -1738,15 +1818,24 @@
|
@@ -1740,15 +1820,24 @@
|
||||||
|
|
||||||
sk_incoming_cpu_update(sk);
|
sk_incoming_cpu_update(sk);
|
||||||
|
|
||||||
|
@ -4852,7 +4852,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
|
|
||||||
put_and_return:
|
put_and_return:
|
||||||
if (refcounted)
|
if (refcounted)
|
||||||
@@ -1760,6 +1849,19 @@
|
@@ -1762,6 +1851,19 @@
|
||||||
|
|
||||||
tcp_v4_fill_cb(skb, iph, th);
|
tcp_v4_fill_cb(skb, iph, th);
|
||||||
|
|
||||||
|
@ -4872,7 +4872,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
if (tcp_checksum_complete(skb)) {
|
if (tcp_checksum_complete(skb)) {
|
||||||
csum_error:
|
csum_error:
|
||||||
__TCP_INC_STATS(net, TCP_MIB_CSUMERRORS);
|
__TCP_INC_STATS(net, TCP_MIB_CSUMERRORS);
|
||||||
@@ -1808,6 +1910,18 @@
|
@@ -1810,6 +1912,18 @@
|
||||||
refcounted = false;
|
refcounted = false;
|
||||||
goto process;
|
goto process;
|
||||||
}
|
}
|
||||||
|
@ -4891,7 +4891,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
/* Fall through to ACK */
|
/* Fall through to ACK */
|
||||||
}
|
}
|
||||||
case TCP_TW_ACK:
|
case TCP_TW_ACK:
|
||||||
@@ -1876,7 +1990,12 @@
|
@@ -1878,7 +1992,12 @@
|
||||||
|
|
||||||
tcp_init_sock(sk);
|
tcp_init_sock(sk);
|
||||||
|
|
||||||
|
@ -4905,7 +4905,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
|
|
||||||
#ifdef CONFIG_TCP_MD5SIG
|
#ifdef CONFIG_TCP_MD5SIG
|
||||||
tcp_sk(sk)->af_specific = &tcp_sock_ipv4_specific;
|
tcp_sk(sk)->af_specific = &tcp_sock_ipv4_specific;
|
||||||
@@ -1893,6 +2012,11 @@
|
@@ -1895,6 +2014,11 @@
|
||||||
|
|
||||||
tcp_cleanup_congestion_control(sk);
|
tcp_cleanup_congestion_control(sk);
|
||||||
|
|
||||||
|
@ -4917,7 +4917,7 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
tcp_cleanup_ulp(sk);
|
tcp_cleanup_ulp(sk);
|
||||||
|
|
||||||
/* Cleanup up the write buffer. */
|
/* Cleanup up the write buffer. */
|
||||||
@@ -2439,7 +2563,15 @@
|
@@ -2441,7 +2565,15 @@
|
||||||
.compat_setsockopt = compat_tcp_setsockopt,
|
.compat_setsockopt = compat_tcp_setsockopt,
|
||||||
.compat_getsockopt = compat_tcp_getsockopt,
|
.compat_getsockopt = compat_tcp_getsockopt,
|
||||||
#endif
|
#endif
|
||||||
|
@ -4934,8 +4934,8 @@ diff -aurN a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
|
||||||
EXPORT_SYMBOL(tcp_prot);
|
EXPORT_SYMBOL(tcp_prot);
|
||||||
|
|
||||||
diff -aurN a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
|
diff -aurN a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
|
||||||
--- a/net/ipv4/tcp_minisocks.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/tcp_minisocks.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/tcp_minisocks.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/tcp_minisocks.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -18,11 +18,13 @@
|
@@ -18,11 +18,13 @@
|
||||||
* Jorge Cwik, <jorge@laser.satlink.net>
|
* Jorge Cwik, <jorge@laser.satlink.net>
|
||||||
*/
|
*/
|
||||||
|
@ -5147,8 +5147,8 @@ diff -aurN a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
diff -aurN a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
|
diff -aurN a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
|
||||||
--- a/net/ipv4/tcp_output.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/tcp_output.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/tcp_output.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/tcp_output.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -36,6 +36,12 @@
|
@@ -36,6 +36,12 @@
|
||||||
|
|
||||||
#define pr_fmt(fmt) "TCP: " fmt
|
#define pr_fmt(fmt) "TCP: " fmt
|
||||||
|
@ -5750,8 +5750,8 @@ diff -aurN a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
|
||||||
if (tp->packets_out || !tcp_send_head(sk)) {
|
if (tp->packets_out || !tcp_send_head(sk)) {
|
||||||
/* Cancel probe timer, if it is not required. */
|
/* Cancel probe timer, if it is not required. */
|
||||||
diff -aurN a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
|
diff -aurN a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
|
||||||
--- a/net/ipv4/tcp_timer.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv4/tcp_timer.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv4/tcp_timer.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv4/tcp_timer.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -20,6 +20,7 @@
|
@@ -20,6 +20,7 @@
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
@ -5950,8 +5950,8 @@ diff -aurN a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
|
||||||
}
|
}
|
||||||
|
|
||||||
diff -aurN a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
|
diff -aurN a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
|
||||||
--- a/net/ipv6/addrconf.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv6/addrconf.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv6/addrconf.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv6/addrconf.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -928,6 +928,7 @@
|
@@ -928,6 +928,7 @@
|
||||||
|
|
||||||
kfree_rcu(ifp, rcu);
|
kfree_rcu(ifp, rcu);
|
||||||
|
@ -5961,8 +5961,8 @@ diff -aurN a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
|
||||||
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 a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
|
diff -aurN a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
|
||||||
--- a/net/ipv6/af_inet6.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv6/af_inet6.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv6/af_inet6.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv6/af_inet6.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -107,8 +107,7 @@
|
@@ -107,8 +107,7 @@
|
||||||
return (struct ipv6_pinfo *)(((u8 *)sk) + offset);
|
return (struct ipv6_pinfo *)(((u8 *)sk) + offset);
|
||||||
}
|
}
|
||||||
|
@ -5974,8 +5974,8 @@ diff -aurN a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
|
||||||
struct inet_sock *inet;
|
struct inet_sock *inet;
|
||||||
struct ipv6_pinfo *np;
|
struct ipv6_pinfo *np;
|
||||||
diff -aurN a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
|
diff -aurN a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
|
||||||
--- a/net/ipv6/ipv6_sockglue.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv6/ipv6_sockglue.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv6/ipv6_sockglue.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv6/ipv6_sockglue.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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>
|
||||||
|
@ -6000,8 +6000,8 @@ diff -aurN a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
|
||||||
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 a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c
|
diff -aurN a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c
|
||||||
--- a/net/ipv6/syncookies.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv6/syncookies.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv6/syncookies.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv6/syncookies.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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>
|
||||||
|
@ -6084,8 +6084,8 @@ diff -aurN a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c
|
||||||
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 a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
|
diff -aurN a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
|
||||||
--- a/net/ipv6/tcp_ipv6.c 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/ipv6/tcp_ipv6.c 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/ipv6/tcp_ipv6.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/ipv6/tcp_ipv6.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -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>
|
||||||
|
@ -6708,8 +6708,8 @@ diff -aurN a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
|
||||||
|
|
||||||
/* thinking of making this const? Don't.
|
/* thinking of making this const? Don't.
|
||||||
diff -aurN a/net/Kconfig b/net/Kconfig
|
diff -aurN a/net/Kconfig b/net/Kconfig
|
||||||
--- a/net/Kconfig 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/Kconfig 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/Kconfig 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/Kconfig 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -88,6 +88,7 @@
|
@@ -88,6 +88,7 @@
|
||||||
source "net/ipv4/Kconfig"
|
source "net/ipv4/Kconfig"
|
||||||
source "net/ipv6/Kconfig"
|
source "net/ipv6/Kconfig"
|
||||||
|
@ -6719,8 +6719,8 @@ diff -aurN a/net/Kconfig b/net/Kconfig
|
||||||
endif # if INET
|
endif # if INET
|
||||||
|
|
||||||
diff -aurN a/net/Makefile b/net/Makefile
|
diff -aurN a/net/Makefile b/net/Makefile
|
||||||
--- a/net/Makefile 2018-09-29 12:06:07.000000000 +0200
|
--- a/net/Makefile 2018-11-04 14:52:51.000000000 +0100
|
||||||
+++ b/net/Makefile 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/Makefile 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -20,6 +20,7 @@
|
@@ -20,6 +20,7 @@
|
||||||
obj-$(CONFIG_XFRM) += xfrm/
|
obj-$(CONFIG_XFRM) += xfrm/
|
||||||
obj-$(CONFIG_UNIX) += unix/
|
obj-$(CONFIG_UNIX) += unix/
|
||||||
|
@ -6731,7 +6731,7 @@ diff -aurN a/net/Makefile b/net/Makefile
|
||||||
obj-$(CONFIG_BRIDGE) += bridge/
|
obj-$(CONFIG_BRIDGE) += bridge/
|
||||||
diff -aurN a/net/mptcp/Kconfig b/net/mptcp/Kconfig
|
diff -aurN a/net/mptcp/Kconfig b/net/mptcp/Kconfig
|
||||||
--- a/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/Kconfig 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/Kconfig 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/Kconfig 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,129 @@
|
@@ -0,0 +1,129 @@
|
||||||
+#
|
+#
|
||||||
+# MPTCP configuration
|
+# MPTCP configuration
|
||||||
|
@ -6864,7 +6864,7 @@ diff -aurN a/net/mptcp/Kconfig b/net/mptcp/Kconfig
|
||||||
+
|
+
|
||||||
diff -aurN a/net/mptcp/Makefile b/net/mptcp/Makefile
|
diff -aurN a/net/mptcp/Makefile b/net/mptcp/Makefile
|
||||||
--- a/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/Makefile 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/Makefile 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/Makefile 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,22 @@
|
@@ -0,0 +1,22 @@
|
||||||
+#
|
+#
|
||||||
+## Makefile for MultiPath TCP support code.
|
+## Makefile for MultiPath TCP support code.
|
||||||
|
@ -6890,7 +6890,7 @@ diff -aurN a/net/mptcp/Makefile b/net/mptcp/Makefile
|
||||||
+
|
+
|
||||||
diff -aurN a/net/mptcp/mptcp_balia.c b/net/mptcp/mptcp_balia.c
|
diff -aurN a/net/mptcp/mptcp_balia.c b/net/mptcp/mptcp_balia.c
|
||||||
--- a/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_balia.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_balia.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_balia.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,268 @@
|
@@ -0,0 +1,268 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - Balia Congestion Control
|
+ * MPTCP implementation - Balia Congestion Control
|
||||||
|
@ -7162,7 +7162,7 @@ diff -aurN a/net/mptcp/mptcp_balia.c b/net/mptcp/mptcp_balia.c
|
||||||
+MODULE_VERSION("0.1");
|
+MODULE_VERSION("0.1");
|
||||||
diff -aurN a/net/mptcp/mptcp_binder.c b/net/mptcp/mptcp_binder.c
|
diff -aurN a/net/mptcp/mptcp_binder.c b/net/mptcp/mptcp_binder.c
|
||||||
--- a/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_binder.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_binder.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_binder.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,486 @@
|
@@ -0,0 +1,486 @@
|
||||||
+#include <linux/module.h>
|
+#include <linux/module.h>
|
||||||
+
|
+
|
||||||
|
@ -7652,7 +7652,7 @@ diff -aurN a/net/mptcp/mptcp_binder.c b/net/mptcp/mptcp_binder.c
|
||||||
+MODULE_VERSION("0.1");
|
+MODULE_VERSION("0.1");
|
||||||
diff -aurN a/net/mptcp/mptcp_coupled.c b/net/mptcp/mptcp_coupled.c
|
diff -aurN a/net/mptcp/mptcp_coupled.c b/net/mptcp/mptcp_coupled.c
|
||||||
--- a/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_coupled.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_coupled.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_coupled.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,271 @@
|
@@ -0,0 +1,271 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - Linked Increase congestion control Algorithm (LIA)
|
+ * MPTCP implementation - Linked Increase congestion control Algorithm (LIA)
|
||||||
|
@ -7927,8 +7927,8 @@ diff -aurN a/net/mptcp/mptcp_coupled.c b/net/mptcp/mptcp_coupled.c
|
||||||
+MODULE_VERSION("0.1");
|
+MODULE_VERSION("0.1");
|
||||||
diff -aurN a/net/mptcp/mptcp_ctrl.c b/net/mptcp/mptcp_ctrl.c
|
diff -aurN a/net/mptcp/mptcp_ctrl.c b/net/mptcp/mptcp_ctrl.c
|
||||||
--- a/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_ctrl.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_ctrl.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,2928 @@
|
@@ -0,0 +1,2931 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - MPTCP-control
|
+ * MPTCP implementation - MPTCP-control
|
||||||
+ *
|
+ *
|
||||||
|
@ -7995,6 +7995,7 @@ diff -aurN a/net/mptcp/mptcp_ctrl.c b/net/mptcp/mptcp_ctrl.c
|
||||||
+static struct kmem_cache *mptcp_tw_cache __read_mostly;
|
+static struct kmem_cache *mptcp_tw_cache __read_mostly;
|
||||||
+
|
+
|
||||||
+int sysctl_mptcp_enabled __read_mostly = 1;
|
+int sysctl_mptcp_enabled __read_mostly = 1;
|
||||||
|
+EXPORT_SYMBOL(sysctl_mptcp_enabled);
|
||||||
+int sysctl_mptcp_version __read_mostly = 0;
|
+int sysctl_mptcp_version __read_mostly = 0;
|
||||||
+static int min_mptcp_version;
|
+static int min_mptcp_version;
|
||||||
+static int max_mptcp_version = 1;
|
+static int max_mptcp_version = 1;
|
||||||
|
@ -9028,32 +9029,34 @@ diff -aurN a/net/mptcp/mptcp_ctrl.c b/net/mptcp/mptcp_ctrl.c
|
||||||
+
|
+
|
||||||
+#if IS_ENABLED(CONFIG_IPV6)
|
+#if IS_ENABLED(CONFIG_IPV6)
|
||||||
+ if (meta_icsk->icsk_af_ops == &mptcp_v6_mapped) {
|
+ if (meta_icsk->icsk_af_ops == &mptcp_v6_mapped) {
|
||||||
|
+ struct tcp6_sock *master_tp6 = (struct tcp6_sock *)master_sk;
|
||||||
+ struct ipv6_pinfo *newnp, *np = inet6_sk(meta_sk);
|
+ struct ipv6_pinfo *newnp, *np = inet6_sk(meta_sk);
|
||||||
+
|
+
|
||||||
+ inet_sk(master_sk)->pinet6 = &((struct tcp6_sock *)master_sk)->inet6;
|
+ inet_sk(master_sk)->pinet6 = &master_tp6->inet6;
|
||||||
+
|
+
|
||||||
+ newnp = inet6_sk(master_sk);
|
+ newnp = inet6_sk(master_sk);
|
||||||
+ memcpy(newnp, np, sizeof(struct ipv6_pinfo));
|
+ memcpy(newnp, np, sizeof(struct ipv6_pinfo));
|
||||||
+
|
|
||||||
+ newnp->ipv6_mc_list = NULL;
|
|
||||||
+ newnp->ipv6_ac_list = NULL;
|
|
||||||
+ newnp->ipv6_fl_list = NULL;
|
|
||||||
+ newnp->opt = NULL;
|
|
||||||
+ newnp->pktoptions = NULL;
|
|
||||||
+ (void)xchg(&newnp->rxpmtu, NULL);
|
|
||||||
+ } else if (meta_sk->sk_family == AF_INET6) {
|
+ } else if (meta_sk->sk_family == AF_INET6) {
|
||||||
|
+ struct tcp6_sock *master_tp6 = (struct tcp6_sock *)master_sk;
|
||||||
+ struct ipv6_pinfo *newnp, *np = inet6_sk(meta_sk);
|
+ struct ipv6_pinfo *newnp, *np = inet6_sk(meta_sk);
|
||||||
|
+ struct ipv6_txoptions *opt;
|
||||||
+
|
+
|
||||||
+ inet_sk(master_sk)->pinet6 = &((struct tcp6_sock *)master_sk)->inet6;
|
+ inet_sk(master_sk)->pinet6 = &master_tp6->inet6;
|
||||||
+
|
+
|
||||||
|
+ /* The following heavily inspired from tcp_v6_syn_recv_sock() */
|
||||||
+ newnp = inet6_sk(master_sk);
|
+ newnp = inet6_sk(master_sk);
|
||||||
+ memcpy(newnp, np, sizeof(struct ipv6_pinfo));
|
+ memcpy(newnp, np, sizeof(struct ipv6_pinfo));
|
||||||
+
|
+
|
||||||
+ newnp->hop_limit = -1;
|
+ opt = rcu_dereference(np->opt);
|
||||||
+ newnp->mcast_hops = IPV6_DEFAULT_MCASTHOPS;
|
+ if (opt) {
|
||||||
+ newnp->mc_loop = 1;
|
+ opt = ipv6_dup_options(master_sk, opt);
|
||||||
+ newnp->pmtudisc = IPV6_PMTUDISC_WANT;
|
+ RCU_INIT_POINTER(newnp->opt, opt);
|
||||||
+ master_sk->sk_ipv6only = sock_net(master_sk)->ipv6.sysctl.bindv6only;
|
+ }
|
||||||
|
+ inet_csk(master_sk)->icsk_ext_hdr_len = 0;
|
||||||
|
+ if (opt)
|
||||||
|
+ inet_csk(master_sk)->icsk_ext_hdr_len = opt->opt_nflen +
|
||||||
|
+ opt->opt_flen;
|
||||||
|
+
|
||||||
+ }
|
+ }
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
|
@ -10859,7 +10862,7 @@ diff -aurN a/net/mptcp/mptcp_ctrl.c b/net/mptcp/mptcp_ctrl.c
|
||||||
+}
|
+}
|
||||||
diff -aurN a/net/mptcp/mptcp_fullmesh.c b/net/mptcp/mptcp_fullmesh.c
|
diff -aurN a/net/mptcp/mptcp_fullmesh.c b/net/mptcp/mptcp_fullmesh.c
|
||||||
--- a/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_fullmesh.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_fullmesh.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_fullmesh.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,2013 @@
|
@@ -0,0 +1,2013 @@
|
||||||
+#include <linux/module.h>
|
+#include <linux/module.h>
|
||||||
+#include <linux/proc_fs.h>
|
+#include <linux/proc_fs.h>
|
||||||
|
@ -12094,7 +12097,7 @@ diff -aurN a/net/mptcp/mptcp_fullmesh.c b/net/mptcp/mptcp_fullmesh.c
|
||||||
+ event == NETDEV_CHANGE))
|
+ event == NETDEV_CHANGE))
|
||||||
+ return NOTIFY_DONE;
|
+ return NOTIFY_DONE;
|
||||||
+
|
+
|
||||||
+ if (!ipv6_dad_finished(ifa6))
|
+ if (sysctl_mptcp_enabled && !ipv6_dad_finished(ifa6))
|
||||||
+ dad_setup_timer(ifa6);
|
+ dad_setup_timer(ifa6);
|
||||||
+ else
|
+ else
|
||||||
+ addr6_event_handler(ifa6, event, net);
|
+ addr6_event_handler(ifa6, event, net);
|
||||||
|
@ -12876,7 +12879,7 @@ diff -aurN a/net/mptcp/mptcp_fullmesh.c b/net/mptcp/mptcp_fullmesh.c
|
||||||
+MODULE_VERSION("0.88");
|
+MODULE_VERSION("0.88");
|
||||||
diff -aurN a/net/mptcp/mptcp_input.c b/net/mptcp/mptcp_input.c
|
diff -aurN a/net/mptcp/mptcp_input.c b/net/mptcp/mptcp_input.c
|
||||||
--- a/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_input.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_input.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_input.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,2465 @@
|
@@ -0,0 +1,2465 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - Sending side
|
+ * MPTCP implementation - Sending side
|
||||||
|
@ -15345,7 +15348,7 @@ diff -aurN a/net/mptcp/mptcp_input.c b/net/mptcp/mptcp_input.c
|
||||||
+}
|
+}
|
||||||
diff -aurN a/net/mptcp/mptcp_ipv4.c b/net/mptcp/mptcp_ipv4.c
|
diff -aurN a/net/mptcp/mptcp_ipv4.c b/net/mptcp/mptcp_ipv4.c
|
||||||
--- a/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_ipv4.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_ipv4.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_ipv4.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,437 @@
|
@@ -0,0 +1,437 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - IPv4-specific functions
|
+ * MPTCP implementation - IPv4-specific functions
|
||||||
|
@ -15786,7 +15789,7 @@ diff -aurN a/net/mptcp/mptcp_ipv4.c b/net/mptcp/mptcp_ipv4.c
|
||||||
+}
|
+}
|
||||||
diff -aurN a/net/mptcp/mptcp_ipv6.c b/net/mptcp/mptcp_ipv6.c
|
diff -aurN a/net/mptcp/mptcp_ipv6.c b/net/mptcp/mptcp_ipv6.c
|
||||||
--- a/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_ipv6.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_ipv6.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_ipv6.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,465 @@
|
@@ -0,0 +1,465 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - IPv6-specific functions
|
+ * MPTCP implementation - IPv6-specific functions
|
||||||
|
@ -16255,7 +16258,7 @@ diff -aurN a/net/mptcp/mptcp_ipv6.c b/net/mptcp/mptcp_ipv6.c
|
||||||
+}
|
+}
|
||||||
diff -aurN a/net/mptcp/mptcp_ndiffports.c b/net/mptcp/mptcp_ndiffports.c
|
diff -aurN a/net/mptcp/mptcp_ndiffports.c b/net/mptcp/mptcp_ndiffports.c
|
||||||
--- a/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_ndiffports.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_ndiffports.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_ndiffports.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,169 @@
|
@@ -0,0 +1,169 @@
|
||||||
+#include <linux/module.h>
|
+#include <linux/module.h>
|
||||||
+
|
+
|
||||||
|
@ -16428,7 +16431,7 @@ diff -aurN a/net/mptcp/mptcp_ndiffports.c b/net/mptcp/mptcp_ndiffports.c
|
||||||
+MODULE_VERSION("0.88");
|
+MODULE_VERSION("0.88");
|
||||||
diff -aurN a/net/mptcp/mptcp_olia.c b/net/mptcp/mptcp_olia.c
|
diff -aurN a/net/mptcp/mptcp_olia.c b/net/mptcp/mptcp_olia.c
|
||||||
--- a/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_olia.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_olia.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_olia.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,310 @@
|
@@ -0,0 +1,310 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL:
|
+ * MPTCP implementation - OPPORTUNISTIC LINKED INCREASES CONGESTION CONTROL:
|
||||||
|
@ -16742,7 +16745,7 @@ diff -aurN a/net/mptcp/mptcp_olia.c b/net/mptcp/mptcp_olia.c
|
||||||
+MODULE_VERSION("0.1");
|
+MODULE_VERSION("0.1");
|
||||||
diff -aurN a/net/mptcp/mptcp_output.c b/net/mptcp/mptcp_output.c
|
diff -aurN a/net/mptcp/mptcp_output.c b/net/mptcp/mptcp_output.c
|
||||||
--- a/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_output.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_output.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,1816 @@
|
@@ -0,0 +1,1816 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - Sending side
|
+ * MPTCP implementation - Sending side
|
||||||
|
@ -18562,7 +18565,7 @@ diff -aurN a/net/mptcp/mptcp_output.c b/net/mptcp/mptcp_output.c
|
||||||
+
|
+
|
||||||
diff -aurN a/net/mptcp/mptcp_pm.c b/net/mptcp/mptcp_pm.c
|
diff -aurN a/net/mptcp/mptcp_pm.c b/net/mptcp/mptcp_pm.c
|
||||||
--- a/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_pm.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_pm.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_pm.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,226 @@
|
@@ -0,0 +1,226 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - MPTCP-subflow-management
|
+ * MPTCP implementation - MPTCP-subflow-management
|
||||||
|
@ -18792,7 +18795,7 @@ diff -aurN a/net/mptcp/mptcp_pm.c b/net/mptcp/mptcp_pm.c
|
||||||
+late_initcall(mptcp_path_manager_default);
|
+late_initcall(mptcp_path_manager_default);
|
||||||
diff -aurN a/net/mptcp/mptcp_redundant.c b/net/mptcp/mptcp_redundant.c
|
diff -aurN a/net/mptcp/mptcp_redundant.c b/net/mptcp/mptcp_redundant.c
|
||||||
--- a/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_redundant.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_redundant.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_redundant.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,301 @@
|
@@ -0,0 +1,301 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP Scheduler to reduce latency and jitter.
|
+ * MPTCP Scheduler to reduce latency and jitter.
|
||||||
|
@ -19097,7 +19100,7 @@ diff -aurN a/net/mptcp/mptcp_redundant.c b/net/mptcp/mptcp_redundant.c
|
||||||
+MODULE_VERSION("0.90");
|
+MODULE_VERSION("0.90");
|
||||||
diff -aurN a/net/mptcp/mptcp_rr.c b/net/mptcp/mptcp_rr.c
|
diff -aurN a/net/mptcp/mptcp_rr.c b/net/mptcp/mptcp_rr.c
|
||||||
--- a/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_rr.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_rr.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_rr.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,301 @@
|
@@ -0,0 +1,301 @@
|
||||||
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
|
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
|
||||||
+
|
+
|
||||||
|
@ -19402,7 +19405,7 @@ diff -aurN a/net/mptcp/mptcp_rr.c b/net/mptcp/mptcp_rr.c
|
||||||
+MODULE_VERSION("0.89");
|
+MODULE_VERSION("0.89");
|
||||||
diff -aurN a/net/mptcp/mptcp_sched.c b/net/mptcp/mptcp_sched.c
|
diff -aurN a/net/mptcp/mptcp_sched.c b/net/mptcp/mptcp_sched.c
|
||||||
--- a/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_sched.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_sched.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_sched.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,634 @@
|
@@ -0,0 +1,634 @@
|
||||||
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
|
+/* MPTCP Scheduler module selector. Highly inspired by tcp_cong.c */
|
||||||
+
|
+
|
||||||
|
@ -20040,7 +20043,7 @@ diff -aurN a/net/mptcp/mptcp_sched.c b/net/mptcp/mptcp_sched.c
|
||||||
+late_initcall(mptcp_scheduler_default);
|
+late_initcall(mptcp_scheduler_default);
|
||||||
diff -aurN a/net/mptcp/mptcp_wvegas.c b/net/mptcp/mptcp_wvegas.c
|
diff -aurN a/net/mptcp/mptcp_wvegas.c b/net/mptcp/mptcp_wvegas.c
|
||||||
--- a/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100
|
--- a/net/mptcp/mptcp_wvegas.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ b/net/mptcp/mptcp_wvegas.c 2018-10-01 18:37:13.000000000 +0200
|
+++ b/net/mptcp/mptcp_wvegas.c 2018-11-27 13:37:16.000000000 +0100
|
||||||
@@ -0,0 +1,270 @@
|
@@ -0,0 +1,270 @@
|
||||||
+/*
|
+/*
|
||||||
+ * MPTCP implementation - WEIGHTED VEGAS
|
+ * MPTCP implementation - WEIGHTED VEGAS
|
||||||
|
|
Loading…
Reference in a new issue