Lines Matching refs:ifq
5154 ipftq_t *ifq; local
5160 for (ifq = *parent; ifq != NULL; ifq = ifq->ifq_next) {
5161 if (ifq->ifq_ttl == period) {
5166 MUTEX_ENTER(&ifq->ifq_lock);
5167 ifq->ifq_flags &= ~IFQF_DELETE;
5168 ifq->ifq_ref++;
5169 MUTEX_EXIT(&ifq->ifq_lock);
5172 return ifq;
5176 KMALLOC(ifq, ipftq_t *);
5177 if (ifq != NULL) {
5178 ifq->ifq_ttl = period;
5179 ifq->ifq_head = NULL;
5180 ifq->ifq_tail = &ifq->ifq_head;
5181 ifq->ifq_next = *parent;
5182 ifq->ifq_pnext = parent;
5183 ifq->ifq_ref = 1;
5184 ifq->ifq_flags = IFQF_USER;
5185 *parent = ifq;
5187 MUTEX_NUKE(&ifq->ifq_lock);
5188 MUTEX_INIT(&ifq->ifq_lock, "ipftq mutex");
5191 return ifq;
5210 int fr_deletetimeoutqueue(ifq) in fr_deletetimeoutqueue() argument
5211 ipftq_t *ifq; in fr_deletetimeoutqueue()
5214 ifq->ifq_ref--;
5215 if ((ifq->ifq_ref == 0) && ((ifq->ifq_flags & IFQF_USER) != 0)) {
5216 ifq->ifq_flags |= IFQF_DELETE;
5219 return ifq->ifq_ref;
5236 void fr_freetimeoutqueue(ifq, ifs) in fr_freetimeoutqueue() argument
5237 ipftq_t *ifq; in fr_freetimeoutqueue()
5242 if (((ifq->ifq_flags & IFQF_DELETE) == 0) || (ifq->ifq_ref != 0) ||
5243 ((ifq->ifq_flags & IFQF_USER) == 0)) {
5245 (u_long)ifq, ifq->ifq_flags, ifq->ifq_ttl,
5246 ifq->ifq_ref);
5253 *ifq->ifq_pnext = ifq->ifq_next;
5254 if (ifq->ifq_next != NULL)
5255 ifq->ifq_next->ifq_pnext = ifq->ifq_pnext;
5257 MUTEX_DESTROY(&ifq->ifq_lock);
5259 KFREE(ifq);
5277 ipftq_t *ifq; local
5279 ifq = tqe->tqe_ifq;
5280 if (ifq == NULL)
5283 MUTEX_ENTER(&ifq->ifq_lock);
5290 ifq->ifq_tail = tqe->tqe_pnext;
5296 (void) fr_deletetimeoutqueue(ifq);
5298 MUTEX_EXIT(&ifq->ifq_lock);
5312 ipftq_t *ifq; local
5314 ifq = tqe->tqe_ifq;
5315 if (ifq == NULL)
5318 MUTEX_ENTER(&ifq->ifq_lock);
5319 if (ifq->ifq_head != tqe) {
5324 ifq->ifq_tail = tqe->tqe_pnext;
5326 tqe->tqe_next = ifq->ifq_head;
5327 ifq->ifq_head->tqe_pnext = &tqe->tqe_next;
5328 ifq->ifq_head = tqe;
5329 tqe->tqe_pnext = &ifq->ifq_head;
5331 MUTEX_EXIT(&ifq->ifq_lock);
5346 ipftq_t *ifq; local
5348 ifq = tqe->tqe_ifq;
5349 if (ifq == NULL)
5351 tqe->tqe_die = ifs->ifs_fr_ticks + ifq->ifq_ttl;
5353 MUTEX_ENTER(&ifq->ifq_lock);
5355 MUTEX_EXIT(&ifq->ifq_lock);
5369 tqe->tqe_pnext = ifq->ifq_tail;
5370 *ifq->ifq_tail = tqe;
5371 ifq->ifq_tail = &tqe->tqe_next;
5372 MUTEX_EXIT(&ifq->ifq_lock);
5385 void fr_queueappend(tqe, ifq, parent, ifs) in fr_queueappend() argument
5387 ipftq_t *ifq;
5392 MUTEX_ENTER(&ifq->ifq_lock);
5394 tqe->tqe_pnext = ifq->ifq_tail;
5395 *ifq->ifq_tail = tqe;
5396 ifq->ifq_tail = &tqe->tqe_next;
5398 tqe->tqe_ifq = ifq;
5399 tqe->tqe_die = ifs->ifs_fr_ticks + ifq->ifq_ttl;
5400 ifq->ifq_ref++;
5401 MUTEX_EXIT(&ifq->ifq_lock);
7514 int ipf_earlydrop(flushtype, ifq, idletime, ifs) in ipf_earlydrop() argument
7516 ipftq_t *ifq;
7525 if (ifq == NULL)
7537 tqn = ifq->ifq_head;
7577 ipftq_t *ifq, *ifqn; local
7590 while ((ifq = ifqn) != NULL) {
7591 ifqn = ifq->ifq_next;
7592 dropped += ipf_earlydrop(flushtype, ifq, (int)0, ifs);
7599 while ((ifq = ifqn) != NULL) {
7600 ifqn = ifq->ifq_next;
7601 tqn = ifq->ifq_head;
7651 ipftq_t *ifq, *ifqn; local
7715 while ((ifq = ifqn) != NULL) {
7716 ifqn = ifq->ifq_next;
7717 removed += ipf_earlydrop(flushtype, ifq, idletime, ifs);