Pipe queues

rihad rihad at mail.ru
Wed Dec 12 04:13:00 PST 2007


Chuck Swiger wrote:
> On Dec 10, 2007, at 11:35 PM, rihad wrote:
>> This ipfw manpage section was the reason I asked (sorry for the 
>> formatting). What's with the "queuing delay" part? I'm totally confused.
>>
>>     queue {slots | sizeKbytes}
>>           Queue size, in slots or KBytes.  Default value is 50 slots, 
>> which
>>           is the typical queue size for Ethernet devices.  Note that 
>> for slow
>>           speed links you should keep the queue size short or your 
>> traffic
>>           might be affected by a significant queueing delay.  E.g., 50 
>> max-
>>           sized ethernet packets (1500 bytes) mean 600Kbit or 20s of 
>> queue on
>>           a 30Kbit/s pipe.  Even worse effects can result if you get 
>> packets
>>           from an interface with a much larger MTU, e.g. the loopback 
>> inter-
>>           face with its 16KB packets.
> 
> The issue is that if you have a really slow upstream link, you can end 
> up queuing many seconds worth of traffic using the default queue size-- 
> depending on the priorities, you might have traffic being buffers so 
> long that it starts breaking connections or causing needless TCP retries...
> 
Oh, now I get it, thanks! Perhaps the authors should have stated it 
clearly that instead of queuing packets for too long you'd better drop 
them, otherwise upper-layer retransmissions might cause multiple copies 
of a packet to arrive at the client and cause errors (would they?). This 
may be clear to networking people but it isn't so clear to someone like 
me trying to figure out what's going on. Now I know what technical 
documentation is all about :)



More information about the freebsd-net mailing list