【华清远见10年特献】《Linux设备驱动开发详解》第16篇、 Linux网络设备驱动.pdf

【华清远见10年特献】《Linux设备驱动开发详解》第16篇、 Linux网络设备驱动.pdf

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《LINUX 设备驱动开发详解》 作者:华清远见 第16 章 Linux 网络设备驱动 专业始于专注 卓识源于远见 Linux 网络设备驱动的结构 Linux 网络设备驱动程序的体系结构如图16.1 所示,从上到下可以划分为4 层,依次为网络协议接口 层、网络设备接口层、提供实际功能的设备驱动功能层以及网络设备与媒介层,这4 层的作用如下所示。  网络协议接口层向网络层协议提供统一的数据包收发接口,不论上层协议为ARP 还是 IP,都通 过 dev_queue_xmit()函数发送数据,并通过netif_rx() 函数接收数据。这一层的存在使得上层协议 独立于具体的设备。  网络设备接口层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体 net_device ,该结构体是设备驱动功能层中各函数的容器。实际上,网络设备接口层从宏观上规划 了具体操作硬件的设备驱动功能层的结构。  设备驱动功能层各函数是网络设备接口层net_device 数据结构的具体成员,是驱使网络设备硬件 完成相应动作的程序,它通过hard_start_xmit() 函数启动发送操作,并通过网络设备上的中断触发 接收操作。  网络设备与媒介层是完成数据包发送和接收的物理实体,包括网络适配器和具体的传输媒介,网 络适配器被设备驱动功能层中的函数物理上驱动。对于Linux 系统而言,网络设备和媒介都可以 是虚拟的。 16.1 Linux 在设计具体的网络设备驱动程序时,

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档