一种DPU场景弹性网卡高效实现方法及装置制造方法及图纸

技术编号:37989135 阅读:9 留言:0更新日期:2023-06-30 10:03
本发明专利技术公开了一种DPU场景弹性网卡高效实现方法、装置及电子设备,涉及云计算技术领域。该DPU场景弹性网卡高效实现方法,当DPU的硬件收到VM发送的报文,添加报文头,上送报文到DPU的SOC,DPU的SOC解析并剥掉报文头,转交给OVS;当DPU的SOC收到要转发的报文,添加自定义头,发送报文给DPU的硬件,DPU的硬件解析并转发报文。本方案无需在DPU的SOC侧创建代表口,而是通过在软硬件交互报文里面添加自定义的报文头来指示弹性网卡以及其队列的信息的方式,让DPU的SOC和DPU的硬件来实现vport信息的传递的,解决了现有技术中资源消耗巨大、报文收发性能低下的问题,不仅能节省智能网卡的软硬件资源,还能提高报文收发的效率。还能提高报文收发的效率。还能提高报文收发的效率。

【技术实现步骤摘要】
一种DPU场景弹性网卡高效实现方法及装置


[0001]本专利技术涉及云计算
,尤其涉及一种DPU场景弹性网卡高效实现方法、装置及电子设备。

技术介绍

[0002]在普通标准网卡场景下,租户VM的virtio弹性网卡,后面简称vport,是基于vhost

user来实现的,Virtio的后端就在host上,OVS也运行在host上。因此,OVS能直接感知到租户的vport设备,直接从这些设备来收发报文即可。在DPU场景下,VM的virtio弹性网卡的后端是在DPU上实现的,vport的virtio后端终结在DPU的硬件上面,而OVS运行在DPU智能网的DPU的SOC上。这种情况下,OVS是感知不到VM的vport设备。而OVS要实现网络转发,必须要感知到这些vport设备。传统的解决方案是在DPU的SOC上创建代表口即represent port,DPU的SOC的代表口和硬件上的PVF口一一映射。DPU的硬件负责报文在PVF口和代表口之间收发映射。DPU的SOC上的软件通过操作代表口来间接操作PVF口,从而达到逻辑上操作vport的目的。
[0003]传统的在DPU的SOC上创建代表口的模式,存在明显缺陷:创建并关联代表口和vport口,需要消耗DPU大量的资源。特别是在虚机和容器场景下,一台宿主机上往往需要创建海量(几K级别)的vport,其资源消耗非常巨大。因此这种模式下,宿主机支持的vport数量往往受限。同时DPU的SOC上的软件,特别是DPDK收发包,需要轮询大量的代表口,导致报文收发性能低下。
[0004]但本申请专利技术人在实现本申请实施例中专利技术技术方案的过程中,发现上述技术至少存在如下技术问题:
[0005]在DPU的SOC上创建代表口会消耗大量资源,从而限制vport数量,导致报文收发效率低。

技术实现思路

[0006]本申请实施例通过提供一种DPU场景弹性网卡高效实现方法、装置及电子设备,解决了现有技术中资源消耗巨大、报文收发性能低下的问题,实现了降低智能网卡成本,提高了报文收发的效率。
[0007]本申请实施例提供了一种DPU场景弹性网卡高效实现方法,包括以下步骤:
[0008]S1、DPU的硬件收到VM发送的报文,添加报文头,上送报文到DPU的SOC,DPU的SOC解析并剥掉报文头,转交给OVS;
[0009]S2、DPU的SOC收到要转发的报文,添加自定义头,发送报文给DPU的硬件,DPU的硬件解析并转发报文。
[0010]进一步地,所述S1中DPU的硬件上送报文到DPU的SOC具体包括以下步骤:
[0011]S11、DPU的硬件收到VM发送的报文后,根据报文来源生成vport、vqueue信息,将所述vport、vqueue信息作为报文头插入到报文中;
[0012]S12、判断报文需要上送到DPU的SOC,将所述S11添加报文头的报文通过固定的PF端口送给DPU的SOC。
[0013]进一步地,所述S1中DPU的SOC解析并剥掉报文头具体为:DPU的SOC上的dpdk程序初始化、轮询PF端口,收取DPU的硬件发送的报文,剥离报文头,解析并存储vport、vqueue信息。
[0014]进一步地,所述S2中DPU的SOC发送报文给DPU的硬件具体为:DPU的SOC上的dpdk程序生成自定义头信息并插入到报文中,所述自定义头信息为vport和vqueue的信息,通过固定PF端口发送给DPU的硬件。
[0015]进一步地,所述S2中DPU的硬件解析并转发报文具体为:DPU的硬件收到DPU的SOC发送的报文后,剥掉自定义头,解析vport、vqueue信息,将报文发送给VM的vport口的vqueue。
[0016]进一步地,在所述S1之前还包括:创建vport,DPU的硬件与dpdk约定好vport编号,统一对齐编号物理意义。
[0017]进一步地,所述S1中OVS:包括TMI和PKT,所述TMI为Tianyi Meta Info、包含portid及queue。
[0018]本专利技术还提供了一种DPU场景弹性网卡高效实现装置,包括第一收发包模块、第二收发包模块,其中:
[0019]第一收发包模块,用于DPU的硬件收到VM发送的报文,添加报文头,上送报文到DPU的SOC,DPU的SOC解析并剥掉报文头,转交给OVS;
[0020]第二收发包模块,用于DPU的SOC收到要转发的报文,添加自定义头,发送报文给DPU的硬件,DPU的硬件解析并转发报文。
[0021]本专利技术还提供了一种电子设备,包括:
[0022]处理器;以及
[0023]存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行任一项所述的一种DPU场景弹性网卡高效实现方法。
[0024]本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行任一项所述的一种DPU场景弹性网卡高效实现方法。
[0025]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0026]1、通过在软硬件交互报文中添加自定义报文头的方式,实现了DPU的SOC和DPU的硬件的vport信息传递,不需要创建并关联代表口和vport口,节省了网卡软硬件资源,降低了网卡成本,提高了vport的可支持数,便于智能网卡支持更多的vport。
[0027]2、DPU的SOC上的dpdk收发包程序通过轮询一个固定的PF端口,只需要轮询一个device,不需要同时轮询成百上千的device,高效的完成了vport信息的传递,解决了报文收发问题,增强了报文收发性能,提高了报文收发效率。
附图说明
[0028]图1为本专利技术提供的DPU场景弹性网卡高效实现方法流程图;
[0029]图2为本专利技术提供的标准网卡vhost

user架构图;
[0030]图3为本专利技术提供的DPU场景virtio网卡以及组件架构图;
[0031]图4为本专利技术提供的DPU场景virtio网卡代表口结构图;
[0032]图5为本专利技术提供的DPU场景virtio网卡OVS字段及含义结构图;
[0033]图6为本专利技术提供的VM发包DPU的SOC收包的流程图;
[0034]图7为本专利技术提供的DPU的SOC发包VM收包的流程图;
[0035]图8为本专利技术提供的电子设备框架图。
具体实施方式
[0036]本专利技术提出了一种DPU场景弹性网卡高效实现方法、装置及电子设备,本方案无需在DPU的SOC侧创建代表口,而是通过在软硬件交互报文里面添加自定义的报文头来指示弹性网卡以及其队列的信息的方式,让DPU的SOC和DPU的硬件来实现vport信息的传递的,此种方案不仅能节省智能网卡的软硬件资源,便于智能网卡支持更多的v本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DPU场景弹性网卡高效实现方法,其特征在于,包括以下步骤:S1、DPU的硬件收到VM发送的报文,添加报文头,上送报文到DPU的SOC,DPU的SOC解析并剥掉报文头,转交给OVS;S2、DPU的SOC收到要转发的报文,添加自定义头,发送报文给DPU的硬件,DPU的硬件解析并转发报文。2.如权利要求1所述的一种DPU场景弹性网卡高效实现方法,其特征在于,所述S1中DPU的硬件上送报文到DPU的SOC具体包括以下步骤:S11、DPU的硬件收到VM发送的报文后,根据报文来源生成vport、vqueue信息,将所述vport、vqueue信息作为报文头插入到报文中;S12、判断报文需要上送到DPU的SOC,将所述S11添加报文头的报文通过固定的PF端口送给DPU的SOC。3.如权利要求1所述的一种DPU场景弹性网卡高效实现方法,其特征在于,所述S1中DPU的SOC解析并剥掉报文头具体为:DPU的SOC上的dpdk程序初始化、轮询固定的PF端口,收取DPU的硬件发送的报文,剥离报文头,解析并存储vport、vqueue信息。4.如权利要求1所述的一种DPU场景弹性网卡高效实现方法,其特征在于,所述S2中DPU的SOC发送报文给DPU的硬件具体为:DPU的SOC上的dpdk程序生成自定义头信息并插入到报文中,所述自定义头信息为vport和vqueue的信息,通过固定PF端口发送给DPU的硬件。5.如权利要求1所述的一种DPU场景弹性网卡高效实现方法,其特征在于,所述S2中DPU的硬...

【专利技术属性】
技术研发人员:邹明郑文明文旭李易吴绍华郑理
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1