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