一种驱动方法、计算机设备及介质与流程
- 国知局
- 2024-07-31 23:14:32
本技术涉及计算机,尤其涉及一种驱动方法、计算机设备及介质。
背景技术:
1、随着云计算和数据中心等技术的发展,对数据传输、报文处理调度等提出了更高的要求,因此广泛采用了例如直接内存访问(direct memory access,dma)和数据面直通技术来提高数据处理性能和吞吐量,也通过例如快捷外围部件互连标准(peripheralcomponent interconnect express,pcie)来规范高速数字传输。符合pcie标准的设备也即pcie设备在驱动方式上面临着运维开发问题、管理界面与部署方式之间的统一性问题等。
2、为此,本技术提供了一种驱动方法、计算机设备及介质,用于应对现有技术中的技术难题。
技术实现思路
1、第一方面,本技术提供了一种驱动方法。所述驱动方法包括:提供位于内核空间的内核驱动,其中,所述内核驱动用于位于用户空间的数据平面开发套件与快捷外围部件互连设备之间的第一控制面;提供位于所述用户空间的所述数据平面开发套件中的轮询模式驱动,其中,所述轮询模式驱动用于所述数据平面开发套件与所述快捷外围部件互连设备之间的第二控制面,并且,所述数据平面开发套件用于使能输入输出内存管理单元以便实现直接内存访问重映射;通过位于所述内核空间的分流驱动,基于分流规则转发流量给所述内核驱动或者所述轮询模式驱动,其中,所述轮询模式驱动还用于在所述输入输出内存管理单元被使能时创建介导装置,所述介导装置连接所述分流驱动,所述直接内存访问重映射包括:通过所述轮询模式驱动申请物理内存用于从宿主机虚拟地址到宿主机物理地址的第一映射,通过所述介导装置通知所述内核驱动从而使得所述内核驱动预留输入输出虚拟地址用于所述轮询模式驱动的从输入输出虚拟地址到宿主机物理地址的第二映射。
2、通过本技术的第一方面,通过优化直接内存访问重映射的机制,在输入输出内存管理单元被使能的基础上,通过轮询模式驱动创建介导装置并利用所创建的介导装置通知内核驱动从而使得内核驱动预留输入输出虚拟地址用于轮询模式驱动的从输入输出虚拟地址到宿主机物理地址的第二映射,如此,实现了避免数据平面开发套件与内核驱动之间的地址冲突,在加载内核驱动和保留内核驱动的管理界面及丰富协议栈的同时也支持数据平面开发套件与内核驱动使用同一个快捷外围部件互连设备,有利于根据业务规划等需求将流量按需转发给数据平面开发套件中的用户态驱动或者内核驱动,保留了内核网口网络设备的管理能力,有利于统一网络接口管理界面,保留了内核驱动的输入输出处理能力,可以使用完善成熟的各种协议栈和管理界面各种命令,在保证数据平面开发套件的高性能和低时延需求同时也提升了设备利用率。
3、在本技术的第一方面的一种可能的实现方式中,网络接口与所述分流驱动连接,所述网络接口,在所述输入输出内存管理单元被使能时,利用所述第二映射中的输入输出虚拟地址访问宿主机内存。
4、在本技术的第一方面的一种可能的实现方式中,所述轮询模式驱动通过所述网络接口与所述内核驱动同步物理地址和网络协议地址以便所述轮询模式驱动与所述内核驱动共享所述网络协议地址。
5、在本技术的第一方面的一种可能的实现方式中,所述分流规则包括:基于待转发流量的网络协议层的源网络协议地址、目的网络协议地址以及协议号的匹配,还有所述待转发流量的传输控制协议层的源端口和目的端口的匹配,选择转发所述待转发流量给所述内核驱动或者所述轮询模式驱动。
6、在本技术的第一方面的一种可能的实现方式中,所述分流规则还包括:当所述待转发流量是非隧道流量时,转发所述待转发流量给所述内核驱动,当所述待转发流量是隧道流量时,转发所述待转发流量给所述轮询模式驱动。
7、在本技术的第一方面的一种可能的实现方式中,所述分流规则是基于所述快捷外围部件互连设备相关联的业务场景、所述内核驱动所使能的应用以及所述数据平面开发套件的流表卸载操作确定。
8、在本技术的第一方面的一种可能的实现方式中,通过位于所述内核空间的所述分流驱动,基于所述分流规则转发流量给所述内核驱动或者所述轮询模式驱动,包括:当所述快捷外围部件互连设备是智能网络接口卡并且待转发流量用于所述数据平面开发套件的运行环境流表卸载时,通过所述分流驱动转发所述待转发流量给所述轮询模式驱动,当所述快捷外围部件互连设备是数据处理器的嵌入式中央处理器并且所述待转发流量用于所述数据平面开发套件的运行环境流表卸载时,通过所述分流驱动转发所述待转发流量给所述轮询模式驱动,当所述快捷外围部件互连设备是所述数据处理器的所述嵌入式中央处理器并且所述待转发流量用于基于所述数据平面开发套件的远端访问时,通过所述分流驱动转发所述待转发流量给所述轮询模式驱动。
9、在本技术的第一方面的一种可能的实现方式中,通过位于所述内核空间的所述分流驱动,基于所述分流规则转发流量给所述内核驱动或者所述轮询模式驱动,还包括:当所述内核驱动使能链路聚合控制协议模式的绑定口并且开启所述快捷外围部件互连设备相关联的以太口的链路聚合口时,通过所述分流驱动转发所述待转发流量给所述内核驱动,当所述内核驱动使能链路层发现协议应用并且所述待转发流量用于查看链路层发现协议邻居以便同步交换机配置时,通过所述分流驱动转发所述待转发流量给所述内核驱动。
10、在本技术的第一方面的一种可能的实现方式中,所述第一映射和所述第二映射用于实现所述直接内存访问重映射,所述直接内存访问重映射用于通过所述轮询模式驱动处理输入输出需求。
11、在本技术的第一方面的一种可能的实现方式中,所述内核驱动在所述数据平面开发套件通过所述轮询模式驱动来使用所述快捷外围部件互连设备的期间不卸载。
12、在本技术的第一方面的一种可能的实现方式中,所述内核驱动包括网络接口管理界面和内核协议栈。
13、在本技术的第一方面的一种可能的实现方式中,所述网络接口管理界面提供用于网络接口运维的多种命令,所述多种命令包括网络接口查看命令、网络接口配置命令和网络设备驱动硬件设置命令,所述内核协议栈包括用于端口直连的链路层发现协议栈和用于绑定配置的链路聚合控制协议栈。
14、在本技术的第一方面的一种可能的实现方式中,所述内核驱动是所述快捷外围部件互连设备的内核厂商驱动。
15、在本技术的第一方面的一种可能的实现方式中,所述内核空间和所述用户空间属于同一服务器。
16、在本技术的第一方面的一种可能的实现方式中,所述第一控制面或者所述第二控制面用于所述数据平面开发套件与所述快捷外围部件互连设备之间的数据面直通。
17、在本技术的第一方面的一种可能的实现方式中,所述快捷外围部件互连设备属于第一输入输出内存管理单元组,所述第一输入输出内存管理单元组相关联的第一输入输出虚拟地址空间的第一部分被预留用于所述轮询模式驱动的所述第二映射中的输入输出虚拟地址,所述第一输入输出虚拟地址空间的第二部分被预留用于所述内核驱动,所述第一部分独立于所述第二部分。
18、第二方面,本技术实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
19、第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
20、第四方面,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196598.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。