网卡驱动的书写格式很简单
1.申请一个网卡设备结构体
2.设置这个结构体,硬件相关初始化
3.注册这个网卡设备
参考的韦东山老师的视屏,代码如下
#include <linux/module.h>
#include <linux/ioport.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/interrupt.h>
#include <linux/skbuff.h>
#include <linux/spinlock.h>
static struct net_device *v_ndev; //定义网卡设备
static int virtual_net_init(void)
{
/* 1.分配一个net_device结构 */
v_ndev = alloc_etherdev(0);
if(!v_ndev) {
printk("alloc_etherdev fail\n");
return -ENOMEM;
}
/* 2.设置v_ndev,设置硬件等 */
/* 3. 注册网卡设备 */
register_netdev(v_ndev);
return 0;
}
static void virtual_net_exit(void)
{
un