linux/include/net/netns/ipv6.h
<<
>>
Prefs
   1/*
   2 * ipv6 in net namespaces
   3 */
   4
   5#include <net/inet_frag.h>
   6
   7#ifndef __NETNS_IPV6_H__
   8#define __NETNS_IPV6_H__
   9#include <net/dst_ops.h>
  10
  11struct ctl_table_header;
  12
  13struct netns_sysctl_ipv6 {
  14#ifdef CONFIG_SYSCTL
  15        struct ctl_table_header *hdr;
  16        struct ctl_table_header *route_hdr;
  17        struct ctl_table_header *icmp_hdr;
  18        struct ctl_table_header *frags_hdr;
  19        struct ctl_table_header *xfrm6_hdr;
  20#endif
  21        int bindv6only;
  22        int flush_delay;
  23        int ip6_rt_max_size;
  24        int ip6_rt_gc_min_interval;
  25        int ip6_rt_gc_timeout;
  26        int ip6_rt_gc_interval;
  27        int ip6_rt_gc_elasticity;
  28        int ip6_rt_mtu_expires;
  29        int ip6_rt_min_advmss;
  30        int icmpv6_time;
  31};
  32
  33struct netns_ipv6 {
  34        struct netns_sysctl_ipv6 sysctl;
  35        struct ipv6_devconf     *devconf_all;
  36        struct ipv6_devconf     *devconf_dflt;
  37        struct inet_peer_base   *peers;
  38        struct netns_frags      frags;
  39#ifdef CONFIG_NETFILTER
  40        struct xt_table         *ip6table_filter;
  41        struct xt_table         *ip6table_mangle;
  42        struct xt_table         *ip6table_raw;
  43#ifdef CONFIG_SECURITY
  44        struct xt_table         *ip6table_security;
  45#endif
  46        struct xt_table         *ip6table_nat;
  47#endif
  48        struct rt6_info         *ip6_null_entry;
  49        struct rt6_statistics   *rt6_stats;
  50        struct timer_list       ip6_fib_timer;
  51        struct hlist_head       *fib_table_hash;
  52        struct fib6_table       *fib6_main_tbl;
  53        struct dst_ops          ip6_dst_ops;
  54        unsigned int             ip6_rt_gc_expire;
  55        unsigned long            ip6_rt_last_gc;
  56#ifdef CONFIG_IPV6_MULTIPLE_TABLES
  57        struct rt6_info         *ip6_prohibit_entry;
  58        struct rt6_info         *ip6_blk_hole_entry;
  59        struct fib6_table       *fib6_local_tbl;
  60        struct fib_rules_ops    *fib6_rules_ops;
  61#endif
  62        struct sock             **icmp_sk;
  63        struct sock             *ndisc_sk;
  64        struct sock             *tcp_sk;
  65        struct sock             *igmp_sk;
  66#ifdef CONFIG_IPV6_MROUTE
  67#ifndef CONFIG_IPV6_MROUTE_MULTIPLE_TABLES
  68        struct mr6_table        *mrt6;
  69#else
  70        struct list_head        mr6_tables;
  71        struct fib_rules_ops    *mr6_rules_ops;
  72#endif
  73#endif
  74        atomic_t                dev_addr_genid;
  75};
  76
  77#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
  78struct netns_nf_frag {
  79        struct netns_sysctl_ipv6 sysctl;
  80        struct netns_frags      frags;
  81};
  82#endif
  83
  84#endif
  85