Re: [PATCH 01/17] netfilter: add struct nf_proto_net for register l4proto sysctl
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: 2012-05-24 14:38:54
Also in:
netfilter-devel
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: 2012-05-24 14:38:54
Also in:
netfilter-devel
On Thu, May 24, 2012 at 06:54:42PM +0800, Gao feng wrote: [...]
quoted
quoted
quoted
I don't see why we need this new field. It seems to be set to 1 in each structure that has set: .ctl_compat_table to non-NULL. So, it's redundant. Moreover, you already know from the protocol tracker itself if you have to allocate the compat ctl table or not. In other words: You set compat to 1 for nf_conntrack_l4proto_generic. Then, you pass that compat value to generic_init_net via ->inet_net again, but this information (that determines if the compat has to be done or not) is already in the scope of the protocol tracker.because some protocols such l4proto_tcp6 and l4proto_tcp use the same init_net function. the l4proto_tcp6 doesn't need compat sysctl, so we should use this new field to identify if we should kmemdup compat_sysctl_table.Then, could you use two init_net functions? one for TCP for IPv4 and another for TCP for IPv6?Of cause, if you prefer to impletment it in this way.
If this removes the .compat field that you added, then use two init_net functions, yes.