]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - include/net/netns/ipv4.h
inet: switch IP ID generator to siphash
[mirror_ubuntu-bionic-kernel.git] / include / net / netns / ipv4.h
index 8fcff283748444fd561ffe1be00b95dcbb84710d..2cd8b47cf0ba35196516aca98ae630fdddb36ac0 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/uidgid.h>
 #include <net/inet_frag.h>
 #include <linux/rcupdate.h>
+#include <linux/siphash.h>
 
 struct tcpm_hash_bucket;
 struct ctl_table_header;
@@ -37,6 +38,8 @@ struct inet_timewait_death_row {
        int                     sysctl_max_tw_buckets;
 };
 
+struct tcp_fastopen_context;
+
 struct netns_ipv4 {
 #ifdef CONFIG_SYSCTL
        struct ctl_table_header *forw_hdr;
@@ -53,6 +56,7 @@ struct netns_ipv4 {
        struct fib_table __rcu  *fib_main;
        struct fib_table __rcu  *fib_default;
 #endif
+       bool                    fib_has_custom_local_routes;
 #ifdef CONFIG_IP_ROUTE_CLASSID
        int                     fib_num_tclassid_users;
 #endif
@@ -106,6 +110,7 @@ struct netns_ipv4 {
 #endif
        int sysctl_tcp_mtu_probing;
        int sysctl_tcp_base_mss;
+       int sysctl_tcp_min_snd_mss;
        int sysctl_tcp_probe_threshold;
        u32 sysctl_tcp_probe_interval;
 
@@ -126,8 +131,43 @@ struct netns_ipv4 {
        int sysctl_tcp_sack;
        int sysctl_tcp_window_scaling;
        int sysctl_tcp_timestamps;
+       int sysctl_tcp_early_retrans;
+       int sysctl_tcp_recovery;
+       int sysctl_tcp_thin_linear_timeouts;
+       int sysctl_tcp_slow_start_after_idle;
+       int sysctl_tcp_retrans_collapse;
+       int sysctl_tcp_stdurg;
+       int sysctl_tcp_rfc1337;
+       int sysctl_tcp_abort_on_overflow;
+       int sysctl_tcp_fack;
+       int sysctl_tcp_max_reordering;
+       int sysctl_tcp_dsack;
+       int sysctl_tcp_app_win;
+       int sysctl_tcp_adv_win_scale;
+       int sysctl_tcp_frto;
+       int sysctl_tcp_nometrics_save;
+       int sysctl_tcp_moderate_rcvbuf;
+       int sysctl_tcp_tso_win_divisor;
+       int sysctl_tcp_workaround_signed_windows;
+       int sysctl_tcp_limit_output_bytes;
+       int sysctl_tcp_challenge_ack_limit;
+       int sysctl_tcp_min_tso_segs;
+       int sysctl_tcp_min_rtt_wlen;
+       int sysctl_tcp_autocorking;
+       int sysctl_tcp_invalid_ratelimit;
+       int sysctl_tcp_pacing_ss_ratio;
+       int sysctl_tcp_pacing_ca_ratio;
+       int sysctl_tcp_wmem[3];
+       int sysctl_tcp_rmem[3];
        struct inet_timewait_death_row tcp_death_row;
        int sysctl_max_syn_backlog;
+       int sysctl_tcp_fastopen;
+       const struct tcp_congestion_ops __rcu  *tcp_congestion_control;
+       struct tcp_fastopen_context __rcu *tcp_fastopen_ctx;
+       spinlock_t tcp_fastopen_ctx_lock;
+       unsigned int sysctl_tcp_fastopen_blackhole_timeout;
+       atomic_t tfo_active_disable_times;
+       unsigned long tfo_active_disable_stamp;
 
 #ifdef CONFIG_NET_L3_MASTER_DEV
        int sysctl_udp_l3mdev_accept;
@@ -163,6 +203,10 @@ struct netns_ipv4 {
        struct fib_notifier_ops *notifier_ops;
        unsigned int    fib_seq;        /* protected by rtnl_mutex */
 
+       struct fib_notifier_ops *ipmr_notifier_ops;
+       unsigned int    ipmr_seq;       /* protected by rtnl_mutex */
+
        atomic_t        rt_genid;
+       siphash_key_t   ip_id_key;
 };
 #endif