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 */ 7#ifndef __LINUX_IP6_NETFILTER_H 8#define __LINUX_IP6_NETFILTER_H 9 10#include <uapi/linux/netfilter_ipv6.h> 11 12 13#ifdef CONFIG_NETFILTER 14int ip6_route_me_harder(struct sk_buff *skb); 15__sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook, 16 unsigned int dataoff, u_int8_t protocol); 17 18int ipv6_netfilter_init(void); 19void ipv6_netfilter_fini(void); 20 21/* 22 * Hook functions for ipv6 to allow xt_* modules to be built-in even 23 * if IPv6 is a module. 24 */ 25struct 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 30extern const struct nf_ipv6_ops __rcu *nf_ipv6_ops; 31static inline const struct nf_ipv6_ops *nf_get_ipv6_ops(void) 32{ 33 return rcu_dereference(nf_ipv6_ops); 34} 35 36#else /* CONFIG_NETFILTER */ 37static inline int ipv6_netfilter_init(void) { return 0; } 38static inline void ipv6_netfilter_fini(void) { return; } 39#endif /* CONFIG_NETFILTER */ 40 41#endif /*__LINUX_IP6_NETFILTER_H*/ 42