为什么(okfn)函数在IP_PRE_ROUTE钩子的处理函数中是reqiuerd

时间:2014-07-31 09:53:00

标签: c module hook

static unsigned int pkt_enter(unsigned int hooknum,
                    struct sk_buff *skb,
                    const struct net_device *in,
                    const struct net_device *out,
                    int (*okfn)(struct sk_buff *))

以上是网络钩子模块的函数处理程序声明,它使用NF_INET_PRE_ROUTING钩子来捕获数据。我不明白为什么我们需要最后一个参数(* okfn)函数指针。

请任何人告诉我需要此参数的情况。

1 个答案:

答案 0 :(得分:0)

The Net Filter Facility

  

即使钩子传递了指向“okfn”的典型钩子   永远不会调用它,因为这会阻止其他钩子   检查数据包。 OK函数通常由   所有挂钩处理完数据包后的netfilter代码。

但请看这篇简短thread