RED can get stuck dropping all packets

kp13 at gmx.co.uk kp13 at gmx.co.uk
Mon Oct 8 16:06:57 EDT 2001


Hi,

I have been playing around with the RED element and it seems to be possible
to make it get stuck in a state where it drops all packets. 

My setup is basically:

RED ( 1, 30, 0.05 ) -> Queue ( 200 ) -> BandwidthShaper ( 25000 ) ->
ToDevice ( eth )

To generate traffic I use a handfull of telnet sessions connected to a
character generator through the router. 

To test RED, I change its parameters, slowly decreasing the Max Threshold
downwards. When I get down to around 5 the algorithm will often get stuck in a
state where it drops all packets logging that the queue length is above Max
Threshold. It stays like this even after the Queue element empties. The only
way to then get out of this state is to increase Max Threshold up above a
certain value. 

I had a quick look at the code, and seen from RED, it seems the problem is
in RED::should_drop. When queue_size() returns 0, there seems to be a time
based algorithm responsible for updating _size. However, this algorithm does not
seem to actually change the value. 

Regards,

Geir.

PS: It would be nice if there was a way to reconfigure BandwidthShaper() on
the fly. 


-- 
Sent through GMX FreeMail - http://www.gmx.net




More information about the click mailing list