inet: frag: remove lru list
[deliverable/linux.git] / net / ipv6 / netfilter / nf_conntrack_reasm.c
index 0d5279fd852a48643b5b0b54834b2ee68a893116..fb0f72a0ff313589d24117cc49eb1bc330e536b5 100644 (file)
@@ -147,16 +147,13 @@ static inline u8 ip6_frag_ecn(const struct ipv6hdr *ipv6h)
 static unsigned int nf_hash_frag(__be32 id, const struct in6_addr *saddr,
                                 const struct in6_addr *daddr)
 {
-       u32 c;
-
        net_get_random_once(&nf_frags.rnd, sizeof(nf_frags.rnd));
-       c = jhash_3words(ipv6_addr_hash(saddr), ipv6_addr_hash(daddr),
-                        (__force u32)id, nf_frags.rnd);
-       return c & (INETFRAGS_HASHSZ - 1);
+       return jhash_3words(ipv6_addr_hash(saddr), ipv6_addr_hash(daddr),
+                           (__force u32)id, nf_frags.rnd);
 }
 
 
-static unsigned int nf_hashfn(struct inet_frag_queue *q)
+static unsigned int nf_hashfn(const struct inet_frag_queue *q)
 {
        const struct frag_queue *nq;
 
@@ -352,7 +349,6 @@ found:
                fq->q.last_in |= INET_FRAG_FIRST_IN;
        }
 
-       inet_frag_lru_move(&fq->q);
        return 0;
 
 discard_fq:
@@ -597,10 +593,6 @@ struct sk_buff *nf_ct_frag6_gather(struct sk_buff *skb, u32 user)
        hdr = ipv6_hdr(clone);
        fhdr = (struct frag_hdr *)skb_transport_header(clone);
 
-       local_bh_disable();
-       inet_frag_evictor(&net->nf_frag.frags, &nf_frags, false);
-       local_bh_enable();
-
        fq = fq_find(net, fhdr->identification, user, &hdr->saddr, &hdr->daddr,
                     ip6_frag_ecn(hdr));
        if (fq == NULL) {
This page took 0.030716 seconds and 5 git commands to generate.