netfilter的初始化 netfilter_init 由 sock_init 函数中调用。
初始化比较简单,就是初始化化pernet数据 net->nf.hooks,proc文件系统接口等。
HOOK
struct nf_hook_ops {
struct list_head list;
/* User fills in from here down. */
nf_hookfn *hook;
struct net_device *dev;
void *priv;
u_int8_t pf;
unsigned int hooknum;
/* Hooks are ordered in ascending priority. */
int priority;
}
每个hook必须包含以下内容:
1.hook函数
2.协议族
3.hook点
4.优先级
hook函数没啥说的就是匹配函数。
协议族包括,inet、ipv4、arp、netdev、bridge、ipv6、d