Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Aug 2003 22:11:29 -0700
From:      Luigi Rizzo <rizzo@icir.org>
To:        jeremie le-hen <le-hen_j@epita.fr>
Cc:        ipfw@freebsd.org
Subject:   Re: Packets going through multiple queues
Message-ID:  <20030810221129.A32121@xorpc.icir.org>
In-Reply-To: <20030810161049.GA26412@carpediem.epita.fr>; from le-hen_j@epita.fr on Sun, Aug 10, 2003 at 06:10:49PM +0200
References:  <20030810161049.GA26412@carpediem.epita.fr>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Sun, Aug 10, 2003 at 06:10:49PM +0200, jeremie le-hen wrote:
...
<example about using net.inet.ip.fw.one_pass=0>
...
> 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

	<foo>
	switch (<some field in the packet>) {
	case A:
		<aaa>
		break;
	case B:
		<bbb>
		break;
	...
	case Z:
		<zzz>
		break;
	}
	<bar>

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"



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20030810221129.A32121>