fqdir 94 include/net/inet_frag.h struct fqdir *fqdir; fqdir 115 include/net/inet_frag.h int fqdir_init(struct fqdir **fqdirp, struct inet_frags *f, struct net *net); fqdir 117 include/net/inet_frag.h static inline void fqdir_pre_exit(struct fqdir *fqdir) fqdir 119 include/net/inet_frag.h fqdir->high_thresh = 0; /* prevent creation of new frags */ fqdir 120 include/net/inet_frag.h fqdir->dead = true; fqdir 122 include/net/inet_frag.h void fqdir_exit(struct fqdir *fqdir); fqdir 126 include/net/inet_frag.h struct inet_frag_queue *inet_frag_find(struct fqdir *fqdir, void *key); fqdir 139 include/net/inet_frag.h static inline long frag_mem_limit(const struct fqdir *fqdir) fqdir 141 include/net/inet_frag.h return atomic_long_read(&fqdir->mem); fqdir 144 include/net/inet_frag.h static inline void sub_frag_mem_limit(struct fqdir *fqdir, long val) fqdir 146 include/net/inet_frag.h atomic_long_sub(val, &fqdir->mem); fqdir 149 include/net/inet_frag.h static inline void add_frag_mem_limit(struct fqdir *fqdir, long val) fqdir 151 include/net/inet_frag.h atomic_long_add(val, &fqdir->mem); fqdir 70 include/net/ipv6_frag.h if (fq->q.fqdir->dead) fqdir 19 include/net/netns/ieee802154_6lowpan.h struct fqdir *fqdir; fqdir 75 include/net/netns/ipv4.h struct fqdir *fqdir; fqdir 61 include/net/netns/ipv6.h struct fqdir *fqdir; fqdir 119 include/net/netns/ipv6.h struct fqdir *fqdir; fqdir 77 net/ieee802154/6lowpan/reassembly.c q = inet_frag_find(ieee802154_lowpan->fqdir, &key); fqdir 137 net/ieee802154/6lowpan/reassembly.c add_frag_mem_limit(fq->q.fqdir, skb->truesize); fqdir 375 net/ieee802154/6lowpan/reassembly.c table[0].data = &ieee802154_lowpan->fqdir->high_thresh; fqdir 376 net/ieee802154/6lowpan/reassembly.c table[0].extra1 = &ieee802154_lowpan->fqdir->low_thresh; fqdir 377 net/ieee802154/6lowpan/reassembly.c table[1].data = &ieee802154_lowpan->fqdir->low_thresh; fqdir 378 net/ieee802154/6lowpan/reassembly.c table[1].extra2 = &ieee802154_lowpan->fqdir->high_thresh; fqdir 379 net/ieee802154/6lowpan/reassembly.c table[2].data = &ieee802154_lowpan->fqdir->timeout; fqdir 448 net/ieee802154/6lowpan/reassembly.c res = fqdir_init(&ieee802154_lowpan->fqdir, &lowpan_frags, net); fqdir 452 net/ieee802154/6lowpan/reassembly.c ieee802154_lowpan->fqdir->high_thresh = IPV6_FRAG_HIGH_THRESH; fqdir 453 net/ieee802154/6lowpan/reassembly.c ieee802154_lowpan->fqdir->low_thresh = IPV6_FRAG_LOW_THRESH; fqdir 454 net/ieee802154/6lowpan/reassembly.c ieee802154_lowpan->fqdir->timeout = IPV6_FRAG_TIMEOUT; fqdir 458 net/ieee802154/6lowpan/reassembly.c fqdir_exit(ieee802154_lowpan->fqdir); fqdir 467 net/ieee802154/6lowpan/reassembly.c fqdir_pre_exit(ieee802154_lowpan->fqdir); fqdir 476 net/ieee802154/6lowpan/reassembly.c fqdir_exit(ieee802154_lowpan->fqdir); fqdir 150 net/ipv4/inet_fragment.c struct fqdir *fqdir = container_of(work, struct fqdir, destroy_work); fqdir 151 net/ipv4/inet_fragment.c struct inet_frags *f = fqdir->f; fqdir 153 net/ipv4/inet_fragment.c rhashtable_free_and_destroy(&fqdir->rhashtable, inet_frags_free_cb, NULL); fqdir 164 net/ipv4/inet_fragment.c kfree(fqdir); fqdir 167 net/ipv4/inet_fragment.c int fqdir_init(struct fqdir **fqdirp, struct inet_frags *f, struct net *net) fqdir 169 net/ipv4/inet_fragment.c struct fqdir *fqdir = kzalloc(sizeof(*fqdir), GFP_KERNEL); fqdir 172 net/ipv4/inet_fragment.c if (!fqdir) fqdir 174 net/ipv4/inet_fragment.c fqdir->f = f; fqdir 175 net/ipv4/inet_fragment.c fqdir->net = net; fqdir 176 net/ipv4/inet_fragment.c res = rhashtable_init(&fqdir->rhashtable, &fqdir->f->rhash_params); fqdir 178 net/ipv4/inet_fragment.c kfree(fqdir); fqdir 182 net/ipv4/inet_fragment.c *fqdirp = fqdir; fqdir 187 net/ipv4/inet_fragment.c void fqdir_exit(struct fqdir *fqdir) fqdir 189 net/ipv4/inet_fragment.c INIT_WORK(&fqdir->destroy_work, fqdir_work_fn); fqdir 190 net/ipv4/inet_fragment.c queue_work(system_wq, &fqdir->destroy_work); fqdir 200 net/ipv4/inet_fragment.c struct fqdir *fqdir = fq->fqdir; fqdir 209 net/ipv4/inet_fragment.c if (!fqdir->dead) { fqdir 210 net/ipv4/inet_fragment.c rhashtable_remove_fast(&fqdir->rhashtable, &fq->node, fqdir 211 net/ipv4/inet_fragment.c fqdir->f->rhash_params); fqdir 225 net/ipv4/inet_fragment.c struct inet_frags *f = q->fqdir->f; fqdir 256 net/ipv4/inet_fragment.c struct fqdir *fqdir; fqdir 264 net/ipv4/inet_fragment.c fqdir = q->fqdir; fqdir 265 net/ipv4/inet_fragment.c f = fqdir->f; fqdir 271 net/ipv4/inet_fragment.c sub_frag_mem_limit(fqdir, sum); fqdir 275 net/ipv4/inet_fragment.c static struct inet_frag_queue *inet_frag_alloc(struct fqdir *fqdir, fqdir 285 net/ipv4/inet_fragment.c q->fqdir = fqdir; fqdir 287 net/ipv4/inet_fragment.c add_frag_mem_limit(fqdir, f->qsize); fqdir 296 net/ipv4/inet_fragment.c static struct inet_frag_queue *inet_frag_create(struct fqdir *fqdir, fqdir 300 net/ipv4/inet_fragment.c struct inet_frags *f = fqdir->f; fqdir 303 net/ipv4/inet_fragment.c q = inet_frag_alloc(fqdir, f, arg); fqdir 308 net/ipv4/inet_fragment.c mod_timer(&q->timer, jiffies + fqdir->timeout); fqdir 310 net/ipv4/inet_fragment.c *prev = rhashtable_lookup_get_insert_key(&fqdir->rhashtable, &q->key, fqdir 322 net/ipv4/inet_fragment.c struct inet_frag_queue *inet_frag_find(struct fqdir *fqdir, void *key) fqdir 326 net/ipv4/inet_fragment.c if (!fqdir->high_thresh || frag_mem_limit(fqdir) > fqdir->high_thresh) fqdir 331 net/ipv4/inet_fragment.c prev = rhashtable_lookup(&fqdir->rhashtable, key, fqdir->f->rhash_params); fqdir 333 net/ipv4/inet_fragment.c fq = inet_frag_create(fqdir, key, &prev); fqdir 444 net/ipv4/inet_fragment.c add_frag_mem_limit(q->fqdir, delta); fqdir 466 net/ipv4/inet_fragment.c add_frag_mem_limit(q->fqdir, clone->truesize); fqdir 536 net/ipv4/inet_fragment.c sub_frag_mem_limit(q->fqdir, sum_truesize); fqdir 564 net/ipv4/inet_fragment.c sub_frag_mem_limit(q->fqdir, head->truesize); fqdir 85 net/ipv4/ip_fragment.c struct net *net = q->fqdir->net; fqdir 91 net/ipv4/ip_fragment.c qp->peer = q->fqdir->max_dist ? fqdir 143 net/ipv4/ip_fragment.c net = qp->q.fqdir->net; fqdir 147 net/ipv4/ip_fragment.c if (qp->q.fqdir->dead) fqdir 216 net/ipv4/ip_fragment.c q = inet_frag_find(net->ipv4.fqdir, &key); fqdir 227 net/ipv4/ip_fragment.c unsigned int max = qp->q.fqdir->max_dist; fqdir 242 net/ipv4/ip_fragment.c __IP_INC_STATS(qp->q.fqdir->net, IPSTATS_MIB_REASMFAILS); fqdir 251 net/ipv4/ip_fragment.c if (!mod_timer(&qp->q.timer, jiffies + qp->q.fqdir->timeout)) { fqdir 257 net/ipv4/ip_fragment.c sub_frag_mem_limit(qp->q.fqdir, sum_truesize); fqdir 274 net/ipv4/ip_fragment.c struct net *net = qp->q.fqdir->net; fqdir 353 net/ipv4/ip_fragment.c add_frag_mem_limit(qp->q.fqdir, skb->truesize); fqdir 405 net/ipv4/ip_fragment.c struct net *net = qp->q.fqdir->net; fqdir 602 net/ipv4/ip_fragment.c table[0].data = &net->ipv4.fqdir->high_thresh; fqdir 603 net/ipv4/ip_fragment.c table[0].extra1 = &net->ipv4.fqdir->low_thresh; fqdir 604 net/ipv4/ip_fragment.c table[1].data = &net->ipv4.fqdir->low_thresh; fqdir 605 net/ipv4/ip_fragment.c table[1].extra2 = &net->ipv4.fqdir->high_thresh; fqdir 606 net/ipv4/ip_fragment.c table[2].data = &net->ipv4.fqdir->timeout; fqdir 607 net/ipv4/ip_fragment.c table[3].data = &net->ipv4.fqdir->max_dist; fqdir 655 net/ipv4/ip_fragment.c res = fqdir_init(&net->ipv4.fqdir, &ip4_frags, net); fqdir 672 net/ipv4/ip_fragment.c net->ipv4.fqdir->high_thresh = 4 * 1024 * 1024; fqdir 673 net/ipv4/ip_fragment.c net->ipv4.fqdir->low_thresh = 3 * 1024 * 1024; fqdir 679 net/ipv4/ip_fragment.c net->ipv4.fqdir->timeout = IP_FRAG_TIME; fqdir 681 net/ipv4/ip_fragment.c net->ipv4.fqdir->max_dist = 64; fqdir 685 net/ipv4/ip_fragment.c fqdir_exit(net->ipv4.fqdir); fqdir 691 net/ipv4/ip_fragment.c fqdir_pre_exit(net->ipv4.fqdir); fqdir 697 net/ipv4/ip_fragment.c fqdir_exit(net->ipv4.fqdir); fqdir 71 net/ipv4/proc.c atomic_read(&net->ipv4.fqdir->rhashtable.nelems), fqdir 72 net/ipv4/proc.c frag_mem_limit(net->ipv4.fqdir)); fqdir 89 net/ipv6/netfilter/nf_conntrack_reasm.c table[0].data = &net->nf_frag.fqdir->timeout; fqdir 90 net/ipv6/netfilter/nf_conntrack_reasm.c table[1].data = &net->nf_frag.fqdir->low_thresh; fqdir 91 net/ipv6/netfilter/nf_conntrack_reasm.c table[1].extra2 = &net->nf_frag.fqdir->high_thresh; fqdir 92 net/ipv6/netfilter/nf_conntrack_reasm.c table[2].data = &net->nf_frag.fqdir->high_thresh; fqdir 93 net/ipv6/netfilter/nf_conntrack_reasm.c table[2].extra1 = &net->nf_frag.fqdir->low_thresh; fqdir 94 net/ipv6/netfilter/nf_conntrack_reasm.c table[2].extra2 = &init_net.nf_frag.fqdir->high_thresh; fqdir 145 net/ipv6/netfilter/nf_conntrack_reasm.c ip6frag_expire_frag_queue(fq->q.fqdir->net, fq); fqdir 161 net/ipv6/netfilter/nf_conntrack_reasm.c q = inet_frag_find(net->nf_frag.fqdir, &key); fqdir 274 net/ipv6/netfilter/nf_conntrack_reasm.c add_frag_mem_limit(fq->q.fqdir, skb->truesize); fqdir 490 net/ipv6/netfilter/nf_conntrack_reasm.c res = fqdir_init(&net->nf_frag.fqdir, &nf_frags, net); fqdir 494 net/ipv6/netfilter/nf_conntrack_reasm.c net->nf_frag.fqdir->high_thresh = IPV6_FRAG_HIGH_THRESH; fqdir 495 net/ipv6/netfilter/nf_conntrack_reasm.c net->nf_frag.fqdir->low_thresh = IPV6_FRAG_LOW_THRESH; fqdir 496 net/ipv6/netfilter/nf_conntrack_reasm.c net->nf_frag.fqdir->timeout = IPV6_FRAG_TIMEOUT; fqdir 500 net/ipv6/netfilter/nf_conntrack_reasm.c fqdir_exit(net->nf_frag.fqdir); fqdir 506 net/ipv6/netfilter/nf_conntrack_reasm.c fqdir_pre_exit(net->nf_frag.fqdir); fqdir 512 net/ipv6/netfilter/nf_conntrack_reasm.c fqdir_exit(net->nf_frag.fqdir); fqdir 47 net/ipv6/proc.c atomic_read(&net->ipv6.fqdir->rhashtable.nelems), fqdir 48 net/ipv6/proc.c frag_mem_limit(net->ipv6.fqdir)); fqdir 78 net/ipv6/reassembly.c ip6frag_expire_frag_queue(fq->q.fqdir->net, fq); fqdir 97 net/ipv6/reassembly.c q = inet_frag_find(net->ipv6.fqdir, &key); fqdir 197 net/ipv6/reassembly.c add_frag_mem_limit(fq->q.fqdir, skb->truesize); fqdir 251 net/ipv6/reassembly.c struct net *net = fq->q.fqdir->net; fqdir 442 net/ipv6/reassembly.c table[0].data = &net->ipv6.fqdir->high_thresh; fqdir 443 net/ipv6/reassembly.c table[0].extra1 = &net->ipv6.fqdir->low_thresh; fqdir 444 net/ipv6/reassembly.c table[1].data = &net->ipv6.fqdir->low_thresh; fqdir 445 net/ipv6/reassembly.c table[1].extra2 = &net->ipv6.fqdir->high_thresh; fqdir 446 net/ipv6/reassembly.c table[2].data = &net->ipv6.fqdir->timeout; fqdir 509 net/ipv6/reassembly.c res = fqdir_init(&net->ipv6.fqdir, &ip6_frags, net); fqdir 513 net/ipv6/reassembly.c net->ipv6.fqdir->high_thresh = IPV6_FRAG_HIGH_THRESH; fqdir 514 net/ipv6/reassembly.c net->ipv6.fqdir->low_thresh = IPV6_FRAG_LOW_THRESH; fqdir 515 net/ipv6/reassembly.c net->ipv6.fqdir->timeout = IPV6_FRAG_TIMEOUT; fqdir 519 net/ipv6/reassembly.c fqdir_exit(net->ipv6.fqdir); fqdir 525 net/ipv6/reassembly.c fqdir_pre_exit(net->ipv6.fqdir); fqdir 531 net/ipv6/reassembly.c fqdir_exit(net->ipv6.fqdir);