关于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
在内核编程中遇到错误'NF_IP_PRE_ROUTING'undeclared时,通过替换为NF_INET_PRE_ROUTING来解决,因为从2.6.22版本开始NF_IP_PRE_ROUTING已被移至用户态。
1万+

被折叠的 条评论
为什么被折叠?



