I'm think to port ipfw to a multi-core platform with two 10GbE interface. Before that it's better to know the performance others already know, like the network bandwidth already tested and how many rules used so I can make some estimation.
Like most other rule-based firewall, ipfw scan rules linearly, thus its performance will drop with rule number increased. I'll be appreciated if some one tell me usually how many rules will be used in real-life firewall.
And another question, is there any other way to design a firewall other than that? I thought maybe we can expand all the rules to generate address pairs and only associate the lowest rule number which use that address pair and use hash to organize and search. Maybe it will speed-up match will a lot of rules used, but for some address like Class-A network, it will generate too many address pairs and make it unusable.
Like most other rule-based firewall, ipfw scan rules linearly, thus its performance will drop with rule number increased. I'll be appreciated if some one tell me usually how many rules will be used in real-life firewall.
And another question, is there any other way to design a firewall other than that? I thought maybe we can expand all the rules to generate address pairs and only associate the lowest rule number which use that address pair and use hash to organize and search. Maybe it will speed-up match will a lot of rules used, but for some address like Class-A network, it will generate too many address pairs and make it unusable.