diff options
| author | Martin Devera <devik@cdi.cz> | 2004-01-06 06:19:46 -0800 |
|---|---|---|
| committer | David S. Miller <davem@nuts.ninka.net> | 2004-01-06 06:19:46 -0800 |
| commit | 5cc3937bea76b5d2fe032c4290680aa0d1baf6bf (patch) | |
| tree | 601b37853c88bf8dd3f84ba155229b8fcb063822 | |
| parent | cd4eb2e9407321888234cceabd957d3168c724d9 (diff) | |
[NET]: Make sure that class selected by priority is a leaf in HTB scheduler.
| -rw-r--r-- | net/sched/sch_htb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index a3216cc06c55..5743406b75cf 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -74,7 +74,7 @@ #define HTB_HYSTERESIS 1/* whether to use mode hysteresis for speedup */ #define HTB_QLOCK(S) spin_lock_bh(&(S)->dev->queue_lock) #define HTB_QUNLOCK(S) spin_unlock_bh(&(S)->dev->queue_lock) -#define HTB_VER 0x3000e /* major must be matched with number suplied by TC as version */ +#define HTB_VER 0x3000f /* major must be matched with number suplied by TC as version */ #if HTB_VER >> 16 != TC_HTB_PROTOVER #error "Mismatched sch_htb.c and pkt_sch.h" @@ -308,7 +308,7 @@ static struct htb_class *htb_classify(struct sk_buff *skb, struct Qdisc *sch) rules in it */ if (skb->priority == sch->handle) return HTB_DIRECT; /* X:0 (direct flow) selected */ - if ((cl = htb_find(skb->priority,sch)) != NULL) + if ((cl = htb_find(skb->priority,sch)) != NULL && cl->level == 0) return cl; tcf = q->filter_list; |
