9 #include <linux/types.h>
10 #include <linux/ipv6.h>
11 #include <linux/in6.h>
12 #include <linux/netfilter.h>
13 #include <linux/module.h>
15 #include <linux/icmp.h>
16 #include <linux/sysctl.h>
20 #include <linux/netfilter_ipv6.h>
21 #include <linux/netfilter_bridge.h>
22 #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
38 #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
40 zone = nf_ct_zone((
struct nf_conn *)skb->nfct);
43 #ifdef CONFIG_BRIDGE_NETFILTER
45 skb->nf_bridge->mask & BRNF_NF_BRIDGE_PREROUTING)
55 static unsigned int ipv6_defrag(
unsigned int hooknum,
63 #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
65 if (skb->nfct && !nf_ct_is_template((
struct nf_conn *)skb->nfct))
84 static struct nf_hook_ops ipv6_defrag_ops[] = {
101 static int __init nf_defrag_init(
void)
107 pr_err(
"nf_defrag_ipv6: can't initialize frag6.\n");
112 pr_err(
"nf_defrag_ipv6: can't register hooks\n");
123 static void __exit nf_defrag_fini(
void)