cvs commit: src/sys/netinet ip_fw.h ip_fw2.c src/sbin/ipfw ipfw.8 ipfw2.c

Gleb Smirnoff glebius at
Thu May 25 00:18:04 PDT 2006

On Wed, May 24, 2006 at 04:20:27PM -0700, Luigi Rizzo wrote:
L> > I understand your rationale.  OTOH I think it's a logical blunder and allows
L> > some quite confusing rule sets.  What I always liked about ipfw was the simple
L> > and obvious logic in the statements.  Over time it becomes more and more over-
L> > loaded with more stuff and also more stuff breaking the beautiful simplicity
L> > and clarity the original ipfw design had.  ipfw rules used to read like normal
L> > sentences and were really simple to write and understand.  But then I'm just
L> > ranting...
L> It is probably true that most of the times, when you tag/untag a packet
L> you also need to do further processing on the packet. However, this means
L> that the associated action will be a 'skipto'. But in this case, if you want to
L> implement tag/untag as an action, the syntax becomes quite confusing because
L> you need to specify the jump target, and the action name (tag/untag) doesn't
L> properly reflect the fact that there is an implicit skipto.
L> Given this, i think the current implementation of tag/untag is the most
L> natural way to do it, and not too different from the "keep-state" option
L> (which also has some side effects, namely creates a state record for
L> the flow and has been in use for ages now)

My first impression was very like Andre's one, but after some rethinking
I had agreed with the current implementation. The argument about ALTQ (which
is actually a specific case of tag action) bought me.

Totus tuus, Glebius.

More information about the cvs-src mailing list