Re: [resend] Passive OS fingerprint xtables match.
From: Jan Engelhardt <hidden>
Date: 2009-06-04 13:30:28
Also in:
netfilter-devel
From: Jan Engelhardt <hidden>
Date: 2009-06-04 13:30:28
Also in:
netfilter-devel
On Thursday 2009-06-04 15:16, Patrick McHardy wrote:
Evgeniy Polyakov wrote:quoted
On Thu, Jun 04, 2009 at 02:11:24PM +0200, Patrick McHardy (kaber@trash.net) wrote:quoted
Thats not what I meant. struct xt_match_param is passed to the ->match() callbacks from *t_do_table(). This is where you can add the real hook number to have it available in ->match(). (Forgot to mention earlier: please in a seperate patch and adjusting all *tables copies)Kind of this (for ipv4 only so far, also reorderd a field to fill the gap):Exactly. But please verify that by reordering, you're not moving the more commonly used members out of the first cacheline.
I am not sure the struct was ordered for optimized cacheline performance beforehand either. * par->in, par->out is only rarely used (think of xt_physdev, besides ipt_do_table itself); * par->match similarly (xt_hashlimit) * par->matchinfo, though showing more grep results, is usually copied to the stack by means of struct foo_target_info *info = par->matchinfo; etc.