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);