基于ACR/Tbit路由器的硬件抽象层的通用性软件结构设计
时间:09-15
来源:互联网
点击:
户空间与内核空间的数据交互。
在内核中维护一个由各注册设备名称所组成的动态链表,每个链表节点维护一个收发报文的数据队列,虚拟驱动与其他模块的数据交互都通过该链表进行。接收报文过程:内部通信模块将从接口单元接收的报文通过ioctl()调用传给虚拟驱动。该函数通过struct net_device *dev结构找到对应的虚拟设备的dev_ioctl()功能函数,调用memcpy_fromfs()将数据拷贝至内核空间,经过处理后通过netif_rx()函数通知上层协议有数据传入。发送报文过程:虚拟驱动将从上层软件取出的数据放至自身维护的通过虚拟接口设备名称维护的数据队列中,内部通信模块通过ioctl()论询各接口设备数据队列是否有数据可读,如果有数据,虚拟驱动通过memcpy_tofs()调用将数据拷贝至用户空间提供的缓冲区中。
文中针对大规模用户接入方式的特性,讨论了一种基于ACR/Tbit路由器的硬件抽象层的通用性软件结构设计及实现方式,并研究了其关键技术,包括基于UDP传输方式的内部通信的可靠性实现及基于多用户的动态模块加载技术,适用于路由器承载业务量的扩展和多用户接入特性,并且在上层软件实现中,基本上可以不考虑底层硬件细节,增强了路由器的开放性及可扩展性。
通用性 软件 结构设计 抽象 硬件 ACR Tbit 路由器 基于 相关文章:
- 绿色通信的基站体系结构设计(04-18)
- Octasic公布世界首款基于全软件无线电GSM/EDGE无线基站基带解决方案(05-05)
- 各大仿真软件介绍(包括算法,原理)(09-08)
- Microwave Office射频、微波设计软件介绍(05-19)
- Amperes: 三维的静磁设计软件(08-18)
- 基于AWR软件的NFC天线系统设计(01-23)