Thread (8 messages) 8 messages, 3 authors, 2002-07-23

Re: Frozen machine with adding a tc filter

From: bert hubert <hidden>
Date: 2002-07-22 21:21:11

On Tue, Jul 23, 2002 at 12:46:44AM +0400, kuznet@ms2.inr.ac.ru wrote:
Hello!
quoted
I know it's weird, but anyway i don't think that a lockup is the error the
user deserves =)
You really deserved this.
I also reported this - should tc check this? Or the kernel? I think each
qdisc implements its own filter hooks and rules, so tc may be a nice place
to do at least simple checking, although it cannot easily spot complicated
loops.

                if ((cl = (void*)res.class) == NULL) {
	                if (TC_H_MAJ(res.classid))
                                cl = cbq_class_lookup(q, res.classid); 
                	else if ((cl = defmap[res.classid&TC_PRIO_MAX]) == NULL
                        	cl = defmap[TC_PRIO_BESTEFFORT];

                     	if (cl == NULL || cl->level >= head->level)
                                goto fallback;
  		}


Aren't the last 2 lines meant to prevent this from happening?
(net/sched/sch_cbq.c).

Please tell me your ideas, I hope to fix this. I know people who've had this
happen by accident and they really hate it.

Regards,

bert

-- 
http://www.PowerDNS.com          Versatile DNS Software & Services
http://www.tk                              the dot in .tk
http://lartc.org           Linux Advanced Routing & Traffic Control HOWTO
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help