Lines Matching defs:leaf

90 /* interior & leaf nodes; props specific to leaves are marked L:
101 int quantum; /* but stored for parent-to-leaf return */
128 } leaf;
211 * should be passed directly thru. In all other cases leaf class is returned.
216 * have no valid leaf we try to use MAJOR:default leaf. It still unsuccessful
238 /* Start with inner filter chain if a non-leaf class is selected */
266 return cl; /* we hit leaf; return it */
584 * htb_activate - inserts leaf cl into appropriate active feeds
588 * Routine learns (new) priority of leaf and activates feed chain
589 * for the prio. It can be called on already active leaf safely.
590 * It also adds leaf into droplist.
594 WARN_ON(cl->level || !cl->leaf.q || !cl->leaf.q->q.qlen);
603 * htb_deactivate - remove leaf cl from active feeds
607 * Make sure that leaf is active. In the other words it can't be called
608 * with non-active leaf. It also removes class from the drop list.
641 } else if ((ret = qdisc_enqueue(skb, cl->leaf.q,
684 * htb_charge_class - charges amount "bytes" to leaf and ancestors
690 * Routine assumes that packet "bytes" long was dequeued from leaf cl
692 * leaf and all ancestors and to rate bucket for ancestors at levels
808 * htb_lookup_leaf - returns next leaf class in DRR order
812 * Find leaf where current feed pointers points to.
887 /* class can be empty - it is unlikely but can be true if leaf
889 * graft operation on the leaf since last dequeue;
892 if (unlikely(cl->leaf.q->q.qlen == 0)) {
908 skb = cl->leaf.q->dequeue(cl->leaf.q);
912 qdisc_warn_nonwc("htb", cl->leaf.q);
921 cl->leaf.deficit[level] -= qdisc_pkt_len(skb);
922 if (cl->leaf.deficit[level] < 0) {
923 cl->leaf.deficit[level] += cl->quantum;
930 if (!cl->leaf.q->q.qlen)
1008 if (cl->leaf.q && !q->offload)
1009 qdisc_reset(cl->leaf.q);
1261 if (!cl->level && cl->leaf.q)
1262 tcm->tcm_info = cl->leaf.q->handle;
1319 bytes += u64_stats_read(&c->leaf.q->bstats.bytes);
1320 packets += u64_stats_read(&c->leaf.q->bstats.packets);
1338 if (!cl->level && cl->leaf.q)
1339 qdisc_qstats_qlen_backlog(cl->leaf.q, &qlen, &qs.backlog);
1348 if (cl->leaf.q)
1349 cl->bstats = cl->leaf.q->bstats;
1410 queue = cl->leaf.offload_queue;
1411 if (!(cl->leaf.q->flags & TCQ_F_BUILTIN))
1412 WARN_ON(cl->leaf.q->dev_queue != queue);
1432 WARN_ON(qdisc != cl_old->leaf.q);
1435 if (!(cl_old->leaf.q->flags & TCQ_F_BUILTIN))
1436 cl_old->leaf.q->dev_queue = queue_new;
1437 cl_old->leaf.offload_queue = queue_new;
1442 qdisc = dev_graft_qdisc(queue_new, cl_old->leaf.q);
1472 /* One ref for cl->leaf.q, the other for dev_queue->qdisc. */
1477 *old = qdisc_replace(sch, new, &cl->leaf.q);
1490 return !cl->level ? cl->leaf.q : NULL;
1517 WARN_ON(cl->level || !cl->leaf.q || cl->prio_activity);
1525 parent->leaf.q = new_q ? new_q : &noop_qdisc;
1531 parent->leaf.offload_queue = cl->leaf.offload_queue;
1540 /* One ref for cl->leaf.q, the other for dev_queue->qdisc. */
1553 struct Qdisc *q = cl->leaf.q;
1568 /* Last qdisc grafted should be the same as cl->leaf.q when
1613 WARN_ON(!cl->leaf.q);
1614 qdisc_put(cl->leaf.q);
1746 qdisc_purge_queue(cl->leaf.q);
1893 /* create leaf qdisc early because it uses kmalloc(GFP_KERNEL)
1923 WARN_ON(old_q != parent->leaf.q);
1952 /* One ref for cl->leaf.q, the other for
1964 qdisc_purge_queue(parent->leaf.q);
1965 parent_qdisc = parent->leaf.q;
1979 /* leaf (we) needs elementary qdisc */
1980 cl->leaf.q = new_q ? new_q : &noop_qdisc;
1982 cl->leaf.offload_queue = dev_queue;
1997 if (cl->leaf.q != &noop_qdisc)
1998 qdisc_hash_add(cl->leaf.q, true);
2040 * is really leaf before changing cl->leaf !
2142 .leaf = htb_leaf,