mirror of https://github.com/OpenIPC/firmware.git
102 lines
4.2 KiB
Diff
102 lines
4.2 KiB
Diff
diff -drupN a/include/net/tcp.h b/include/net/tcp.h
|
|
--- a/include/net/tcp.h 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/include/net/tcp.h 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -271,6 +271,7 @@ extern int sysctl_tcp_autocorking;
|
|
extern int sysctl_tcp_invalid_ratelimit;
|
|
extern int sysctl_tcp_pacing_ss_ratio;
|
|
extern int sysctl_tcp_pacing_ca_ratio;
|
|
+extern int sysctl_tcp_default_init_rwnd;
|
|
|
|
extern atomic_long_t tcp_memory_allocated;
|
|
extern struct percpu_counter tcp_sockets_allocated;
|
|
@@ -401,6 +402,8 @@ int tcp_child_process(struct sock *paren
|
|
struct sk_buff *skb);
|
|
void tcp_enter_loss(struct sock *sk);
|
|
void tcp_clear_retrans(struct tcp_sock *tp);
|
|
+
|
|
+#ifdef CONFIG_TCP_METRICS
|
|
void tcp_update_metrics(struct sock *sk);
|
|
void tcp_init_metrics(struct sock *sk);
|
|
void tcp_metrics_init(void);
|
|
@@ -409,6 +412,38 @@ bool tcp_peer_is_proven(struct request_s
|
|
bool tcp_remember_stamp(struct sock *sk);
|
|
bool tcp_tw_remember_stamp(struct inet_timewait_sock *tw);
|
|
void tcp_fetch_timewait_stamp(struct sock *sk, struct dst_entry *dst);
|
|
+void tcp_fastopen_cache_set(struct sock *sk, u16 mss,
|
|
+ struct tcp_fastopen_cookie *cookie, bool syn_lost,
|
|
+ u16 try_exp);
|
|
+/* From tcp_fastopen.c */
|
|
+void tcp_fastopen_cache_get(struct sock *sk, u16 *mss,
|
|
+ struct tcp_fastopen_cookie *cookie, int *syn_loss,
|
|
+ unsigned long *last_syn_loss);
|
|
+#else
|
|
+
|
|
+static inline void tcp_update_metrics(struct sock *sk) {}
|
|
+static inline void tcp_init_metrics(struct sock *sk) {}
|
|
+static inline void tcp_metrics_init(void) {}
|
|
+static inline bool tcp_peer_is_proven(struct request_sock *req,
|
|
+ struct dst_entry *dst,
|
|
+ bool paws_check,
|
|
+ bool timestamps) { return false; }
|
|
+static inline bool tcp_remember_stamp(struct sock *sk) { return false; }
|
|
+static inline bool
|
|
+tcp_tw_remember_stamp(struct inet_timewait_sock *tw) { return false; }
|
|
+static inline void
|
|
+tcp_fetch_timewait_stamp(struct sock *sk, struct dst_entry *dst) {}
|
|
+
|
|
+static inline void tcp_fastopen_cache_set(struct sock *sk, u16 mss,
|
|
+ struct tcp_fastopen_cookie *cookie, bool syn_lost,
|
|
+ u16 try_exp) {}
|
|
+
|
|
+/* From tcp_fastopen.c */
|
|
+static inline void tcp_fastopen_cache_get(struct sock *sk, u16 *mss,
|
|
+ struct tcp_fastopen_cookie *cookie, int *syn_loss,
|
|
+ unsigned long *last_syn_loss) {}
|
|
+#endif
|
|
+
|
|
void tcp_disable_fack(struct tcp_sock *tp);
|
|
void tcp_close(struct sock *sk, long timeout);
|
|
void tcp_init_sock(struct sock *sk);
|
|
@@ -1003,7 +1038,7 @@ void tcp_rate_skb_sent(struct sock *sk,
|
|
void tcp_rate_skb_delivered(struct sock *sk, struct sk_buff *skb,
|
|
struct rate_sample *rs);
|
|
void tcp_rate_gen(struct sock *sk, u32 delivered, u32 lost,
|
|
- bool is_sack_reneg, struct skb_mstamp *now, struct rate_sample *rs);
|
|
+ struct skb_mstamp *now, struct rate_sample *rs);
|
|
void tcp_rate_check_app_limited(struct sock *sk);
|
|
|
|
/* These functions determine how the current flow behaves in respect of SACK
|
|
@@ -1196,7 +1231,7 @@ static inline void tcp_update_wl(struct
|
|
static inline __sum16 tcp_v4_check(int len, __be32 saddr,
|
|
__be32 daddr, __wsum base)
|
|
{
|
|
- return csum_tcpudp_magic(saddr,daddr,len,IPPROTO_TCP,base);
|
|
+ return csum_tcpudp_magic(saddr, daddr, len, IPPROTO_TCP, base);
|
|
}
|
|
|
|
static inline __sum16 __tcp_checksum_complete(struct sk_buff *skb)
|
|
@@ -1486,13 +1521,6 @@ int tcp_md5_hash_skb_data(struct tcp_md5
|
|
int tcp_md5_hash_key(struct tcp_md5sig_pool *hp,
|
|
const struct tcp_md5sig_key *key);
|
|
|
|
-/* From tcp_fastopen.c */
|
|
-void tcp_fastopen_cache_get(struct sock *sk, u16 *mss,
|
|
- struct tcp_fastopen_cookie *cookie, int *syn_loss,
|
|
- unsigned long *last_syn_loss);
|
|
-void tcp_fastopen_cache_set(struct sock *sk, u16 mss,
|
|
- struct tcp_fastopen_cookie *cookie, bool syn_lost,
|
|
- u16 try_exp);
|
|
struct tcp_fastopen_request {
|
|
/* Fast Open cookie. Size 0 means a cookie request */
|
|
struct tcp_fastopen_cookie cookie;
|
|
@@ -1510,6 +1538,9 @@ struct sock *tcp_try_fastopen(struct soc
|
|
struct tcp_fastopen_cookie *foc,
|
|
struct dst_entry *dst);
|
|
void tcp_fastopen_init_key_once(bool publish);
|
|
+bool tcp_fastopen_cookie_check(struct sock *sk, u16 *mss,
|
|
+ struct tcp_fastopen_cookie *cookie);
|
|
+bool tcp_fastopen_defer_connect(struct sock *sk, int *err);
|
|
#define TCP_FASTOPEN_KEY_LENGTH 16
|
|
|
|
/* Fastopen key context */
|