> > right. What you know: > > - each qdisc's (own) qlen is valid at all (for us important) times > > - qdisc's qlen can increase only after successfull (!) enqueue > But I think there's another case - requeue. Maybe you consider that > the same as enqueue. > (I've never seen evidence that it was executed, but it's called in > sch_generic.c) It should be handled in the same way as requeue only should not increase stats. > I still think it's reasonable to check only at dequeue. Basically if > you know max time between dequeues is t, then a queue filled by a > flood can only remain full for time t + expire_time after the flood > ends. After that there will be a dequeue that throws out all the > flood packets. Then your next packet will be accepted and delayed at > most expire_time. It might be. Why don't you try it ? I feel still the same about it: I think that experiment is the only way to test the idea. devik