On Sat, Jan 29, 2011 at 06:26:29PM +0100, Henning Brauer wrote:
> * Ted Unangst <ted.unan...@gmail.com> [2011-01-29 17:36]:
> > On Sat, Jan 29, 2011 at 5:37 AM, Henning Brauer <lists-open...@bsws.de>
> > wrote:
> > > no, that's wrong. match rules that matched during evaluation get their
> > > counters updated. aka, your rule did not match.
> > 
> > ok, that's wrong. :)
> > 
> > Somebody else told me to add a "pass all" rule at the top of the rule
> > set.  Then it did work.  But pass all is the default.  Somehow adding
> > it explicitly changes the behavior of match rules.  I know the rule
> > matches because it does so after adding pass all.
> 
> ok, we get into semantic nitpicking...
> there is no default "pass all" rule.
> packets are being passed by default.
> that is an important difference - no state is ever created for those
> packets being passed since they didn't match a pass rule.
> now i wonder wether we fail to update the counters on match rules for
> the !state case... and the more i think about it the more i think that
> is the case.
> yup, indeed.
> not trivial to fix. the state is the link to the match rules.
> 
> a change on one of my laptops (now if i knew which...) is likely to
> fix that as a side effect, but it has some bad bugs. no way it makes
> 4.9. and a fix for this issue would be either intrusive or very ugly
> (and still not trivial), thus not a viable option either. live with it
> for now.
> 
> did i mention that stateless is pretty dumb anyway? :)
> 

is this correct:

- match rules will not work if "no state" is also used on the rule (not
  sure that would make sense anyway)

- all packets are passed by default, but effectively with "no state"

- "no state" is incompatible with counters

- any packets passed without matching any rules (i.e. are not
  specifically blocked) are not accounted for (statistically)

that seems like a whole heap of gotchas that we don;t talk about. i
think we should try and document this stuff.

jmc

Reply via email to