linux/include/net/netns/ipv4.h
<<
>>
Prefs
   1/*
   2 * ipv4 in net namespaces
   3 */
   4
   5#ifndef __NETNS_IPV4_H__
   6#define __NETNS_IPV4_H__
   7
   8#include <linux/uidgid.h>
   9#include <net/inet_frag.h>
  10#include <linux/rcupdate.h>
  11
  12struct tcpm_hash_bucket;
  13struct ctl_table_header;
  14struct ipv4_devconf;
  15struct fib_rules_ops;
  16struct hlist_head;
  17struct fib_table;
  18struct sock;
  19struct local_ports {
  20        seqlock_t       lock;
  21        int             range[2];
  22        bool            warned;
  23};
  24
  25struct ping_group_range {
  26        seqlock_t       lock;
  27        kgid_t          range[2];
  28};
  29
  30struct netns_ipv4 {
  31#ifdef CONFIG_SYSCTL
  32        struct ctl_table_header *forw_hdr;
  33        struct ctl_table_header *frags_hdr;
  34        struct ctl_table_header *ipv4_hdr;
  35        struct ctl_table_header *route_hdr;
  36        struct ctl_table_header *xfrm4_hdr;
  37#endif
  38        struct ipv4_devconf     *devconf_all;
  39        struct ipv4_devconf     *devconf_dflt;
  40#ifdef CONFIG_IP_MULTIPLE_TABLES
  41        struct fib_rules_ops    *rules_ops;
  42        bool                    fib_has_custom_rules;
  43        struct fib_table __rcu  *fib_main;
  44        struct fib_table __rcu  *fib_default;
  45#endif
  46#ifdef CONFIG_IP_ROUTE_CLASSID
  47        int                     fib_num_tclassid_users;
  48#endif
  49        struct hlist_head       *fib_table_hash;
  50        bool                    fib_offload_disabled;
  51        struct sock             *fibnl;
  52
  53        struct sock  * __percpu *icmp_sk;
  54        struct sock             *mc_autojoin_sk;
  55
  56        struct inet_peer_base   *peers;
  57        struct sock  * __percpu *tcp_sk;
  58        struct netns_frags      frags;
  59#ifdef CONFIG_NETFILTER
  60        struct xt_table         *iptable_filter;
  61        struct xt_table         *iptable_mangle;
  62        struct xt_table         *iptable_raw;
  63        struct xt_table         *arptable_filter;
  64#ifdef CONFIG_SECURITY
  65        struct xt_table         *iptable_security;
  66#endif
  67        struct xt_table         *nat_table;
  68#endif
  69
  70        int sysctl_icmp_echo_ignore_all;
  71        int sysctl_icmp_echo_ignore_broadcasts;
  72        int sysctl_icmp_ignore_bogus_error_responses;
  73        int sysctl_icmp_ratelimit;
  74        int sysctl_icmp_ratemask;
  75        int sysctl_icmp_errors_use_inbound_ifaddr;
  76
  77        struct local_ports ip_local_ports;
  78
  79        int sysctl_tcp_ecn;
  80        int sysctl_tcp_ecn_fallback;
  81
  82        int sysctl_ip_default_ttl;
  83        int sysctl_ip_no_pmtu_disc;
  84        int sysctl_ip_fwd_use_pmtu;
  85        int sysctl_ip_nonlocal_bind;
  86        /* Shall we try to damage output packets if routing dev changes? */
  87        int sysctl_ip_dynaddr;
  88        int sysctl_ip_early_demux;
  89
  90        int sysctl_fwmark_reflect;
  91        int sysctl_tcp_fwmark_accept;
  92#ifdef CONFIG_NET_L3_MASTER_DEV
  93        int sysctl_tcp_l3mdev_accept;
  94#endif
  95        int sysctl_tcp_mtu_probing;
  96        int sysctl_tcp_base_mss;
  97        int sysctl_tcp_probe_threshold;
  98        u32 sysctl_tcp_probe_interval;
  99
 100        int sysctl_tcp_keepalive_time;
 101        int sysctl_tcp_keepalive_probes;
 102        int sysctl_tcp_keepalive_intvl;
 103
 104        int sysctl_tcp_syn_retries;
 105        int sysctl_tcp_synack_retries;
 106        int sysctl_tcp_syncookies;
 107        int sysctl_tcp_reordering;
 108        int sysctl_tcp_retries1;
 109        int sysctl_tcp_retries2;
 110        int sysctl_tcp_orphan_retries;
 111        int sysctl_tcp_fin_timeout;
 112        unsigned int sysctl_tcp_notsent_lowat;
 113
 114        int sysctl_igmp_max_memberships;
 115        int sysctl_igmp_max_msf;
 116        int sysctl_igmp_llm_reports;
 117        int sysctl_igmp_qrv;
 118
 119        struct ping_group_range ping_group_range;
 120
 121        atomic_t dev_addr_genid;
 122
 123#ifdef CONFIG_SYSCTL
 124        unsigned long *sysctl_local_reserved_ports;
 125#endif
 126
 127#ifdef CONFIG_IP_MROUTE
 128#ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES
 129        struct mr_table         *mrt;
 130#else
 131        struct list_head        mr_tables;
 132        struct fib_rules_ops    *mr_rules_ops;
 133#endif
 134#endif
 135#ifdef CONFIG_IP_ROUTE_MULTIPATH
 136        int sysctl_fib_multipath_use_neigh;
 137#endif
 138        atomic_t        rt_genid;
 139};
 140#endif
 141