The pools used in IPFilter 4 for selecting a rule group for
further processing are hash pools. This means that the there
can be no overlaps between the various IP address blocks
specified in the group-map. *This* means that it is not as
powerful as would have been the case if they were tree pools.
More specifically: it is not possible to specify that
processing should continue with a rule group for an IP range
with a hole.

One particular case is to specify default processing. The
ability to specify 0.0.0.0/0 (with holes!) would have been
one way of doing it. As things stand there are a number of
other possibilities which lead to questions:
 1) if a group-map has a default rule group, is this taken
    as a default if there is no match, or is it simply a
    shorthand for use when defining the pool?
 2) is it possible to do a simple membership test on the
    contents of a group-map pool as if it were a table pool
    before using the "call" rule to actually switch to the
    group selected in the group-map?

Obviously, the second "solution" could be used with two pools:
one a group-map pool and the other a table pool; however this
leads to two pools that could get out-of-step when being
updated and in any case is a duplication of data the is best
avoided if practical.

It would certainly be helpful if the *intended* behaviour in
this area could be documented for clarity in the future.

-- 
        David Pick

Reply via email to