From owner-freebsd-pf@FreeBSD.ORG Wed Feb 22 17:57:40 2006 Return-Path: X-Original-To: freebsd-pf@freebsd.org Delivered-To: freebsd-pf@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3CDFE16A420 for ; Wed, 22 Feb 2006 17:57:40 +0000 (GMT) (envelope-from jsimola@gmail.com) Received: from uproxy.gmail.com (uproxy.gmail.com [66.249.92.199]) by mx1.FreeBSD.org (Postfix) with ESMTP id 75ECC43D49 for ; Wed, 22 Feb 2006 17:57:28 +0000 (GMT) (envelope-from jsimola@gmail.com) Received: by uproxy.gmail.com with SMTP id m3so801703ugc for ; Wed, 22 Feb 2006 09:57:26 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=nUvHg+VunceJv8cC1TNV3C1brQGMj9/fCE/ntcC0wKCF3dghxjzhTDa8IHg7GQHzGDZrwWDtE7Vrps/rLuWTiOg5cS9ivWa1gyNBGhuyUtdvHhD5pgSgKscUpQUhrc458kFnwwpeqB6JYS3iKYKTDy3pIUq9T01JNnRPZgGaFMs= Received: by 10.66.250.9 with SMTP id x9mr3248440ugh; Wed, 22 Feb 2006 09:57:26 -0800 (PST) Received: by 10.66.223.20 with HTTP; Wed, 22 Feb 2006 09:57:26 -0800 (PST) Message-ID: <8eea04080602220957v46f9d11ev2544e8cbe893365d@mail.gmail.com> Date: Wed, 22 Feb 2006 09:57:26 -0800 From: "Jon Simola" Sender: jsimola@gmail.com To: "Christopher McGee" In-Reply-To: <43FC9F63.5070009@xecu.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <43FC9F63.5070009@xecu.net> Cc: freebsd-pf@freebsd.org Subject: Re: Hfsc configuration problems X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list 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: Wed, 22 Feb 2006 17:57:40 -0000 On 2/22/06, Christopher McGee wrote: > I've been trying to get hfsc working properly, but I'm obviously doing > something wrong because I keep getting errors like this: > > pfctl: link-sharing sc exceeds parent's sc Yeah, the percentages in link-sharing are calculated against the physical interface, but bandwidth is against the parent queue (usually). Here's my working sample, which does not make any great sense either. I had just started playing with upperlimit, which should be settable on multiple queues. # backbone queueing altq on em0 hfsc bandwidth 100Mb queue { q_em0_high, q_em0_high_bulk, q_em0_med, q_em0_med_bulk, q_em0_low, q_em0_low_bulk } queue q_em0_high bandwidth 10% hfsc(linkshare 1%) priority 7 queue q_em0_high_bulk bandwidth 40% hfsc(linkshare 4%) priority 6 queue q_em0_med bandwidth 10% hfsc(linkshare 1%) priority 5 queue q_em0_med_bulk bandwidth 20% hfsc(linkshare 2%) priority 4 queue q_em0_low bandwidth 10% hfsc(linkshare 1%) priority 1 queue q_em0_low_bulk bandwidth 10% hfsc(linkshare 1% default) priority 0 # vlan trunk queueing altq on em1 hfsc(ecn upperlimit 500Mb) queue { q_cust, q_dmz } queue q_cust hfsc(ecn realtime 2Mb upperlimit 40Mb ) \ { q_cust_h, q_cust_hb, q_cust_m, q_cust_mb, q_cust_l, q_cust_lb } queue q_cust_h bandwidth 10% hfsc(linkshare 1%) priority 5 queue q_cust_hb bandwidth 40% hfsc(linkshare 4%) priority 4 queue q_cust_m bandwidth 10% hfsc(linkshare 1%) priority 4 queue q_cust_mb bandwidth 20% hfsc(linkshare 2%) priority 2 queue q_cust_l bandwidth 10% hfsc(linkshare 1%) priority 1 queue q_cust_lb bandwidth 5% hfsc(linkshare 1% default) priority 0 queue q_dmz hfsc(ecn realtime 50Mb upperlimit 90Mb) \ { q_dmz_h, q_dmz_hb, q_dmz_l, q_dmz_lb } queue q_dmz_h bandwidth 10% hfsc(linkshare 5%) priority 7 queue q_dmz_hb bandwidth 40% hfsc(linkshare 10%) priority 4 queue q_dmz_l bandwidth 10% hfsc(linkshare 2%) priority 3 queue q_dmz_lb bandwidth 20% hfsc(linkshare 5% ) priority 0 > Here's my current configuration: > > altq on $ext_if bandwidth 100Mb hfsc queue { queue1, queue2, queue3 } > queue queue1 bandwidth 500Kb priority 7 hfsc(realtime 128Kb red) > queue queue2 { queue2_1, queue2_2, queue2_3, queue2_4, queue2_5 } > queue queue2_1 priority 5 hfsc(realtime 3Mb linkshare 100% default red) > queue queue2_2 bandwidth 1.5Mb priority 3 hfsc(red) > queue queue2_3 bandwidth 1Mb hfsc(red) > queue queue2_4 bandwidth 4Mb hfsc(red) > queue queue2_5 priority 3 hfsc(linkshare 100% red) > queue queue3 { queue3_1, queue3_2 } > queue queue3_1 hfsc(linkshare 100% red) > queue queue3_2 hfsc(linkshare 100% red) > > I've given some minimum bandwidth to queues. I want queue2_1, 2_5, 3_1, > 3_2 to be able to utilize all of the spare bandwidth when they need it. > I've read over the man pages, however, documentation on hfsc seems > fairly limited. > > Chris > _______________________________________________ > freebsd-pf@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-pf > To unsubscribe, send any mail to "freebsd-pf-unsubscribe@freebsd.org" > -- Jon Simola Systems Administrator ABC Communications