Linux操作系统原理—内核网络协议栈( 六 )
/* Initialize the rest of the 8390 device structure. */ int ethdev_init(struct device *dev) { if (ei_debug > 1) printk(version); if (dev->priv == NULL) { //申请私有空间 struct ei_device *ei_local; //8390 网卡设备的结构体 dev->priv = kmalloc(sizeof(struct ei_device), GFP_KERNEL); //申请内核内存空间 memset(dev->priv, 0, sizeof(struct ei_device)); ei_local = (struct ei_device *)dev->priv; #ifndef NO_PINGPONG ei_local->pingpong = 1; #endif } /* The open call may be overridden by the card-specific code. */ if (dev->open == NULL) dev->open = &ei_open; // 设备的打开函数 /* We should have a dev->stop entry also. */ dev->hard_start_xmit = &ei_start_xmit; // 设备的发送函数 , 定义在 8390.c 中 dev->get_stats = get_stats; #ifdef HAVE_MULTICAST dev->set_multicast_list = &set_multicast_list; #endif ether_setup(dev); return 0; } UDP 的收发包流程总览
本文插图
内核中断收包流程
本文插图
UDP 收包流程
本文插图
UDP 发包流程
本文插图
【Linux操作系统原理—内核网络协议栈】
- Windows|New Windows 11操作系统壁纸灵感来源,新的视角,一个新的时代
- 操作系统|如何从一个静态库中访问当前模块的实例句柄
- Windows11|win11操作系统与win10:差距无法接受
- 操作系统|全新手机操作系统ocean遭曝光:支持应用小窗,采用双系统设计
- 核聚变|核聚变的原理是什么?一次可以产生多少能量、掌握后的前景有多大
- 抗衰老|干细胞美容防衰原理,中科西部细胞研究院
- 显卡|鸿蒙OS靠边站,中兴百分百自研操作系统,电脑和高铁都已经用上了
- 操作系统|新款笔记本电脑的操作系统“装不上”怎么回事?拿走不谢
- 操作系统|国内三大操作系统:UOS统一操作系统,银河麒麟,鸿蒙系统
- 操作系统|为什么说我们现在能做好操作系统
