【技术实现步骤摘要】
用于转发数据包的方法、网卡、主机设备和计算机系统
本申请涉及虚拟化
,并且更具体地,涉及一种用于转发数据包的方法、网卡、主机设备和计算机系统。
技术介绍
通过虚拟化技术,可以在一台主机设备(主机设备也可称为计算机设备、物理主机或物理计算机)上模拟出一台或多台虚拟机(virtualmachine,VM)。VM可以像主机设备一样工作。例如,用户可以在VM上安装操作系统和应用程序;又如,用户可以通过VM访问网络资源。对于用户而言,VM可以看成是运行在主机设备上的应用程序,但对于运行在VM中的应用程序而言,VM就像真正的主机设备一样为该应用程序提供工作环境。单根输入输出虚拟化(singlerootiinput/outputvirtualization,SRIOV)技术允许在多个VM之间高效共享外设部件互连表示(peripheralcomponentinterconnectexpress,PCIe)设备。SRIOV引入了物理功能(physicalfunction,PF)和虚拟功能(virtualfunction,VF)的概念,以支持网卡(或称网络接口卡、物理网卡或物理网络接口卡)的虚拟化。PF是网卡所支持的一项PCI功能,PF可以扩展出若干个VF。VF是支持SRIOV的网卡所虚拟出的一个实例,网卡中的每个VF配置有进行数据传输的带宽资源,每个VF会经由虚拟机监控器(virtualmachinemonitor,VMM)分配给主机设备上运行的VM使用。网卡内部提供了虚拟交换机功能,并能通过PF/VF提供了带宽限制功能 ...
【技术保护点】
1.一种用于转发数据包的方法,其特征在于,所述方法包括:/n建立第一VF配置的队列中的N对队列与N个vNIC之间的映射关系,所述N个vNIC是主机设备上运行的第一VM的vNIC,所述第一VF是分配给所述第一VM的VF,所述N对队列中的每对队列用于转发所述每对队列对应的vNIC的数据包,所述N为大于1的整数;/n根据所述映射关系信息,转发所述N个vNIC的数据包。/n
【技术特征摘要】
1.一种用于转发数据包的方法,其特征在于,所述方法包括:
建立第一VF配置的队列中的N对队列与N个vNIC之间的映射关系,所述N个vNIC是主机设备上运行的第一VM的vNIC,所述第一VF是分配给所述第一VM的VF,所述N对队列中的每对队列用于转发所述每对队列对应的vNIC的数据包,所述N为大于1的整数;
根据所述映射关系信息,转发所述N个vNIC的数据包。
2.如权利要求1所述的方法,其特征在于,所述映射关系信息记录了所述N个vNIC中的每个vNIC的标识,并记录了所述每个vNIC对应的VF的标识以及所述每个vNIC对应的队列的标识。
3.如权利要求2所述的方法,其特征在于,所述根据所述映射关系信息,转发所述N个vNIC的数据包,包括:
接收第一数据包,所述第一数据包是发往所述N个vNIC中的第一vNIC的数据包,所述第一数据包包括所述第一vNIC的标识;
根据所述第一vNIC的标识,通过查询所述所述映射关系信息,确定所述第一vNIC对应所述第一VF中的目标接收队列;
从所述第一VF的PCI内存空间中获取所述目标接收队列的控制信息;
根据所述目标接收队列的控制信息,通过所述目标接收队列向所述第一vNIC发送所述第一数据包。
4.如权利要求2所述的方法,其特征在于,所述N个vNIC中的每个vNIC的标识包括所述每个vNIC的媒体接入控制MAC地址和虚拟局域网VLAN标识。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一VM启动之前,从所述网卡的物理功能PF的驱动接收第一指示信息,所述第一指示信息用于指示所述第一VF需要启用的队列的数量为N;
在所述第一VM启动的过程中,向所述第一VF的驱动发送第二指示信息,所述第二指示信息用于指示所述第一VF启用的队列的数量为N,以触发所述第一VF的驱动创建N个vNIC。
6.如权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
从所述网卡的PF驱动接收限速策略信息,所述限速策略信息用于指示所述第一VM的所述N个vNIC的整体限速策略;
根据所述整体限速策略,配置所述第一VF对应的带宽资源。
7.一种用于转发数据包的方法,其特征在于,所述方法包括:
获取映射关系信息,所述映射关系信息用于指示第一VF配置的队列中的N对队列与N个vNIC之间的映射关系,所述N个vNIC是主机设备上运行的第一VM的vNIC,所述第一VF是分配给所述第一VM的VF,所述N对队列中的每对队列用于转发所述每对队列对应的vNIC的数据包,所述N为大于1的整数;
向所述网卡发送所述映射关系信息。
8.如权利要求7所述的方法,其特征在于,所述映射关系信息记录了所述N个vNIC中的每个vNIC的标识,并记录了所述每个vNIC对应的VF的标识以及所述每个vNIC对应的队列的标识。
9.如权利要求8所述的方法,其特征在于,所述N个vNIC中的每个vNIC的标识包括所述每个vNIC的媒体接入控制MAC地址和虚拟局域网VLAN标识。
10.如权利要求7-9中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一VM启动之前,通过所述网卡的物理功能PF的驱动向所述网卡发送第一指示信息,所述第一指示信息用于指示所述第一VF需要启用的队列的数量为N;
在所述第一VM启动的过程中,接收所述网卡向所述第一VF的驱动发送的第二指示信息,所述第二指示信息用于指示所述第一VF启用的队列的数量为N,以触发所述第一VF的驱动创建N个vNIC。
11.如权利要求7-9中任一项所述的方法,其特征在于,所述方法还包括:
通过所述网卡的PF驱动向所述网卡发送限速策略信息,所述限速策略信息用于指示所述第一VM的所述N个vNIC的整体限速策略。
12.一种网卡,其特征在于,所述网卡与主机设备相连,所述主机设备包括第一虚拟机VM,所述第一VM包括N个虚拟网络接口卡vNIC,所述网卡包括分配给所述第一VM的第一虚拟功能VF,N为大于1的整数,
所述网卡包括:
建立模块,用于建立所述第一VF配置的队列中的N对队列与所述N个vNIC之间的映射关系,所述N对队列中的每对队列用于转发所述每对队列对应的vNIC的数据包;
转发模块,用于根据所述所述映射关系信息,转发所述N个vNIC的数据包。
13.如权利要求12所述的网卡,其特征在于,所述映射关系信息记录了所述N个vNIC中的每个vNIC的标识,并记录了所述每个vNIC对应的VF的标识以及所述每个vNIC对应的队列的标识。
14.如权利要求13所述的网卡,其特征在于,所述N个vNIC中的每个vNIC的标识包括所述每个...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。