[Click] Queue overflow bug?
Ian Rose
ianrose at eecs.harvard.edu
Wed May 5 14:07:00 EDT 2010
Hi -
I think I have found a bug in the Queue element, although this would
surprise me considering how often this element is used by people...
line 126 of fullnotequeue.hh (in the push_failure method) kills the
packet regardless instead of calling "checked_output_push(1, p)" like
the other queue implementations do (e.g. line 165 of simpleeueue.cc).
Am I missing something?
- Ian
Here is a config that demonstrates the problem (sorry about the
weirdness with the Unqueue elements - I'm not sure if there is a simpler
way to make this happen):
InfiniteSource(\<0800>, LIMIT 20) -> Unqueue -> q::Queue(10) ->
Unqueue(ACTIVE false) -> Discard;
q[1] -> Script(TYPE PACKET, print "I see a drop", return 0) -> Discard;
If you run this you should ONLY see "q :: Queue: overflow", but if you
change q to a SimpleQueue instead, then you should see:
q :: SimpleQueue: overflow
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
I see a drop
More information about the click
mailing list