一种创建虚拟路由器接口的方法及装置、存储介质和设备转让专利
申请号 : CN201910782191.4
文献号 : CN110581800B
文献日 : 2021-07-02
发明人 : 秦海中
申请人 : 苏州浪潮智能科技有限公司
摘要 :
权利要求 :
1.一种创建虚拟路由器接口的方法,其特征在于,所述方法包括:在给虚拟路由器添加租户网络时,三层代理L3 agent从租户网络对应的物理网络的网卡所虚拟出的多个虚拟功能VF中,选择一个未使用的第一VF为所述虚拟路由器创建租户网络接口;
基于所述租户网络的网络属性,设置所述第一VF的网络属性;
在给虚拟路由器设置网关时,L3 agent从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为所述虚拟路由器创建网关接口;
基于所述网关网络的网络属性,设置所述第二VF的网络属性。
2.根据权利要求1所述的方法,其特征在于,所述在给虚拟路由器添加租户网络时,三层代理L3 agent从租户网络对应的物理网络的网卡所虚拟出的多个虚拟功能VF中,选择一个未使用的第一VF为所述虚拟路由器创建租户网络接口,包括:在给虚拟路由器添加租户网络时,L3 agent获得用于指示租户网络接口绑定的虚拟网卡类型的字段;
L3 agent确定所述用于指示租户网络接口绑定的虚拟网卡类型的字段是否为用于表征单根输入输出虚拟化SR‑IOV类型的字段;
若是,L3 agent从所述租户网络对应的物理网络的网卡所虚拟出的多个虚拟功能VF中,选择一个未使用的第一VF为所述虚拟路由器创建租户网络接口。
3.根据权利要求1或2所述的方法,其特征在于,所述在给虚拟路由器设置网关时,L3 agent从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为所述虚拟路由器创建网关接口,包括:在给虚拟路由器设置网关时,L3 agent获得用于指示网关接口绑定的虚拟网卡类型的字段;
L3 agent确定所述用于指示网关接口绑定的虚拟网卡类型的字段是否为用于表征SR‑IOV类型的字段;
若是,L3 agent从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为所述虚拟路由器创建网关接口。
4.根据权利要求1所述的方法,其特征在于,所述基于所述租户网络的网络属性,设置所述第一VF的网络属性,包括:
若所述租户网络的网络类型为虚拟局域网VLAN,将所述第一VF的虚拟局域网VLAN属性设置为所述租户网络的VLAN属性。
5.根据权利要求1或4所述的方法,其特征在于,所述基于所述网关网络的网络属性,设置所述第二VF的网络属性,包括:若所述网关网络的网络类型为虚拟局域网VLAN,将所述第二VF的VLAN属性设置为所述网关网络的VLAN属性。
6.一种创建虚拟路由器接口的装置,其特征在于,所述装置包括:第一接口创建单元,用于在给虚拟路由器添加租户网络时,三层代理L3agent从租户网络对应的物理网络的网卡所虚拟出的多个虚拟功能VF中,选择一个未使用的第一VF为所述虚拟路由器创建租户网络接口;
第一设置单元,用于基于所述租户网络的网络属性,设置所述第一VF的网络属性;
第二接口创建单元,用于在给虚拟路由器设置网关时,L3 agent从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为所述虚拟路由器创建网关接口;
第二设置单元,用于基于网关网络的网络属性,设置所述第二VF的网络属性。
7.根据权利要求6所述的装置,其特征在于,所述第一接口创建单元,用于在给虚拟路由器添加租户网络时,L3 agent获得用于指示租户网络接口绑定的虚拟网卡类型的字段;
L3 agent确定所述用于指示租户网络接口绑定的虚拟网卡类型的字段是否为用于表征单根输入输出虚拟化SR‑IOV类型的字段;若是,L3 agent从所述租户网络对应的物理网络的网卡所虚拟出的多个虚拟功能VF中,选择一个未使用的第一VF为所述虚拟路由器创建租户网络接口。
8.根据权利要求6或7所述的装置,其特征在于,所述第二接口创建单元,用于在给虚拟路由器设置网关时,L3 agent获得用于指示网关接口绑定的虚拟网卡类型的字段;L3 agent确定所述用于指示网关接口绑定的虚拟网卡类型的字段是否为用于表征SR‑IOV类型的字段;若是,L3 agent从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为所述虚拟路由器创建网关接口。
9.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在计算机设备执行如权利要求1至5任一项所述的创建虚拟路由器接口的方法的步骤。
10.一种计算机设备,其特征在于,所述计算机设备包括:至少一个处理器;
以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如1至5任一项所述的创建虚拟路由器接口的方法的步骤。
说明书 :
一种创建虚拟路由器接口的方法及装置、存储介质和设备
技术领域
背景技术
中心中,不同租户之间需要隔离。
向流量转发接口,这样,就会导致虚拟机需要接收或发送的报文需要多次在内核处理,转发
路径太长,导致三层(L3)网络转发性能低下。
发明内容
网络的网卡中的虚拟功能(Virtual Function,VF)创建租户网络接口和网关接口,使得租
户网络接口和网关接口均为SR‑IOV类型的接口,这样,在报文转发过程中,不使用虚拟网卡
设备作为东西向流量、南北向流量转发接口,而是直接使用物理网卡设备作为东西向流量、
南北向流量转发接口,从而,能够缩短报文转发路径,提高L3网络转发性能。
虚拟出的多个虚拟功能VF中,选择一个未使用的第一VF为所述虚拟路由器创建租户网络接
口;基于所述租户网络的网络属性,设置所述第一VF的网络属性;在给虚拟路由器设置网关
时,L3agent从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第
二VF为所述虚拟路由器创建网关接口;基于网关网络的网络属性,设置所述第二VF的网络
属性。
络对应的物理网络的网卡所虚拟出的多个虚拟功能VF中,选择一个未使用的第一VF为所述
虚拟路由器创建租户网络接口;第一设置单元,用于基于所述租户网络的网络属性,设置所
述第一VF的网络属性;第二接口创建单元,用于在给虚拟路由器设置网关时,L3agent从网
关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为所述虚拟
路由器创建网关接口;第二设置单元,用于基于网关网络的网络属性,设置所述第二VF的网
络属性。
拟路由器接口的方法的步骤。
述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的
创建虚拟路由器接口的方法的步骤。
虚拟出的多个虚拟功能VF中,选择一个未使用的第一VF为虚拟路由器创建租户网络接口,
并基于租户网络的网络属性,设置第一VF的网络属性;然后,在给虚拟路由器设置网关时,
L3agent从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二
VF为虚拟路由器创建网关接口,并基于网关网络的网络属性,设置第二VF的网络属性。这
样,就实现了所创建的虚拟路由器接口,即租户网络接口和网关接口均为SR‑IOV类型接口,
能够实现虚拟路由器支持SR‑IOV技术,那么,在报文转发过程中,不使用虚拟网卡设备作为
东西向流量、南北向流量转发接口,而是直接使用物理网卡设备作为东西向流量、南北向流
量转发接口,使得虚拟路由器L3网络转发性能加速达到与物理机相当的网络转发性能,从
而,能够缩短报文转发路径,提高L3网络转发性能。
以及附图中所描述的方案来实现和获得。
附图说明
具体实施方式
口;
理网络的网卡所虚拟出的多个VF中,选择一个未使用的第一VF为虚拟路由器创建租户网络
接口,这样,就使得所创建的租户网络接口是SR‑IOV类型接口。
户网络接口绑定的虚拟网卡类型的字段是否为用于表征单根输入输出虚拟化SR‑IOV类型
的字段;若是,L3agent从租户网络对应的物理网络的网卡所虚拟出的多个虚拟功能VF中,
选择一个未使用的第一VF为虚拟路由器创建租户网络接口。
加租户网络时传入direct字段,即表明向L3agent传入了用于指示租户网络接口绑定的虚
拟网卡类型为用于表征SR‑IOV类型的字段。
型的,在添加租户网络到虚拟路由器上时,Neutron组件中neurtron进程可以通过控制节点
中部署的neuron_server进程向L3agent传递vnic_type字段。接下来,L3‑agent就会触发
router_interface_add模块,然后,router_interface_add模块就可以判断vnic_type字段
是否为direct字段,若是,就会获取租户网络对的物理网络的网卡,选择一个未使用的第一
VF创建路由器接口,即租户网络接口。
时,L3agent就可以从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使
用的第二VF为虚拟路由器创建网关接口,这样,就使得所创建的网关接口是SR‑IOV类型接
口。
口绑定的虚拟网卡类型的字段是否为用于表征SR‑IOV类型的字段;若是,L3agent从网关网
络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为虚拟路由器创
建网关接口。
置网关时传入direct字段,即传入了用于指示网关接口绑定的虚拟网卡类型为用于表征
SR‑IOV类型的字段。
的,在给虚拟路由器设置网关时,Neutron组件可以通过控制节点中部署的neuron_server
向L3agent传递vnic_type字段。接下来,L3‑agent触发router‑update模块,router‑update
模块可以判断vnic_type字段是否为direct字段,若是,就会获取网关网络对的物理网络的
网卡,选择一个未使用的第二VF创建路由器接口,即网关接口。
的多个虚拟功能VF中,选择一个未使用的第一VF为虚拟路由器创建租户网络接口,并基于
租户网络的网络属性,设置第一VF的网络属性;然后,在给虚拟路由器设置网关时,L3agent
从网关网络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为虚拟
路由器创建网关接口,并基于网关网络的网络属性,设置第二VF的网络属性。这样,就实现
了所创建的虚拟路由器接口,即租户网络接口和网关接口均为SR‑IOV类型接口,能够实现
虚拟路由器支持SR‑IOV技术,使得虚拟路由器能够与物理网卡直连,使得虚拟路由器L3网
络转发性能加速达到与物理机相当的网络转发性能,从而,使用租户网络接口和网关接口
进行报文转发时,能够缩短报文转发路径,提高L3网络转发性能将实现提高。
见图2所示,该创建虚拟路由器接口的装置20可以包括:第一接口创建单元201,用于在给虚
拟路由器添加租户网络时,三层代理L3agent从租户网络对应的物理网络的网卡所虚拟出
的多个虚拟功能VF中,选择一个未使用的第一VF为虚拟路由器创建租户网络接口;第一设
置单元202,用于基于租户网络的网络属性,设置第一VF的网络属性;第二接口创建单元
203,用于在给虚拟路由器设置网关时,L3agent从网关网络对应的物理网络的网卡所虚拟
出的多个VF中,选择一个未使用的第二VF为虚拟路由器创建网关接口;第二设置单元204,
用于基于网关网络的网络属性,设置第二VF的网络属性。
户网络接口绑定的虚拟网卡类型的字段是否为用于表征单根输入输出虚拟化SR‑IOV类型
的字段;若是,L3agent从租户网络对应的物理网络的网卡所虚拟出的多个虚拟功能VF中,
选择一个未使用的第一VF为虚拟路由器创建租户网络接口。
口绑定的虚拟网卡类型的字段是否为用于表征SR‑IOV类型的字段;若是,L3agent从网关网
络对应的物理网络的网卡所虚拟出的多个VF中,选择一个未使用的第二VF为虚拟路由器创
建网关接口
处理器31连接的至少一个存储器32、总线33;其中,处理器31、存储器32通过总线33完成相
互间的通信;处理器31用于调用存储器32中的程序指令,以执行上述一个或多个实施例中
的创建虚拟路由器接口的方法的步骤。
骤。
门阵列(Field Programmable Gate Array,FPGA)等实现。存储器可能包括计算机可读介质
中的非永久性存储器,随机存储器(Random Access Memory,RAM)和/或非易失性内存等形
式,如只读存储器(Read Only Memory,ROM)或闪存(Flash RAM),存储器包括至少一个存储
芯片。
储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或
者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储
在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、
或者网络设备等)执行本申请各个实施例方法的全部或部分。
执行上述一个或多个实施例中的创建虚拟路由器接口的方法的步骤。
计算机设备或计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例
的描述而理解。
多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中
进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情
况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结
合使用,或可以替代任何其它实施例中的任何其他特征或元件。
的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元
件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示
出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利
要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保
护范围内进行各种修改和改变。
或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺
序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此
外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术
人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个
物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组
件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被
实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读
介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时
性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如
计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非
易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其
他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他
磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此
外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模
块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息
递送介质。