最近防火墙在修改关于Netfilter中添加对ipv6的支持,脚本基本完成,接下来修改代码。
在修改过程中注册HOOK函数时,NF_IP6_FORWARD undeclared 网上搜了一下,
在2.6.22以及以后的内核中,NF_IP_PRE_ROUTING以及NF_IP6_PRE_ROUTING都被放在了用户态,而在内核态编程必须统一使用NF_INET_PRE_ROUTING。
具体在netfilter_ipv4.h源代码中可以看到, NF_IP_PRE_ROUTING的定义被放在了#ifndef __KERNERL__下。
解决:NF_INET_PRE_ROUTING替代NF_IP_PRE_ROUTING