ipfw rule processing optimization and high level language

Tatsiana Elavaya t.elavaya at gmail.com
Sun Jun 7 15:15:05 UTC 2009


Hi,

During first two weeks I've add rule alias into ipfw and working on
rule processing optimization. There is no rule optimization support in
kernel yet.

Addition of rule aliases resulted in API incompatibility, alias field
was added to struct ip_fw. I'm going fix it shortly by using special
ipfw instruction. Besides it seems I've spent to much time trying to
fix a note bene from ipfw header: "in a couple of places we assume
that sizeof(ipfw_insn) == sizeof(u_int32_t) this needs to be fixed".
Actually there are just a few places where we do not assume that :)
But it helped in finding a better way to store optimization data:
instead of adding a field into ipfw_insn use separate instruction. So
it would be possible not to break compatibility, and keep kernel
changes at minimum. I'm also going change my code to use lists
implementation from sys/queue.h next week.


More information about the soc-status mailing list