1.. SPDX-License-Identifier: GPL-2.0
2.. Copyright (C) 2023 Google LLC
3
4===========================================
5netns_ipv4 struct fast path usage breakdown
6===========================================
7
8Type                            Name                                         fastpath_tx_access  fastpath_rx_access  comment
9..struct                        ..netns_ipv4                                                                         
10struct_inet_timewait_death_row  tcp_death_row                                                                        
11struct_udp_table*               udp_table                                                                            
12struct_ctl_table_header*        forw_hdr                                                                             
13struct_ctl_table_header*        frags_hdr                                                                            
14struct_ctl_table_header*        ipv4_hdr                                                                             
15struct_ctl_table_header*        route_hdr                                                                            
16struct_ctl_table_header*        xfrm4_hdr                                                                            
17struct_ipv4_devconf*            devconf_all                                                                          
18struct_ipv4_devconf*            devconf_dflt                                                                         
19struct_ip_ra_chain              ra_chain                                                                             
20struct_mutex                    ra_mutex                                                                             
21struct_fib_rules_ops*           rules_ops                                                                            
22struct_fib_table                fib_main                                                                             
23struct_fib_table                fib_default                                                                          
24unsigned_int                    fib_rules_require_fldissect                                                          
25bool                            fib_has_custom_rules                                                                 
26bool                            fib_has_custom_local_routes                                                          
27bool                            fib_offload_disabled                                                                 
28atomic_t                        fib_num_tclassid_users                                                               
29struct_hlist_head*              fib_table_hash                                                                       
30struct_sock*                    fibnl                                                                                
31struct_sock*                    mc_autojoin_sk                                                                       
32struct_inet_peer_base*          peers                                                                                
33struct_fqdir*                   fqdir                                                                                
34u8                              sysctl_icmp_echo_ignore_all                                                          
35u8                              sysctl_icmp_echo_enable_probe                                                        
36u8                              sysctl_icmp_echo_ignore_broadcasts                                                   
37u8                              sysctl_icmp_ignore_bogus_error_responses                                             
38u8                              sysctl_icmp_errors_use_inbound_ifaddr                                                
39int                             sysctl_icmp_ratelimit                                                                
40int                             sysctl_icmp_ratemask                                                                 
41u32                             ip_rt_min_pmtu                               -                   -                   
42int                             ip_rt_mtu_expires                            -                   -                   
43int                             ip_rt_min_advmss                             -                   -                   
44struct_local_ports              ip_local_ports                               -                   -                   
45u8                              sysctl_tcp_ecn                               -                   -                   
46u8                              sysctl_tcp_ecn_fallback                      -                   -                   
47u8                              sysctl_ip_default_ttl                        -                   -                   ip4_dst_hoplimit/ip_select_ttl
48u8                              sysctl_ip_no_pmtu_disc                       -                   -                   
49u8                              sysctl_ip_fwd_use_pmtu                       read_mostly         -                   ip_dst_mtu_maybe_forward/ip_skb_dst_mtu
50u8                              sysctl_ip_fwd_update_priority                -                   -                   ip_forward
51u8                              sysctl_ip_nonlocal_bind                      -                   -                   
52u8                              sysctl_ip_autobind_reuse                     -                   -                   
53u8                              sysctl_ip_dynaddr                            -                   -                   
54u8                              sysctl_ip_early_demux                        -                   read_mostly         ip(6)_rcv_finish_core
55u8                              sysctl_raw_l3mdev_accept                     -                   -                   
56u8                              sysctl_tcp_early_demux                       -                   read_mostly         ip(6)_rcv_finish_core
57u8                              sysctl_udp_early_demux                                                               
58u8                              sysctl_nexthop_compat_mode                   -                   -                   
59u8                              sysctl_fwmark_reflect                        -                   -                   
60u8                              sysctl_tcp_fwmark_accept                     -                   -                   
61u8                              sysctl_tcp_l3mdev_accept                     -                   -                   
62u8                              sysctl_tcp_mtu_probing                       -                   -                   
63int                             sysctl_tcp_mtu_probe_floor                   -                   -                   
64int                             sysctl_tcp_base_mss                          -                   -                   
65int                             sysctl_tcp_min_snd_mss                       read_mostly         -                   __tcp_mtu_to_mss(tcp_write_xmit)
66int                             sysctl_tcp_probe_threshold                   -                   -                   tcp_mtu_probe(tcp_write_xmit)
67u32                             sysctl_tcp_probe_interval                    -                   -                   tcp_mtu_check_reprobe(tcp_write_xmit)
68int                             sysctl_tcp_keepalive_time                    -                   -                   
69int                             sysctl_tcp_keepalive_intvl                   -                   -                   
70u8                              sysctl_tcp_keepalive_probes                  -                   -                   
71u8                              sysctl_tcp_syn_retries                       -                   -                   
72u8                              sysctl_tcp_synack_retries                    -                   -                   
73u8                              sysctl_tcp_syncookies                        -                   -                   generated_on_syn
74u8                              sysctl_tcp_migrate_req                       -                   -                   reuseport
75u8                              sysctl_tcp_comp_sack_nr                      -                   -                   __tcp_ack_snd_check
76int                             sysctl_tcp_reordering                        -                   read_mostly         tcp_may_raise_cwnd/tcp_cong_control
77u8                              sysctl_tcp_retries1                          -                   -                   
78u8                              sysctl_tcp_retries2                          -                   -                   
79u8                              sysctl_tcp_orphan_retries                    -                   -                   
80u8                              sysctl_tcp_tw_reuse                          -                   -                   timewait_sock_ops
81int                             sysctl_tcp_fin_timeout                       -                   -                   TCP_LAST_ACK/tcp_rcv_state_process
82unsigned_int                    sysctl_tcp_notsent_lowat                     read_mostly         -                   tcp_notsent_lowat/tcp_stream_memory_free
83u8                              sysctl_tcp_sack                              -                   -                   tcp_syn_options
84u8                              sysctl_tcp_window_scaling                    -                   -                   tcp_syn_options,tcp_parse_options
85u8                              sysctl_tcp_timestamps                                                                
86u8                              sysctl_tcp_early_retrans                     read_mostly         -                   tcp_schedule_loss_probe(tcp_write_xmit)
87u8                              sysctl_tcp_recovery                          -                   -                   tcp_fastretrans_alert
88u8                              sysctl_tcp_thin_linear_timeouts              -                   -                   tcp_retrans_timer(on_thin_streams)
89u8                              sysctl_tcp_slow_start_after_idle             -                   -                   unlikely(tcp_cwnd_validate-network-not-starved)
90u8                              sysctl_tcp_retrans_collapse                  -                   -                   
91u8                              sysctl_tcp_stdurg                            -                   -                   unlikely(tcp_check_urg)
92u8                              sysctl_tcp_rfc1337                           -                   -                   
93u8                              sysctl_tcp_abort_on_overflow                 -                   -                   
94u8                              sysctl_tcp_fack                              -                   -                   
95int                             sysctl_tcp_max_reordering                    -                   -                   tcp_check_sack_reordering
96int                             sysctl_tcp_adv_win_scale                     -                   -                   tcp_init_buffer_space
97u8                              sysctl_tcp_dsack                             -                   -                   partial_packet_or_retrans_in_tcp_data_queue
98u8                              sysctl_tcp_app_win                           -                   -                   tcp_win_from_space
99u8                              sysctl_tcp_frto                              -                   -                   tcp_enter_loss
100u8                              sysctl_tcp_nometrics_save                    -                   -                   TCP_LAST_ACK/tcp_update_metrics
101u8                              sysctl_tcp_no_ssthresh_metrics_save          -                   -                   TCP_LAST_ACK/tcp_(update/init)_metrics
102u8                              sysctl_tcp_moderate_rcvbuf                   read_mostly         read_mostly         tcp_tso_should_defer(tx);tcp_rcv_space_adjust(rx)
103u8                              sysctl_tcp_tso_win_divisor                   read_mostly         -                   tcp_tso_should_defer(tcp_write_xmit)
104u8                              sysctl_tcp_workaround_signed_windows         -                   -                   tcp_select_window
105int                             sysctl_tcp_limit_output_bytes                read_mostly         -                   tcp_small_queue_check(tcp_write_xmit)
106int                             sysctl_tcp_challenge_ack_limit               -                   -                   
107int                             sysctl_tcp_min_rtt_wlen                      read_mostly         -                   tcp_ack_update_rtt
108u8                              sysctl_tcp_min_tso_segs                      -                   -                   unlikely(icsk_ca_ops-written)
109u8                              sysctl_tcp_tso_rtt_log                       read_mostly         -                   tcp_tso_autosize
110u8                              sysctl_tcp_autocorking                       read_mostly         -                   tcp_push/tcp_should_autocork
111u8                              sysctl_tcp_reflect_tos                       -                   -                   tcp_v(4/6)_send_synack
112int                             sysctl_tcp_invalid_ratelimit                 -                   -                   
113int                             sysctl_tcp_pacing_ss_ratio                   -                   -                   default_cong_cont(tcp_update_pacing_rate)
114int                             sysctl_tcp_pacing_ca_ratio                   -                   -                   default_cong_cont(tcp_update_pacing_rate)
115int                             sysctl_tcp_wmem[3]                           read_mostly         -                   tcp_wmem_schedule(sendmsg/sendpage)
116int                             sysctl_tcp_rmem[3]                           -                   read_mostly         __tcp_grow_window(tx),tcp_rcv_space_adjust(rx)
117unsigned_int                    sysctl_tcp_child_ehash_entries                                                       
118unsigned_long                   sysctl_tcp_comp_sack_delay_ns                -                   -                   __tcp_ack_snd_check
119unsigned_long                   sysctl_tcp_comp_sack_slack_ns                -                   -                   __tcp_ack_snd_check
120int                             sysctl_max_syn_backlog                       -                   -                   
121int                             sysctl_tcp_fastopen                          -                   -                   
122struct_tcp_congestion_ops       tcp_congestion_control                       -                   -                   init_cc
123struct_tcp_fastopen_context     tcp_fastopen_ctx                             -                   -                   
124unsigned_int                    sysctl_tcp_fastopen_blackhole_timeout        -                   -                   
125atomic_t                        tfo_active_disable_times                     -                   -                   
126unsigned_long                   tfo_active_disable_stamp                     -                   -                   
127u32                             tcp_challenge_timestamp                      -                   -                   
128u32                             tcp_challenge_count                          -                   -                   
129u8                              sysctl_tcp_plb_enabled                       -                   -                   
130u8                              sysctl_tcp_plb_idle_rehash_rounds            -                   -                   
131u8                              sysctl_tcp_plb_rehash_rounds                 -                   -                   
132u8                              sysctl_tcp_plb_suspend_rto_sec               -                   -                   
133int                             sysctl_tcp_plb_cong_thresh                   -                   -                   
134int                             sysctl_udp_wmem_min                                                                  
135int                             sysctl_udp_rmem_min                                                                  
136u8                              sysctl_fib_notify_on_flag_change                                                     
137u8                              sysctl_udp_l3mdev_accept                                                             
138u8                              sysctl_igmp_llm_reports                                                              
139int                             sysctl_igmp_max_memberships                                                          
140int                             sysctl_igmp_max_msf                                                                  
141int                             sysctl_igmp_qrv                                                                      
142struct_ping_group_range         ping_group_range                                                                     
143atomic_t                        dev_addr_genid                                                                       
144unsigned_int                    sysctl_udp_child_hash_entries                                                        
145unsigned_long*                  sysctl_local_reserved_ports                                                          
146int                             sysctl_ip_prot_sock                                                                  
147struct_mr_table*                mrt                                                                                  
148struct_list_head                mr_tables                                                                            
149struct_fib_rules_ops*           mr_rules_ops                                                                         
150u32                             sysctl_fib_multipath_hash_fields                                                     
151u8                              sysctl_fib_multipath_use_neigh                                                       
152u8                              sysctl_fib_multipath_hash_policy                                                     
153struct_fib_notifier_ops*        notifier_ops                                                                         
154unsigned_int                    fib_seq                                                                              
155struct_fib_notifier_ops*        ipmr_notifier_ops                                                                    
156unsigned_int                    ipmr_seq                                                                             
157atomic_t                        rt_genid                                                                             
158siphash_key_t                   ip_id_key                                                                                      
159