关于NF_IP_PRE_ROUTING

来源:互联网 发布:函数式编程思想 编辑:程序博客网 时间:2024/05/18 12:01

关于NF_IP_PRE_ROUTING

问题:在内核编程中(2.6.25.17)中使用NF_IP_PRE_ROUTING,出现错误“'NF_IP_PRE_ROUTING' undeclared (first use in this function)”,而代码里面已经包含了netfilter_ipv4.h。

原因:在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