From owner-freebsd-pf@FreeBSD.ORG Thu Feb 8 00:08:40 2007 Return-Path: X-Original-To: freebsd-pf@freebsd.org Delivered-To: freebsd-pf@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B535116A402 for ; Thu, 8 Feb 2007 00:08:38 +0000 (UTC) (envelope-from marceloc@espoltel.net) Received: from jupiter.espoltel.net (jupiter.espoltel.net [200.49.242.4]) by mx1.freebsd.org (Postfix) with ESMTP id 7ACF013C48D for ; Thu, 8 Feb 2007 00:08:38 +0000 (UTC) (envelope-from marceloc@espoltel.net) Received: from localhost (localhost.espoltel.net [127.0.0.1]) by jupiter.espoltel.net (Postfix) with ESMTP id A6D5F2DB334 for ; Wed, 7 Feb 2007 18:51:42 -0500 (ECT) Received: from jupiter.espoltel.net ([127.0.0.1]) by localhost (jupiter.espoltel.net [127.0.0.1]) (amavisd-new, port 10024) with SMTP id 77182-03 for ; Wed, 7 Feb 2007 18:51:18 -0500 (ECT) Received: from [172.26.5.40] (unknown [69.65.149.194]) by jupiter.espoltel.net (Postfix) with ESMTP id AF57A2DB302 for ; Wed, 7 Feb 2007 18:51:18 -0500 (ECT) From: Marcelo Celleri To: freebsd-pf@freebsd.org Content-Type: text/plain; charset=UTF-8 Organization: ESPOLTEL Date: Wed, 07 Feb 2007 18:47:31 -0500 Message-Id: <1170892051.4715.32.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: by Amavis-new and ClamaV at ESPOLTEL Subject: Borrow in CBQ doesn't work X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: marceloc@espoltel.net List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Feb 2007 00:08:40 -0000 Hi everyone, I'm working with ALTQ, but I realize that the borrow option in cbq queues doesn't work at least like the manual says "A child class can borrow bandwidth from its parent class as long as excess bandwidth is available", I isolated 2 PC's (pc, laptop) and made some tests with this configuration: altq on $int_if bandwidth 100Mb cbq queue { vip, adm_fin, it_cac, test } queue vip bandwidth 50Mb cbq(default) queue test bandwidth 192Kb cbq { pc, laptop } queue pc bandwidth 128Kb cbq (borrow, ecn) queue laptop bandwidth 64Kb priority 7 cbq (borrow, ecn) queue adm_fin bandwidth 384Kb cbq queue it_cac bandwidth 512Kb cbq pass out quick on $int_if from any to 172.26.5.42 keep state queue laptop pass out quick on $int_if from any to 172.26.5.40 keep state queue pc The shaping was good, when this 2 machines were receiving traffic at the same time, pc got 128Kbps and laptop got 64Kbps, but I was expecting that when I turn off one of the PCs the other had all the bandwidth associated with the queue (192Kb) but the results wasn't what I wanted. =20 When I used only the "pc" the maximum bandwidth was 140Kbps, and with the laptop the maximum was 80Kbps, for worst, these weren't stables values, then I made some changes like taking off the ecn parameter or changing priorities, then I got more stable values but almost the same maximums. Then I test the hfsc queues, they work pretty well in these cases, but I wanted to change an altq configuration with a lot of queues and sub-queues and my server gave me this error: pfctl: DIOCADDALTQ: Cannot allocate memory. Apparently it was a lot work to process for my server :( I would like to find the way to making work this "borrow" option, please tell me if someone of you had the same problem or if my configuration it's wrong.=20 PD: here is my kernel config for ALTQ: options ALTQ options ALTQ_CBQ # Class Bases Queueing options ALTQ_RED # Random Early Detection options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler options ALTQ_PRIQ # Priority Queueing Thanks a Lot, =20 ---------------------------------- Marcelo C=C3=A9lleri M. Jefe IP ESPOLTEL S.A. PBX 593 04 2514477 Ext. 114 ----------------------------------