]> err.no Git - linux-2.6/blobdiff - net/sched/sch_sfq.c
Merge branch 'master' of /home/cbou/linux-2.6
[linux-2.6] / net / sched / sch_sfq.c
index 8458f630fac47923636eaec0cc065fd7be20a460..8589da666568b50fc47ac1a2c280a0a96c92a5f3 100644 (file)
@@ -245,7 +245,7 @@ static unsigned int sfq_drop(struct Qdisc *sch)
        if (d > 1) {
                sfq_index x = q->dep[d + SFQ_DEPTH].next;
                skb = q->qs[x].prev;
-               len = skb->len;
+               len = qdisc_pkt_len(skb);
                __skb_unlink(skb, &q->qs[x]);
                kfree_skb(skb);
                sfq_dec(q, x);
@@ -261,7 +261,7 @@ static unsigned int sfq_drop(struct Qdisc *sch)
                q->next[q->tail] = q->next[d];
                q->allot[q->next[d]] += q->quantum;
                skb = q->qs[d].prev;
-               len = skb->len;
+               len = qdisc_pkt_len(skb);
                __skb_unlink(skb, &q->qs[d]);
                kfree_skb(skb);
                sfq_dec(q, d);
@@ -305,7 +305,7 @@ sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch)
        if (q->qs[x].qlen >= q->limit)
                return qdisc_drop(skb, sch);
 
-       sch->qstats.backlog += skb->len;
+       sch->qstats.backlog += qdisc_pkt_len(skb);
        __skb_queue_tail(&q->qs[x], skb);
        sfq_inc(q, x);
        if (q->qs[x].qlen == 1) {               /* The flow is new */
@@ -320,7 +320,7 @@ sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch)
                }
        }
        if (++sch->q.qlen <= q->limit) {
-               sch->bstats.bytes += skb->len;
+               sch->bstats.bytes += qdisc_pkt_len(skb);
                sch->bstats.packets++;
                return 0;
        }
@@ -352,7 +352,7 @@ sfq_requeue(struct sk_buff *skb, struct Qdisc *sch)
                q->hash[x] = hash;
        }
 
-       sch->qstats.backlog += skb->len;
+       sch->qstats.backlog += qdisc_pkt_len(skb);
        __skb_queue_head(&q->qs[x], skb);
        /* If selected queue has length q->limit+1, this means that
         * all another queues are empty and we do simple tail drop.
@@ -363,7 +363,7 @@ sfq_requeue(struct sk_buff *skb, struct Qdisc *sch)
                skb = q->qs[x].prev;
                __skb_unlink(skb, &q->qs[x]);
                sch->qstats.drops++;
-               sch->qstats.backlog -= skb->len;
+               sch->qstats.backlog -= qdisc_pkt_len(skb);
                kfree_skb(skb);
                return NET_XMIT_CN;
        }
@@ -411,7 +411,7 @@ sfq_dequeue(struct Qdisc *sch)
        skb = __skb_dequeue(&q->qs[a]);
        sfq_dec(q, a);
        sch->q.qlen--;
-       sch->qstats.backlog -= skb->len;
+       sch->qstats.backlog -= qdisc_pkt_len(skb);
 
        /* Is the slot empty? */
        if (q->qs[a].qlen == 0) {
@@ -423,7 +423,7 @@ sfq_dequeue(struct Qdisc *sch)
                }
                q->next[q->tail] = a;
                q->allot[a] += q->quantum;
-       } else if ((q->allot[a] -= skb->len) <= 0) {
+       } else if ((q->allot[a] -= qdisc_pkt_len(skb)) <= 0) {
                q->tail = a;
                a = q->next[a];
                q->allot[a] += q->quantum;