From owner-freebsd-net@FreeBSD.ORG Tue Dec 11 07:37:44 2007 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 01BBE16A417 for ; Tue, 11 Dec 2007 07:37:44 +0000 (UTC) (envelope-from rihad@mail.ru) Received: from mx39.mail.ru (mx39.mail.ru [194.67.23.35]) by mx1.freebsd.org (Postfix) with ESMTP id B65DB13C4F3 for ; Tue, 11 Dec 2007 07:37:43 +0000 (UTC) (envelope-from rihad@mail.ru) Received: from [217.25.20.94] (port=8456 helo=[217.25.20.94]) by mx39.mail.ru with esmtp id 1J1zgS-000GoP-00; Tue, 11 Dec 2007 10:37:41 +0300 Message-ID: <475E3E1E.2090305@mail.ru> Date: Tue, 11 Dec 2007 11:37:02 +0400 From: rihad User-Agent: Icedove 1.5.0.14pre (X11/20071018) MIME-Version: 1.0 To: Chuck Swiger References: <475D6FD7.2000500@mail.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: Pipe queues X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Dec 2007 07:37:44 -0000 Chuck Swiger wrote: > On Dec 10, 2007, at 8:56 AM, rihad wrote: >> Hi, >> >> I'm having a hard time to understand what pipe queues are with respect >> to bandwidth limitation. ipfw(8) and dummynet(4) manuals didn't help >> me much. > > Pipes and queues are two different things; a pipe simulates a network > link, and a queue is used to hold packets which are backlogged because > they are arriving faster than the outbound link (ie, a pipe) can > transmit them. > So you mean queues are only used on the sending side? (the box is acting as a router) and that their purpose is to diminish packet loss rate due to network congestion? Now I get it, thanks. >> What if I set it to 10000 slots, why should it wait to fill the queue >> before starting to send stuff out the network interface? > > Well, it *doesn't* wait for the queue to be filled before starting to > send stuff out the network. > 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.