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
  11struct tcpm_hash_bucket;
  12struct ctl_table_header;
  13struct ipv4_devconf;
  14struct fib_rules_ops;
  15struct hlist_head;
  16struct fib_table;
  17struct sock;
  18struct local_ports {
  19        seqlock_t       lock;
  20        int             range[2];
  21};
  22
  23struct netns_ipv4 {
  24#ifdef CONFIG_SYSCTL
  25        struct ctl_table_header *forw_hdr;
  26        struct ctl_table_header *frags_hdr;
  27        struct ctl_table_header *ipv4_hdr;
  28        struct ctl_table_header *route_hdr;
  29        struct ctl_table_header *xfrm4_hdr;
  30#endif
  31        struct ipv4_devconf     *devconf_all;
  32        struct ipv4_devconf     *devconf_dflt;
  33#ifdef CONFIG_IP_MULTIPLE_TABLES
  34        struct fib_rules_ops    *rules_ops;
  35        bool                    fib_has_custom_rules;
  36        struct fib_table        *fib_local;
  37        struct fib_table        *fib_main;
  38        struct fib_table        *fib_default;
  39#endif
  40#ifdef CONFIG_IP_ROUTE_CLASSID
  41        int                     fib_num_tclassid_users;
  42#endif
  43        struct hlist_head       *fib_table_hash;
  44        struct sock             *fibnl;
  45
  46        struct sock             **icmp_sk;
  47        struct inet_peer_base   *peers;
  48        struct tcpm_hash_bucket *tcp_metrics_hash;
  49        unsigned int            tcp_metrics_hash_log;
  50        struct netns_frags      frags;
  51#ifdef CONFIG_NETFILTER
  52        struct xt_table         *iptable_filter;
  53        struct xt_table         *iptable_mangle;
  54        struct xt_table         *iptable_raw;
  55        struct xt_table         *arptable_filter;
  56#ifdef CONFIG_SECURITY
  57        struct xt_table         *iptable_security;
  58#endif
  59        struct xt_table         *nat_table;
  60#endif
  61
  62        int sysctl_icmp_echo_ignore_all;
  63        int sysctl_icmp_echo_ignore_broadcasts;
  64        int sysctl_icmp_ignore_bogus_error_responses;
  65        int sysctl_icmp_ratelimit;
  66        int sysctl_icmp_ratemask;
  67        int sysctl_icmp_errors_use_inbound_ifaddr;
  68
  69        struct local_ports sysctl_local_ports;
  70
  71        int sysctl_tcp_ecn;
  72        int sysctl_ip_no_pmtu_disc;
  73        int sysctl_ip_fwd_use_pmtu;
  74
  75        kgid_t sysctl_ping_group_range[2];
  76
  77        atomic_t dev_addr_genid;
  78
  79#ifdef CONFIG_IP_MROUTE
  80#ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES
  81        struct mr_table         *mrt;
  82#else
  83        struct list_head        mr_tables;
  84        struct fib_rules_ops    *mr_rules_ops;
  85#endif
  86#endif
  87        atomic_t        rt_genid;
  88};
  89#endif
  90