【发布时间】:2013-01-14 13:54:55
【问题描述】:
到目前为止,我只在设备驱动程序中使用了文件操作结构。 使用系统调用 open & read , write 。
如何使用 net_device_ops 打开设备驱动和传输数据? 网上是否有用户程序与之交互的参考示例?
【问题讨论】:
到目前为止,我只在设备驱动程序中使用了文件操作结构。 使用系统调用 open & read , write 。
如何使用 net_device_ops 打开设备驱动和传输数据? 网上是否有用户程序与之交互的参考示例?
【问题讨论】:
我不确定我是否理解这个问题,所以如果我的回答没有意义,请告诉我。
我看到您已经为 .ndo_open、.ndo_stop 和 .ndo_start_xmit 定义了函数。当您使用ifconfig up 配置接口或使用ifconfig 为接口分配地址时,内核会调用.ndo_open。当您删除模块或使用ifconfig down 关闭接口时,内核会调用.ndo_stop。
ifconfig 在这里描述:http://linux.die.net/man/8/ifconfig
.ndo_start_xmit 在使用套接字传输数据包时由内核网络堆栈调用。因此,要使用.ndo_start_xmit 传输数据,您需要创建一个套接字,分配适当的目标地址,然后通过套接字发送数据。如果您使用 IP,可以使用一些工具轻松发送数据包,例如 netperf 或 iperf。
【讨论】: