Lines Matching refs:flows
75 * because fq_codel use different flows (sub-queues) structure and
146 SYSCTL_UINT(_net_inet_ip_dummynet_fqcodel, OID_AUTO, flows,
306 drop = codel_enqueue(&si->flows[idx], m, si);
313 * new flows list, initialize and activate it.
315 if (!si->flows[idx].active ) {
316 STAILQ_INSERT_TAIL(&si->newflows, &si->flows[idx], flowchain);
317 si->flows[idx].deficit = param->quantum;
318 si->flows[idx].cst.dropping = false;
319 si->flows[idx].cst.first_above_time = 0;
320 si->flows[idx].active = 1;
330 if (si->flows[maxidx].active)
335 if (si->flows[i].active && si->flows[i].stats.length >
336 si->flows[maxidx].stats.length)
338 codel_drop_head(&si->flows[maxidx], si);
379 * by quantum, move the flow to the tail of old flows list
393 /* the new flows list is empty, try old flows list */
402 /* If the selected flow belongs to new flows list, then move
403 * it to the tail of old flows list. Otherwise, deactivate it and
430 * also, allocate memory for flows array.
443 if(si->flows) {
454 /* allocate memory for flows array */
455 si->flows = mallocarray(schk->cfg.flows_cnt,
457 if (si->flows == NULL) {
465 /* init the old and new flows lists */
469 /* init the flows (sub-queues) */
472 si->flows[i].cst.maxpkt_size = 500;
487 /* free the flows array */
488 free(si->flows , M_DUMMYNET);
489 si->flows = NULL;
511 * FQ_CODEL: 3- quantum, 4- limit, 5- flows