Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* IPv6-specific defines for netfilter. |
| 2 | * (C)1998 Rusty Russell -- This code is GPL. |
| 3 | * (C)1999 David Jeffery |
| 4 | * this header was blatantly ripped from netfilter_ipv4.h |
| 5 | * it's amazing what adding a bunch of 6s can do =8^) |
| 6 | */ |
David Howells | 607ca46 | 2012-10-13 10:46:48 +0100 | [diff] [blame] | 7 | #ifndef __LINUX_IP6_NETFILTER_H |
| 8 | #define __LINUX_IP6_NETFILTER_H |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 9 | |
David Howells | 607ca46 | 2012-10-13 10:46:48 +0100 | [diff] [blame] | 10 | #include <uapi/linux/netfilter_ipv6.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 | |
Adrian Bunk | cdf060a | 2008-07-08 02:36:40 -0700 | [diff] [blame] | 12 | |
Patrick McHardy | bb94aa1 | 2006-01-09 16:43:13 -0800 | [diff] [blame] | 13 | #ifdef CONFIG_NETFILTER |
Patrick McHardy | 9123de2 | 2006-09-20 11:59:42 -0700 | [diff] [blame] | 14 | extern int ip6_route_me_harder(struct sk_buff *skb); |
Al Viro | b51655b | 2006-11-14 21:40:42 -0800 | [diff] [blame] | 15 | extern __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook, |
Patrick McHardy | 422c346 | 2006-04-06 14:18:43 -0700 | [diff] [blame] | 16 | unsigned int dataoff, u_int8_t protocol); |
| 17 | |
Arnaldo Carvalho de Melo | 2038073 | 2005-08-16 02:18:02 -0300 | [diff] [blame] | 18 | extern int ipv6_netfilter_init(void); |
| 19 | extern void ipv6_netfilter_fini(void); |
Florian Westphal | 2a7851b | 2013-05-17 03:56:10 +0000 | [diff] [blame] | 20 | |
| 21 | /* |
| 22 | * Hook functions for ipv6 to allow xt_* modules to be built-in even |
| 23 | * if IPv6 is a module. |
| 24 | */ |
| 25 | struct nf_ipv6_ops { |
| 26 | int (*chk_addr)(struct net *net, const struct in6_addr *addr, |
| 27 | const struct net_device *dev, int strict); |
| 28 | }; |
| 29 | |
| 30 | extern const struct nf_ipv6_ops __rcu *nf_ipv6_ops; |
| 31 | static inline const struct nf_ipv6_ops *nf_get_ipv6_ops(void) |
| 32 | { |
| 33 | return rcu_dereference(nf_ipv6_ops); |
| 34 | } |
| 35 | |
Patrick McHardy | bb94aa1 | 2006-01-09 16:43:13 -0800 | [diff] [blame] | 36 | #else /* CONFIG_NETFILTER */ |
| 37 | static inline int ipv6_netfilter_init(void) { return 0; } |
| 38 | static inline void ipv6_netfilter_fini(void) { return; } |
| 39 | #endif /* CONFIG_NETFILTER */ |
Harald Welte | 2cc7d57 | 2005-08-09 19:42:34 -0700 | [diff] [blame] | 40 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 41 | #endif /*__LINUX_IP6_NETFILTER_H*/ |