forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.3 KiB
97 lines
2.3 KiB
/* |
|
* ipv6 in net namespaces |
|
*/ |
|
|
|
#include <net/inet_frag.h> |
|
|
|
#ifndef __NETNS_IPV6_H__ |
|
#define __NETNS_IPV6_H__ |
|
#include <net/dst_ops.h> |
|
|
|
struct ctl_table_header; |
|
|
|
struct netns_sysctl_ipv6 { |
|
#ifdef CONFIG_SYSCTL |
|
struct ctl_table_header *hdr; |
|
struct ctl_table_header *route_hdr; |
|
struct ctl_table_header *icmp_hdr; |
|
struct ctl_table_header *frags_hdr; |
|
struct ctl_table_header *xfrm6_hdr; |
|
#endif |
|
int bindv6only; |
|
int flush_delay; |
|
int ip6_rt_max_size; |
|
int ip6_rt_gc_min_interval; |
|
int ip6_rt_gc_timeout; |
|
int ip6_rt_gc_interval; |
|
int ip6_rt_gc_elasticity; |
|
int ip6_rt_mtu_expires; |
|
int ip6_rt_min_advmss; |
|
int flowlabel_consistency; |
|
int auto_flowlabels; |
|
int icmpv6_time; |
|
int anycast_src_echo_reply; |
|
int ip_nonlocal_bind; |
|
int fwmark_reflect; |
|
int idgen_retries; |
|
int idgen_delay; |
|
int flowlabel_state_ranges; |
|
}; |
|
|
|
struct netns_ipv6 { |
|
struct netns_sysctl_ipv6 sysctl; |
|
struct ipv6_devconf *devconf_all; |
|
struct ipv6_devconf *devconf_dflt; |
|
struct inet_peer_base *peers; |
|
struct netns_frags frags; |
|
#ifdef CONFIG_NETFILTER |
|
struct xt_table *ip6table_filter; |
|
struct xt_table *ip6table_mangle; |
|
struct xt_table *ip6table_raw; |
|
#ifdef CONFIG_SECURITY |
|
struct xt_table *ip6table_security; |
|
#endif |
|
struct xt_table *ip6table_nat; |
|
#endif |
|
struct rt6_info *ip6_null_entry; |
|
struct rt6_statistics *rt6_stats; |
|
struct timer_list ip6_fib_timer; |
|
struct hlist_head *fib_table_hash; |
|
struct fib6_table *fib6_main_tbl; |
|
struct list_head fib6_walkers; |
|
struct dst_ops ip6_dst_ops; |
|
rwlock_t fib6_walker_lock; |
|
spinlock_t fib6_gc_lock; |
|
unsigned int ip6_rt_gc_expire; |
|
unsigned long ip6_rt_last_gc; |
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES |
|
struct rt6_info *ip6_prohibit_entry; |
|
struct rt6_info *ip6_blk_hole_entry; |
|
struct fib6_table *fib6_local_tbl; |
|
struct fib_rules_ops *fib6_rules_ops; |
|
#endif |
|
struct sock **icmp_sk; |
|
struct sock *ndisc_sk; |
|
struct sock *tcp_sk; |
|
struct sock *igmp_sk; |
|
struct sock *mc_autojoin_sk; |
|
#ifdef CONFIG_IPV6_MROUTE |
|
#ifndef CONFIG_IPV6_MROUTE_MULTIPLE_TABLES |
|
struct mr6_table *mrt6; |
|
#else |
|
struct list_head mr6_tables; |
|
struct fib_rules_ops *mr6_rules_ops; |
|
#endif |
|
#endif |
|
atomic_unchecked_t dev_addr_genid; |
|
atomic_unchecked_t fib6_sernum; |
|
}; |
|
|
|
#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) |
|
struct netns_nf_frag { |
|
struct netns_sysctl_ipv6 sysctl; |
|
struct netns_frags frags; |
|
}; |
|
#endif |
|
|
|
#endif
|
|
|