Lines Matching defs:ifq

5155 	ipftq_t *ifq;
5161 for (ifq = *parent; ifq != NULL; ifq = ifq->ifq_next) {
5162 if (ifq->ifq_ttl == period) {
5167 MUTEX_ENTER(&ifq->ifq_lock);
5168 ifq->ifq_flags &= ~IFQF_DELETE;
5169 ifq->ifq_ref++;
5170 MUTEX_EXIT(&ifq->ifq_lock);
5173 return ifq;
5177 KMALLOC(ifq, ipftq_t *);
5178 if (ifq != NULL) {
5179 ifq->ifq_ttl = period;
5180 ifq->ifq_head = NULL;
5181 ifq->ifq_tail = &ifq->ifq_head;
5182 ifq->ifq_next = *parent;
5183 ifq->ifq_pnext = parent;
5184 ifq->ifq_ref = 1;
5185 ifq->ifq_flags = IFQF_USER;
5186 *parent = ifq;
5188 MUTEX_NUKE(&ifq->ifq_lock);
5189 MUTEX_INIT(&ifq->ifq_lock, "ipftq mutex");
5192 return ifq;
5199 /* Parameters: ifq(I) - timeout queue which is losing a reference. */
5200 /* Locks: ifq->ifq_lock */
5211 int fr_deletetimeoutqueue(ifq)
5212 ipftq_t *ifq;
5215 ifq->ifq_ref--;
5216 if ((ifq->ifq_ref == 0) && ((ifq->ifq_flags & IFQF_USER) != 0)) {
5217 ifq->ifq_flags |= IFQF_DELETE;
5220 return ifq->ifq_ref;
5226 /* Parameters: ifq(I) - timeout queue which is losing a reference. */
5237 void fr_freetimeoutqueue(ifq, ifs)
5238 ipftq_t *ifq;
5243 if (((ifq->ifq_flags & IFQF_DELETE) == 0) || (ifq->ifq_ref != 0) ||
5244 ((ifq->ifq_flags & IFQF_USER) == 0)) {
5246 (u_long)ifq, ifq->ifq_flags, ifq->ifq_ttl,
5247 ifq->ifq_ref);
5254 *ifq->ifq_pnext = ifq->ifq_next;
5255 if (ifq->ifq_next != NULL)
5256 ifq->ifq_next->ifq_pnext = ifq->ifq_pnext;
5258 MUTEX_DESTROY(&ifq->ifq_lock);
5260 KFREE(ifq);
5268 /* ifq(I) - timeout queue to remove entry from */
5278 ipftq_t *ifq;
5280 ifq = tqe->tqe_ifq;
5281 if (ifq == NULL)
5284 MUTEX_ENTER(&ifq->ifq_lock);
5291 ifq->ifq_tail = tqe->tqe_pnext;
5297 (void) fr_deletetimeoutqueue(ifq);
5299 MUTEX_EXIT(&ifq->ifq_lock);
5313 ipftq_t *ifq;
5315 ifq = tqe->tqe_ifq;
5316 if (ifq == NULL)
5319 MUTEX_ENTER(&ifq->ifq_lock);
5320 if (ifq->ifq_head != tqe) {
5325 ifq->ifq_tail = tqe->tqe_pnext;
5327 tqe->tqe_next = ifq->ifq_head;
5328 ifq->ifq_head->tqe_pnext = &tqe->tqe_next;
5329 ifq->ifq_head = tqe;
5330 tqe->tqe_pnext = &ifq->ifq_head;
5332 MUTEX_EXIT(&ifq->ifq_lock);
5347 ipftq_t *ifq;
5349 ifq = tqe->tqe_ifq;
5350 if (ifq == NULL)
5352 tqe->tqe_die = ifs->ifs_fr_ticks + ifq->ifq_ttl;
5354 MUTEX_ENTER(&ifq->ifq_lock);
5356 MUTEX_EXIT(&ifq->ifq_lock);
5370 tqe->tqe_pnext = ifq->ifq_tail;
5371 *ifq->ifq_tail = tqe;
5372 ifq->ifq_tail = &tqe->tqe_next;
5373 MUTEX_EXIT(&ifq->ifq_lock);
5381 /* ifq(I) - pointer to timeout queue */
5386 void fr_queueappend(tqe, ifq, parent, ifs)
5388 ipftq_t *ifq;
5393 MUTEX_ENTER(&ifq->ifq_lock);
5395 tqe->tqe_pnext = ifq->ifq_tail;
5396 *ifq->ifq_tail = tqe;
5397 ifq->ifq_tail = &tqe->tqe_next;
5399 tqe->tqe_ifq = ifq;
5400 tqe->tqe_die = ifs->ifs_fr_ticks + ifq->ifq_ttl;
5401 ifq->ifq_ref++;
5402 MUTEX_EXIT(&ifq->ifq_lock);
7503 /* ifq - pointer to queue with entries to be deleted */
7511 int ipf_earlydrop(flushtype, ifq, idletime, ifs)
7513 ipftq_t *ifq;
7522 if (ifq == NULL)
7534 tqn = ifq->ifq_head;
7574 ipftq_t *ifq, *ifqn;
7587 while ((ifq = ifqn) != NULL) {
7588 ifqn = ifq->ifq_next;
7589 dropped += ipf_earlydrop(flushtype, ifq, (int)0, ifs);
7596 while ((ifq = ifqn) != NULL) {
7597 ifqn = ifq->ifq_next;
7598 tqn = ifq->ifq_head;
7648 ipftq_t *ifq, *ifqn;
7712 while ((ifq = ifqn) != NULL) {
7713 ifqn = ifq->ifq_next;
7714 removed += ipf_earlydrop(flushtype, ifq, idletime, ifs);