From owner-freebsd-ipfw@FreeBSD.ORG Mon May 26 16:57:30 2014 Return-Path: Delivered-To: freebsd-ipfw@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 68DF6EBE for ; Mon, 26 May 2014 16:57:30 +0000 (UTC) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.59.238]) by mx1.freebsd.org (Postfix) with ESMTP id 2B8CA2720 for ; Mon, 26 May 2014 16:57:29 +0000 (UTC) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id 1A9327300B; Mon, 26 May 2014 19:01:55 +0200 (CEST) Date: Mon, 26 May 2014 19:01:55 +0200 From: Luigi Rizzo To: Patrick Zwickl Subject: Re: Dummynet pipe cascades Message-ID: <20140526170155.GB40172@onelab2.iet.unipi.it> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-ipfw@freebsd.org X-BeenThere: freebsd-ipfw@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: IPFW Technical Discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 May 2014 16:57:30 -0000 On Fri, May 23, 2014 at 03:53:18PM +0200, Patrick Zwickl wrote: > Dear all, > > I am currently experimenting with ipfw dummynet features (coming rather from the netem tc corner; so being new to dummynet and apologise for these kind of questions) and was wondering how to syntactically achieve "build cascades of pipes? listed on [1]?s front page. Unfortunately, I could not find a minimal example for this in the documentation (or I missed the point). > > Background: I am currently looking for concepts allowing me to put some traffic into a pipe being followed by several queues, the scheduler and then reinserted into another pipe (optimally as clean as possible). So, basically, a cascade of pipes, optimally being able to consume from different other pipes or interfaces. From the statement in [1], I assume ipfw + dummynet could be the perfect playground for this, but from the syntax it was not clear to me how this is done. > > Any pointer to a minimal example or any reading recommendation would be highly appreciated (maybe I have been searching the wrong channels so far). Thanks in advance for reading and potentially commenting :) the trick to enable cascades is to set the sysctl variable net.inet.ip.fw.one_pass=0 (or equivalent in linux, /sys/modules/...) so that packets coming out from a pipe re-enter the firewall at the next rule. cheers luigi