vxworks底层协议栈初始化[整理].pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
VxWorks网络设备的加载及协议栈初始化分类 在VxWorks操作系统中,为了能够兼容更多的网络设备和网络协议,VxWorks操作系统专门在网络设备驱动程序和网络协议层之间增加了MUX接口层。MUX层位于数据链路层和网络协议层之间,它提供协议和设备的衔接,管理着网络协议接口和底层设备驱动之间的通信。 MUX层的加入有效隔离了网络设备驱动程序和协议层协议,MUX层的统一标准接口屏蔽了底层网络设备的差异性和上层网络组件的特殊性,降低了网络设备的增加和网络组件的扩展的复杂度。 MUX层支持两种网络设备驱动程序:END(Enhanced Network Driver)和NPT(Network Protocol Toolkit)。这两种网络设备驱动程序的大体结构相似,与MUX接口也几乎相同,MUX装载两者的方式也相同。不同的是,END模型基于帧(frame)传递数据,NPT模型基于包(packet)传递数据。在这里,帧和包的区别在于,帧包含了网络传输的全部数据,也就是数据包和MAC地址等链路层数据;而包仅仅包括数据包,不包括链路层信息。 END模型是VxWorks推荐的实现方式,它提供了一个统一的接口来访问不同的网络设备驱动程序。END_OBJ是END模型的数据结构,它定义了网络设备驱动程序的接口,包括receiveRtn、pSnarf、pTyped、pPromisc、pStop、nProtoSlots、endStyle、attached、txSem、flags、pFuncTable、mib2Tbl、multiList、nMulti、outputFilter和pNetPool等成员变量。 END_OBJ数据结构的成员变量中,receiveRtn是一个MUX routine,用于接收数据的回调函数;pSnarf、pTyped和pPromisc分别是三个不同的协议入口点;pStop是协议表的结束标志;nProtoSlots是协议表的大小;endStyle是设备驱动程序的类型,例如END、NPT、MULTI等;attached是一个布尔标志,表示设备是否已经连接;txSem是一个信号量,用于控制数据传输的同步;flags是一个标志位,用于存储设备驱动程序的状态;pFuncTable是一个函数表,提供了设备驱动程序的操作函数;mib2Tbl是一个MIB II计数器表,用于存储网络设备的统计信息;multiList是一个多播地址列表,用于存储多播地址;nMulti是多播地址列表的大小;outputFilter是一个可选的输出过滤器,用于过滤输出数据;pNetPool是一个内存pool,用于存储MUX缓存数据。 VxWorks网络设备的加载及协议栈初始化分类是VxWorks操作系统的核心组件之一,它提供了一个统一的接口来访问不同的网络设备驱动程序,降低了网络设备的增加和网络组件的扩展的复杂度。
- 粉丝: 7
- 资源: 14万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助