From owner-freebsd-ipfw@FreeBSD.ORG Sun Aug 10 22:11:36 2003 Return-Path: Delivered-To: freebsd-ipfw@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 00B7837B404 for ; Sun, 10 Aug 2003 22:11:36 -0700 (PDT) Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF09C43FBD for ; Sun, 10 Aug 2003 22:11:33 -0700 (PDT) (envelope-from rizzo@xorpc.icir.org) Received: from xorpc.icir.org (localhost [127.0.0.1]) by xorpc.icir.org (8.12.8p1/8.12.3) with ESMTP id h7B5BUkN032264; Sun, 10 Aug 2003 22:11:30 -0700 (PDT) (envelope-from rizzo@xorpc.icir.org) Received: (from rizzo@localhost) by xorpc.icir.org (8.12.8p1/8.12.3/Submit) id h7B5BTRO032263; Sun, 10 Aug 2003 22:11:29 -0700 (PDT) (envelope-from rizzo) Date: Sun, 10 Aug 2003 22:11:29 -0700 From: Luigi Rizzo To: jeremie le-hen Message-ID: <20030810221129.A32121@xorpc.icir.org> References: <20030810161049.GA26412@carpediem.epita.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20030810161049.GA26412@carpediem.epita.fr>; from le-hen_j@epita.fr on Sun, Aug 10, 2003 at 06:10:49PM +0200 cc: ipfw@freebsd.org Subject: Re: Packets going through multiple queues X-BeenThere: freebsd-ipfw@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: IPFW Technical Discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Aug 2003 05:11:36 -0000 On Sun, Aug 10, 2003 at 06:10:49PM +0200, jeremie le-hen wrote: ... ... > One tricky way to avoid the behavior would be to add "skipto" rules after > each "queue" rules, with exactly the same rule body, but this clearly adds > a great overhead. Furthermore, my real traffic prioritizing framework uses > 6 queues and number of rules, and adding "skipto" rules as I described here > is just a hard and time-wasting work. it is not a great overhead -- it is just one extra rule to check per packet, which is fast (there are direct pointers to the jump target). As for the 'hard and time-wasting work'... you just have to design your ruleset correctly. Basically what you want is switch () { case A: break; case B: break; ... case Z: break; } where the blocks in <> are ipfw instructions. Once you have designed your ruleset this way, it is really trivial to implement it in terms of conditional and unconditional jumps. cheers luigi > At this point, I wonder if I missed something in ipfw(8) syntax or if the > latter is simply not enough powerful to achieve this easily. > > Thanks for your advices. > Regards, > -- > Jeremie aka TtZ/TataZ > jeremie.le-hen@epita.fr > _______________________________________________ > freebsd-ipfw@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw > To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@freebsd.org"