]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/ipv4/netfilter/nf_defrag_ipv4.c
net - IP_NODEFRAG option for IPv4 socket
[net-next-2.6.git] / net / ipv4 / netfilter / nf_defrag_ipv4.c
index cb763ae9ed9035f5be305eb33dda2e8118d671b3..eab8de32f200af74828bbf0fb3187ff578451e9b 100644 (file)
@@ -66,6 +66,11 @@ static unsigned int ipv4_conntrack_defrag(unsigned int hooknum,
                                          const struct net_device *out,
                                          int (*okfn)(struct sk_buff *))
 {
+       struct inet_sock *inet = inet_sk(skb->sk);
+
+       if (inet && inet->nodefrag)
+               return NF_ACCEPT;
+
 #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
 #if !defined(CONFIG_NF_NAT) && !defined(CONFIG_NF_NAT_MODULE)
        /* Previously seen (loopback)?  Ignore.  Do this before