netdev
[Top] [All Lists]

[PATCH 1/2 (resend)] Fix TBF class reporting (tc class show)

To: linux-net@xxxxxxxxxxxxxxx
Subject: [PATCH 1/2 (resend)] Fix TBF class reporting (tc class show)
From: Dmitry Torokhov <dtor_core@xxxxxxxxxxxxx>
Date: Tue, 23 Mar 2004 01:08:08 -0500
Cc: netdev@xxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: KMail/1.6.1
Hi,

The patch below fixes issue with "tc class show dev <dev>" not showing any
classes when TBF qdisc is present in the chain. PLease copnsider for
inclusion.

-- 
Dmitry


===================================================================


ChangeSet@xxxxxx, 2004-03-05 01:02:36-05:00, dtor_core@xxxxxxxxxxxxx
  NET: Fix class reporting in TBF qdisc


 sch_tbf.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)


===================================================================



diff -Nru a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c
--- a/net/sched/sch_tbf.c       Fri Mar  5 01:26:33 2004
+++ b/net/sched/sch_tbf.c       Fri Mar  5 01:26:33 2004
@@ -434,8 +434,7 @@
        if (cl != 1)    /* only one class */ 
                return -ENOENT;
     
-       tcm->tcm_parent = TC_H_ROOT;
-       tcm->tcm_handle = 1;
+       tcm->tcm_handle |= TC_H_MIN(1);
        tcm->tcm_info = q->qdisc->handle;
 
        return 0;
@@ -486,11 +485,9 @@
 
 static void tbf_walk(struct Qdisc *sch, struct qdisc_walker *walker)
 {
-       struct tbf_sched_data *q = (struct tbf_sched_data *)sch->data;
-
        if (!walker->stop) {
-               if (walker->count >= walker->skip) 
-                       if (walker->fn(sch, (unsigned long)q, walker) < 0) { 
+               if (walker->count >= walker->skip)
+                       if (walker->fn(sch, 1, walker) < 0) {
                                walker->stop = 1;
                                return;
                        }

<Prev in Thread] Current Thread [Next in Thread>