向netfilter框架注册钩子的问题

我想写一个可以动态加载与卸载的模块,可以向下面的代码所示,在模块中注册了两个钩子函数:
int init_module()
{
*/初始化钩子函数填充hook数据结构*/
nf_hook.hook=nfkiller;
nf_hook.Pf=PF_INET;
nf_hookk.hooknum=NF_IP_FORWARD;//使用Ipv4的第一个hook
nf_hook.prioriyt=NF_IP_FIRST;//让添加的函数首先执行


cf_hook.hook=cfkiller;
cf_hook.Pf=PF_INET;
cf_hookk.hooknum=NF_IP_FORWARD;//使用Ipv4的第一个hook
cf_hook.prioriyt=NF_IP_FIRST;//让添加的函数首先执行

nf_register_hook(&nf_hook);//注册钩子函数
nf_register_hook(&cf_hook);

return 0;
}

请问可以这样在一个模块中注册2个或者2个以上的钩子函数吗?可以的话,那数据包在经过forward点时,这两个钩子函数的执行顺序是怎样的?

作者: onlyff608   发布时间: 2011-03-01

可以的,一次性注册更多的都可以

作者: Godbach   发布时间: 2011-03-01