了解首先接收比linux堆栈更多的数据包的linux驱动程序

时间:2014-09-24 02:25:11

标签: linux-kernel linux-device-driver

注册的netfilter挂钩可以从linux内核获取数据包。这里linux内核获取数据包,查找已注册的挂钩,并将数据包传递给它们。

一般流程如下: 1. NIC接收帧 2.将其放入DMA rx环中 3.内核的网络子系统从DMA rx环中获取它。

但是有没有办法在进入linux网络子系统之前获取数据包(可能是一个重要的术语,我的意图是首先获取数据包的内核网络代码)。也就是说,我的驱动程序应该在进入linux网络堆栈之前获取数据包。

我是一名学习者,并试图编写一段代码来处理内核中的数据包处理。

如果错误请纠正我的理解,并帮助我提供好的阅读指示。

1 个答案:

答案 0 :(得分:1)

只需修改网卡NIC卡驱动程序?是第一个获得ISR的人。你应该能够在那里过滤它。