如何更改网络设备操作表的安全性?

时间:2016-11-24 10:53:48

标签: linux concurrency network-programming kernel-module

在Linux中,网络设备由struct net_device提供。这个结构的一个字段是指向struct net_device_ops的指针,它表示网络设备操作表。

我正在编写内核模块,它是网络数据包过滤器。 我怎样才能安全地替换那些表(我害怕并发)?

1 个答案:

答案 0 :(得分:0)

我非常同意乔尔的回答。您最好尝试使用内核netfiler API来过滤流量。 netfilter API在Linux内核网络堆栈中沿着数据包遍历的各个点提供五个挂钩,您需要找出注册将执行所需过滤的callack所需的一个。有时需要多个钩子。网上有关于它的文档。