从零开始之驱动发开、linux驱动(四十四、虚拟网卡驱动)
网卡驱动的书写格式很简单
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)
{unregister_netdev(v_ndev);free_netdev(v_ndev); /* free device structure */}module_init(virtual_net_init);
module_exit(virtual_net_exit);
当然这个代码,在2
从零开始之驱动发开、linux驱动(四十四、虚拟网卡驱动)相关推荐
- 【正点原子Linux连载】第四十四章 设备树下的LED驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- 韦东山 IMX6ULL和正点原子_「正点原子Linux连载」第四十四章设备树下的LED驱动实验...
1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南> 关注官方微信号公众号,获取更多资料:正点原子 上一章我们详细的讲解了设备树语法以及在驱 ...
- 第四十六讲 设备驱动kobject
第四十六讲 设备驱动 文章目录 第四十六讲 设备驱动 一.sysfs 1.发展 2.sysfs简介 3.kobject 4.kobj_type 二.设备驱动实验 1.代码 2.Makefile 3.实 ...
- 深入学习Linux摄像头(三)虚拟摄像头驱动分析
深入学习Linux摄像头系列 深入学习Linux摄像头(一)v4l2应用编程 深入学习Linux摄像头(二)v4l2驱动框架 深入学习Linux摄像头(三)虚拟摄像头驱动分析 深入学习Linux摄像头 ...
- linux 内核 网卡驱动 移植,linux内核移植步骤添加dm9000网卡驱动(设备树).docx
linux内核移植步骤添加dm9000网卡驱动(设备树).docx LINUX内核移植步骤2015年05月13日星期三上午1105往设备树中添加网卡驱动1.选平台,指定交叉编译工具链1.在MAKEFI ...
- Linux之虚拟网卡驱动
目录 一.网卡驱动程序框架 二.编写虚拟网卡驱动 2.1 测试直接注册net_device 2.2 提供发包函数 2.3 添加统计信息 2.4 构造假包ping通 一.网卡驱动程序框架 网卡驱动程序时 ...
- linux虚拟网卡驱动
之前的前两篇写w5500网卡驱动是我的思路有偏差,用的是一种取巧的方法,在linux的用户空间利用spidev直接进行w5500的设置与tcp连接,这只能叫做是一个w5500的应用程序驱动,虽然能达到 ...
- linux debian/ubuntu RTL8111/8168/8411网卡驱动怎么正确安装?
linux debian/ubuntu RTL8111/8168/8411网卡驱动怎么正确安装? 1.下载驱动 或者云盘链接 链接: https://pan.baidu.com/s/1B0USXWRp ...
- STM32驱动开发(二)--USB Device RNDIS虚拟网卡(USB2.0 基础概念讲解)
STM32驱动开发(二)–USB Device RNDIS虚拟网卡(USB2.0基础概念讲解) 一.简介 本文基于stm32 Rndis实例,github开源, 使用STM32F407单板.结合协 ...
- PCI设备驱动与虚拟网卡驱动源码分析
虚拟网卡驱动例程 #include<linux/module.h> #include<linux/sched.h> #include<linux/kernel.h> ...
最新文章
- Strict Mode (JavaScript)
- apache+php为什么不报错
- Secret Passwords CodeForces - 1263D(并查集)
- pyecharts添加文字_超燃的文字云效果,用Python就能轻松get!
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.2——使用Android Testing Support Library进行测试...
- python从入门到实践课后题_Python 从入门到实践 函数篇 8-6-8习题
- 中望CAD的引线标注格式怎么改_大神总结的CAD设计五个段位 快来看看你在哪个阶段...
- Xshell6及Xftp6的使用
- H5调用手机摄像头和相册更换头像
- matlab面板数据怎么求增长率的公式,增长率怎么计算公式(7个步骤详解)
- 1024happyCTF
- 第三方Banner制作轮播图的具体方法
- 科研难做,何不使用Nvivo?
- 计算机输入法在桌面显示不出来的,电脑桌面输入法不见了怎么办?
- [贴装专题] 基于halcon的最小二乘法计算吸嘴或机械轴旋转中心
- 电商互动消息如何进行架构演进?
- IPv6解决方案ND防攻击技术白皮书
- 《初级会计电算化应用教程(金蝶KIS专业版)》——1.2 会计电算化发展概况
- WPF优化DrawingContext.DrawLine
- DOM第一天作业--世纪佳缘登录框--pink老师