linux网络驱动程序--- net_device_ops

时间:2013-01-14 13:54:55

标签: linux linux-device-driver

到目前为止,我只在设备驱动程序中使用了文件操作结构。 使用系统调用open&读,写。

如何打开设备驱动程序&使用net_device_ops传输数据? 网上是否有参考示例供用户程序与之交互?

http://lnxpps.de/rpie/mcp2515_mod.c

1 个答案:

答案 0 :(得分:3)

我不确定我是否理解这个问题,所以如果我的答案没有意义,请告诉我。

我发现您已为.ndo_open.ndo_stop.ndo_start_xmit定义了函数。当您使用.ndo_open配置接口或使用ifconfig为接口分配地址时,内核会调用ifconfig up。当您删除模块或使用.ndo_stop关闭接口时,内核会调用ifconfig down

ifconfig在此处描述:http://linux.die.net/man/8/ifconfig

当使用套接字传输数据包时,内核网络堆栈会调用

.ndo_start_xmit。因此,要使用.ndo_start_xmit传输数据,您需要创建套接字,分配适当的目标地址,并通过套接字发送数据。如果你正在使用IP,你可以使用一些工具轻松发送数据包,例如netperf或iperf。