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_local;
  44        struct fib_table __rcu  *fib_main;
  45        struct fib_table __rcu  *fib_default;
  46#endif
  47#ifdef CONFIG_IP_ROUTE_CLASSID
  48        int                     fib_num_tclassid_users;
  49#endif
  50        struct hlist_head       *fib_table_hash;
  51        bool                    fib_offload_disabled;
  52        struct sock             *fibnl;
  53
  54        struct sock  * __percpu *icmp_sk;
  55        struct sock             *mc_autojoin_sk;
  56
  57        struct inet_peer_base   *peers;
  58        struct sock  * __percpu *tcp_sk;
  59        struct netns_frags      frags;
  60#ifdef CONFIG_NETFILTER
  61        struct xt_table         *iptable_filter;
  62        struct xt_table         *iptable_mangle;
  63        struct xt_table         *iptable_raw;
  64        struct xt_table         *arptable_filter;
  65#ifdef CONFIG_SECURITY
  66        struct xt_table         *iptable_security;
  67#endif
  68        struct xt_table         *nat_table;
  69#endif
  70
  71        int sysctl_icmp_echo_ignore_all;
  72        int sysctl_icmp_echo_ignore_broadcasts;
  73        int sysctl_icmp_ignore_bogus_error_responses;
  74        int sysctl_icmp_ratelimit;
  75        int sysctl_icmp_ratemask;
  76        int sysctl_icmp_errors_use_inbound_ifaddr;
  77
  78        struct local_ports ip_local_ports;
  79
  80        int sysctl_tcp_ecn;
  81        int sysctl_tcp_ecn_fallback;
  82
  83        int sysctl_ip_default_ttl;
  84        int sysctl_ip_no_pmtu_disc;
  85        int sysctl_ip_fwd_use_pmtu;
  86        int sysctl_ip_nonlocal_bind;
  87        /* Shall we try to damage output packets if routing dev changes? */
  88        int sysctl_ip_dynaddr;
  89        int sysctl_ip_early_demux;
  90
  91        int sysctl_fwmark_reflect;
  92        int sysctl_tcp_fwmark_accept;
  93#ifdef CONFIG_NET_L3_MASTER_DEV
  94        int sysctl_tcp_l3mdev_accept;
  95#endif
  96        int sysctl_tcp_mtu_probing;
  97        int sysctl_tcp_base_mss;
  98        int sysctl_tcp_probe_threshold;
  99        u32 sysctl_tcp_probe_interval;
 100
 101        int sysctl_tcp_keepalive_time;
 102        int sysctl_tcp_keepalive_probes;
 103        int sysctl_tcp_keepalive_intvl;
 104
 105        int sysctl_tcp_syn_retries;
 106        int sysctl_tcp_synack_retries;
 107        int sysctl_tcp_syncookies;
 108        int sysctl_tcp_reordering;
 109        int sysctl_tcp_retries1;
 110        int sysctl_tcp_retries2;
 111        int sysctl_tcp_orphan_retries;
 112        int sysctl_tcp_fin_timeout;
 113        unsigned int sysctl_tcp_notsent_lowat;
 114
 115        int sysctl_igmp_max_memberships;
 116        int sysctl_igmp_max_msf;
 117        int sysctl_igmp_llm_reports;
 118        int sysctl_igmp_qrv;
 119
 120        struct ping_group_range ping_group_range;
 121
 122        atomic_t dev_addr_genid;
 123
 124#ifdef CONFIG_SYSCTL
 125        unsigned long *sysctl_local_reserved_ports;
 126#endif
 127
 128#ifdef CONFIG_IP_MROUTE
 129#ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES
 130        struct mr_table         *mrt;
 131#else
 132        struct list_head        mr_tables;
 133        struct fib_rules_ops    *mr_rules_ops;
 134#endif
 135#endif
 136        atomic_t        rt_genid;
 137};
 138#endif
 139