System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种网卡设备仿真系统、方法、电子设备及存储介质技术方案_技高网

一种网卡设备仿真系统、方法、电子设备及存储介质技术方案

技术编号:41235490 阅读:2 留言:0更新日期:2024-05-09 23:49
本申请公开了一种网卡设备仿真系统,其至少包括前端仿真模块和后端仿真模块,两者通过进程间通信模块进行通信;其中:所述前端仿真模块,用于仿真网卡设备的前端功能,实现与网卡设备的前端驱动程序之间的交互;后端仿真模块,用于仿真网卡设备的后端功能;所述进程间通信模块,用于前端仿真模块与后端仿真模块之间进行数据交互。本申请还公开了相应的方法、电子设备及存储介质。实施本申请,可以快速地对网卡设备的前后端进行仿真,提高了对网卡设备的硬件方案验证的可行性和准确性。

【技术实现步骤摘要】

本申请涉及网卡仿真实现,特别是涉及一种网卡设备仿真系统、方法、电子设备及存储介质


技术介绍

1、在现有技术中,对当前的一些常规网卡设备进行仿真时,会把该网卡设备作为全虚拟化设备,由一些设备仿真模拟器(如qemu、xen等)使用软件对设备进行直接模拟,对驱动程序提供和真实硬件一样的寄存器接口,主机(host)中的操作系统不需要修改或新增驱动程序就可以直接使用,并且这些设备的内部处理逻辑也可以直接由设备仿真器中的软件实现。

2、尽管设备仿真器可以模拟硬件设备的外部行为,但在模拟内部处理逻辑方面会存在一些不足之处。例如,真实的网卡设备内部通常包含mcu(微控制器)处理器,用于处理数据包转发、队列管理等核心功能。

3、在当前的设备仿真技术中,这些内部逻辑处理往往仅由仿真器的软件实现,而缺少对mcu处理器和网卡内部核心组件的仿真。这导致仿真设备与真实设备在内部行为上存在诸多差异,从而可能导致一些功能限制、性能瓶颈或兼容性问题,例如:由于缺少对内部逻辑的处理,仿真设备可能在某些功能上与真实设备存在差异,这可能导致在仿真环境中运行的应用程序或操作系统出现意外的行为;由于仿真设备在内部处理上的不足,可能导致在处理大量数据或执行复杂任务时出现性能瓶颈;如果仿真设备与真实设备在行为上存在差异,那么为真实设备编写的驱动程序或应用程序可能无法在仿真设备上正常运行。


技术实现思路

1、本申请所要解决的技术问题在于,提供一种网卡设备仿真系统、方法、电子设备及存储介质,可以快速地对网卡设备的前后端进行仿真,提高了对网卡设备的硬件方案验证的可行性和准确性。

2、作为本申请的一方面,提供一种网卡设备仿真系统,其至少包括前端仿真模块和后端仿真模块,两者通过进程间通信模块进行通信;其中:

3、所述前端仿真模块,用于仿真网卡设备的前端功能,至少包括:用于对仿真网卡设备进行访问时,截获其寄存器中的内容,并发送给后端仿真模块;并用于接收来自后端仿真模块的反馈数据,以及接收后端仿真模块的内存读写请求;

4、后端仿真模块,用于仿真网卡设备的后端功能,至少包括:用于接收来自前端仿真模块的寄存器的内容,组成tlp报文数据;并用于向前端仿真模块反馈数据,以及发起对前端仿真模块的内存读写请求;

5、所述进程间通信模块,用于前端仿真模块与后端仿真模块之间进行数据交互。

6、其中,所述前端仿真模块进一步设置有操作系统、虚拟网卡设备以及系统存储器,在所述虚拟网卡设备中设置有bar寄存器;所述进程间通信模块为unix socket;

7、其中,在对仿真网卡设备进行访问时,前端仿真模块截获对bar寄存器的访问内容,获取相应的bar地址数据,通过unix socket发送给后端仿真模块;

8、所述前端仿真模块通过unix socket接收来自后端仿真模块的内存访问请求,并对所述系统存储器进行读写操作。

9、其中,所述后端仿真模块中设置有:

10、rtos组件,用于收发tlp报文,以及发起对前端仿真模块的内存读写请求;

11、tlp ring组件,用于将tlp报文数据发送给rtos组件,或从rtos组件接收tlp报文数据;

12、req ring组件,用于接收rtos组件对前端仿真模块的内存读写请求;

13、cmpl ring组件,用于在对前端仿真模块的内存读写请求操作完成后进行通知。

14、其中,所述tlp ring组件进一步用于:

15、通过unix socket接收来自前端仿真模块的bar地址数据,并按照tlp格式构建tlp报文,发给rtos组件处理;

16、解析rtos组件下发的tlp报文,并通过unix socket发送给前端仿真模块。

17、其中,在所述tlp ring组件中,在构建tlp报文时,通过ring head指针和tail指针与rtos组件进行交互。

18、其中,所述前端仿真模块中运行的操作系统为linux操作系统;在所述后端仿真模块中的rtos组件采用cortex-m3架构,运行有rtos操作系统。

19、相应地,本申请的另一方面,还提供一种网卡设备仿真方法,其采用如前述的网卡设备仿真系统所实现,所述方法至少包括如下步骤:

20、在对仿真网卡设备进行访问时,前端仿真模块截获其寄存器中的内容,并发送给后端仿真模块;

21、后端仿真模块接收来自前端仿真模块的寄存器的内容,组成tlp报文数据;

22、后端仿真模块向前端仿真模块反馈数据,以及发起对前端仿真模块的内存读写请求;

23、前端仿真模块接收来自后端仿真模块的反馈数据,以及接收后端仿真模块的内存读写请求,并进行相应处理。

24、其中,进一步包括:

25、在对仿真网卡设备进行访问时,前端仿真模块截获对bar寄存器的访问内容,获取相应的bar地址数据,通过unix socket发送给后端仿真模块,并接收来自后端仿真模块的反馈数据;

26、所述前端仿真模块通过unix socket接收来自后端仿真模块的内存访问请求,并对其系统存储器进行读写操作。

27、其中,进一步包括:

28、在所述后端仿真模块中,通过unix socket接收来自前端仿真模块的bar地址数据,并按照tlp格式构建tlp报文;通过tlp ring组件发给rtos组件处理;

29、tlp ring组件解析rtos组件下发的tlp报文,并通过unix socket发送给前端仿真模块;

30、req ring组件接收rtos组件对前端仿真模块的内存读写请求,并通过unixsocket发送给前端仿真模块,在发送完成后,通过cmpl ring组件通知rtos组件已完成相应操作。

31、相应地,本申请的再一方面,还提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如前述的系统的功能。

32、相应地,本申请的再一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的方法的步骤。

33、实施本申请实施例,具有如下的有益效果:

34、本申请提供一种网卡设备仿真系统、方法、电子设备及存储介质,通过采用两个qemu模拟器来快速地分别对网卡设备的前端和后端进行仿真,提高了对网卡设备的硬件方案验证的可行性和准确性。

35、在本申请中,通过一个qemu模拟器仿真网卡设备的前端;通过另一个qemu模块器来仿真网卡设备的后端,同时在后端中实现tlp ring和dma ring等核心组件,并集成有rtos功能,能够更真实地模拟网卡的后端处理逻辑;另外,通过unix socket实现前后端数据交互,可以更加真实的仿真网卡设备的实现过程;通过快速准确地仿真,可以本文档来自技高网...

【技术保护点】

1.一种网卡设备仿真系统,其特征在于,其至少包括前端仿真模块和后端仿真模块,两者通过进程间通信模块进行通信;其中:

2.根据权利要求1所述的系统,其特征在于,所述前端仿真模块进一步设置有操作系统、虚拟网卡设备以及系统存储器,在所述虚拟网卡设备中设置有BAR寄存器;所述进程间通信模块为Unix Socket;

3.如权利要求2所述的系统,其特征在于,所述后端仿真模块中设置有:

4.根据权利要求3所述的系统,其特征在于,所述TLP Ring组件进一步用于:

5.根据权利要求4所述的系统,其特征在于,在所述TLP Ring组件中,在构建TLP报文时,通过ring head指针和tail指针与RTOS组件进行交互。

6.根据权利要求1至5任一项所述的系统,其特征在于,所述前端仿真模块中运行的操作系统为linux操作系统;在所述后端仿真模块中的RTOS组件采用cortex-m3架构,运行有RTOS操作系统。

7.一种网卡设备仿真方法,其采用如权利要求1至6中任一项所述的网卡设备仿真系统所实现,其特征在于,所述方法至少包括如下步骤:

8.如权利要求7所述的方法,其特征在于,进一步包括:

9.如权利要求8所述的方法,其特征在于,进一步包括:

10.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的系统的功能。

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求7至9任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种网卡设备仿真系统,其特征在于,其至少包括前端仿真模块和后端仿真模块,两者通过进程间通信模块进行通信;其中:

2.根据权利要求1所述的系统,其特征在于,所述前端仿真模块进一步设置有操作系统、虚拟网卡设备以及系统存储器,在所述虚拟网卡设备中设置有bar寄存器;所述进程间通信模块为unix socket;

3.如权利要求2所述的系统,其特征在于,所述后端仿真模块中设置有:

4.根据权利要求3所述的系统,其特征在于,所述tlp ring组件进一步用于:

5.根据权利要求4所述的系统,其特征在于,在所述tlp ring组件中,在构建tlp报文时,通过ring head指针和tail指针与rtos组件进行交互。

6.根据权利要求1至5任一项所述的系统,其特征在于,...

【专利技术属性】
技术研发人员:刘静涛马福元
申请(专利权)人:深圳云豹智能有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1