[发明专利]一种将axi总线数据转为虚拟网卡接收数据的实现方法在审
申请号: | 202110179984.4 | 申请日: | 2021-02-08 |
公开(公告)号: | CN112968890A | 公开(公告)日: | 2021-06-15 |
发明(设计)人: | 刘刚 | 申请(专利权)人: | 浪潮软件科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 axi 总线 数据 转为 虚拟 网卡 接收 实现 方法 | ||
本发明公开了一种将axi总线数据转为虚拟网卡接收数据的实现方法,属于axi虚拟网口网口适配技术领域。本发明的将axi总线数据转为虚拟网卡接收数据的实现方法通过实现虚拟的axi网卡,对外呈现一个网卡,上层用户通过socket填写数据内容,按正常的网卡收发流程发送和接收数据,在内核处理过程中,发送侧将协议栈的报文解析出来,通过axi总线发送给fpga核,接收报文过程中由用户态程序接收。该发明的将axi总线数据转为虚拟网卡接收数据的实现方法极大的丰富了软件系统架构的多样性以及适应复杂的应用场景的能力,具有很好的推广应用价值。
技术领域
本发明涉及axi虚拟网口网口适配技术领域,具体提供一种将axi总线数据转为虚拟网卡接收数据的实现方法。
背景技术
对于xilinx的ZYNQ系列的soc芯片来说,一般芯片中包含有fpga核及arm核。一般情况下,axi总线是fpga核和arm核之间唯一的数据交互通道。由于应用场景的复杂性及fpga核与arm核之间分工协作的多样性,导致在某些特定场景下,比如1588协议报文经fpga核通过axi总线透传至arm核,arm核需要将axi总线上的数据转换为特定格式递交linux协议栈处理,arm端一般运行的是linux操作系统,因此需要将axi数据转换为skb的数据格式,通过协议栈上报给用户层,以便数据处理。但是目前linux内核中没有提供axi数据转网口报文的转换功能,有待进一步改进。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种极大的丰富了软件系统架构的多样性以及适应复杂的应用场景的能力的将axi总线数据转为虚拟网卡接收数据的实现方法。
为实现上述目的,本发明提供了如下技术方案:
一种将axi总线数据转为虚拟网卡接收数据的实现方法,通过实现虚拟的axi网卡,对外呈现一个网卡,上层用户通过socket填写数据内容,按正常的网卡收发流程发送和接收数据,在内核处理过程中,发送侧将协议栈的报文解析出来,通过axi总线发送给fpga核,接收报文过程中由用户态程序接收。
作为优选,该将axi总线数据转为虚拟网卡接收数据的实现方法具体包括以下步骤:
S1、注册私有网口的结构体;
S2、实现私有虚拟网卡操作函数;
S3、获取axi中断好作为网卡的中断号;
S4、在网卡的发送函数中实现axi的发送;
S5、通过用户态查看网口是否被内核识别;
S6、建立socket来收发报文。
作为优选,步骤S1中,结构体中包含打开网口、关闭网口、发送网口数据、轮询网口数据、获取网口状态、设置网卡的mac地址、判断网络地址的有效地址。首先入口函数init_module分配了一个net_device结构体。然后调用axivcard_probe1函数,在这个函数中设置了hard_start_xmit发包函数等信息,最后调用register_netdev注册分配的net_device结构体。
作为优选,步骤S2中,实现网卡操作函数,即完成回调函数功能。如果需要实现PTP的功能,还需要完成axi_vcard_ethtool_ops内的函数功能及axi_ptp_caps_template内的函数功能。
作为优选,步骤S3中,通过request_irq注册中断处理函数来实现axi数据的接收。
作为优选,中断处理函数中包括申请的硬件中断号、函数指针、指定的快速中断或中断共享的中断处理属性、指定的设备驱动程序的名称和传入中断处理程序的参数。
在Linux内核中,request_irq()函数是注册中断服务函数:函数的原型如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件科技有限公司,未经浪潮软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110179984.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种氨基酸洁面乳及其制备方法
- 下一篇:像素结构及液晶显示装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置