CN108255597B - 基于物理功能的mac地址分配虚拟功能的mac地址方法 - Google Patents

基于物理功能的mac地址分配虚拟功能的mac地址方法 Download PDF

Info

Publication number
CN108255597B
CN108255597B CN201611238415.8A CN201611238415A CN108255597B CN 108255597 B CN108255597 B CN 108255597B CN 201611238415 A CN201611238415 A CN 201611238415A CN 108255597 B CN108255597 B CN 108255597B
Authority
CN
China
Prior art keywords
mac address
byte
bits
physical
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611238415.8A
Other languages
English (en)
Other versions
CN108255597A (zh
Inventor
王力
孙文杰
穆立超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huayao Technology Co ltd
Original Assignee
Beijing Huayao Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Huayao Technology Co ltd filed Critical Beijing Huayao Technology Co ltd
Priority to CN201611238415.8A priority Critical patent/CN108255597B/zh
Publication of CN108255597A publication Critical patent/CN108255597A/zh
Application granted granted Critical
Publication of CN108255597B publication Critical patent/CN108255597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明是一种基于物理功能的MAC地址分配虚拟功能的MAC地址方法。该方法是将物理MAC地址通过改变VF索引产生虚拟功能MAC地址。本发明可以解决与其他公司设备的MAC地址冲突的问题,并能为流量口物理功能的虚拟功能端口分配独立的MAC地址。本发明在Array虚拟化管理平台上实现了MAC地址池功能,使得设备可以从MAC地址池(购买的MAC地址块)中为流量口物理功能(PF)的虚拟功能口(VF)分配独立的MAC地址。

Description

基于物理功能的MAC地址分配虚拟功能的MAC地址方法
技术领域
本发明涉及网络应用交付控制中虚拟技术领域,特别涉及一种基于物理功能的MAC地址分配虚拟功能的MAC地址方法。
背景技术
单根输入/输出虚拟化(SR-IOV)技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV标准允许在虚拟机之间高效共享PCIe(Peripheral ComponentInterconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的I/O性能。SR-IOV规范定义了新的标准,根据该标准,创建的新设备可允许将虚拟机直接连接到I/O设备。
单个I/O资源可由许多虚拟机共享。共享的设备将提供专用的资源,并且还使用共享的通用资源。这样,每个虚拟机都可访问唯一的资源。因此,启用了SR-IOV并且具有适当的硬件和OS支持的PCIe设备(例如以太网端口)可以显示为多个单独的物理设备,每个都具有自己的PCIe配置空间。
SR-IOV中的两种新功能类型是:
Figure BDA0001195804980000011
物理功能(Physical Function,PF):用于支持SR-IOV功能的PCI功能,如SR-IOV规范中定义。PF包含SR-IOV功能结构,用于管理SR-IOV功能。PF是全功能的PCIe功能,可以像其他任何PCIe设备一样进行发现、管理和处理。PF拥有完全配置资源,可以用于配置或控制PCIe设备。
Figure BDA0001195804980000021
虚拟功能(Virtual Function,VF):与物理功能关联的一种功能。VF是一种轻量级PCIe功能,可以与物理功能以及与同一物理功能关联的其他VF共享一个或多个物理资源。VF仅允许拥有用于其自身行为的配置资源。
每个SR-IOV设备都可有一个物理功能(Physical Function,PF),并且每个PF最多可有64,000个与其关联的虚拟功能(Virtual Function,VF)。PF可以通过寄存器创建VF,这些寄存器设计有专用于此目的的属性。
一旦在PF中启用了SR-IOV,就可以通过PF的总线、设备和功能编号(路由ID)访问各个VF的PCI配置空间。每个VF都具有一个PCI内存空间,用于映射其寄存器集。VF设备驱动程序对寄存器集进行操作以启用其功能,并且显示为实际存在的PCI设备。创建VF后,可以直接将其指定给IO来宾域或各个应用程序(如裸机平台上的Oracle Solaris Zones)。此功能使得虚拟功能可以共享物理设备,并在没有CPU和虚拟机管理程序软件开销的情况下执行I/O。
在所述已有技术中,用户在使用虚拟机时,需要在虚拟机启动后,手动为虚拟功能(VF)分配MAC地址,在网络建设快速发展的今天这将对网络管理人员造成极大地困扰。
发明内容
为解决上述难题,本发明的目的是提供一种基于网卡的物理功能(PF)的MAC地址生成虚拟功能(VF)的MAC地址方法,旨在为虚拟功能(VF分配)动态的分配MAC地址,避免用户手动分配。
一种基于物理功能MAC地址分配虚拟功能的MAC地址方法是:
所述的MAC地址由6个字节组成,每个MAC地址高位的3个字节为组织唯一标识符,低位的3个字节为网络适配器标识符,物理MAC地址通过改变VF索引产生虚拟功能MAC地址,其中当一个PF生成的VF的个数小于256时,网络适配器标识符位置字节由以下方法生成:
Figure BDA0001195804980000031
第三字节的高位4比特为物理MAC地址的第三字节的高位4比特;
Figure BDA0001195804980000032
第三字节的低位4比特为物理MAC地址的第一字节的高位4比特;
Figure BDA0001195804980000033
第二字节的高位4比特为物理MAC地址的第二字节的高位4比特;
Figure BDA0001195804980000034
第二字节的低位4比特为物理MAC地址的第一字节的低位4比特;
Figure BDA0001195804980000035
第一字节通过公式VF索引&0xff生成。(VF索引的范围从0到7)
当一个PF生成的VF个数大于256时,网络适配器标识符位置字节由以下方法生成:
Figure BDA0001195804980000036
第三字节的低位4比特为物理MAC地址的第三字节的低位4比特;
Figure BDA0001195804980000037
第二字节的高位4比特为物理MAC地址的第一字节的低位4比特;
Figure BDA0001195804980000038
第三字节的高位4比特,第二字节的低位4比特和第一字节的8比特通过公式VF索引&0xffff生成。(VF索引的范围从从0到64000)
本发明可以解决与其他公司设备的MAC地址冲突的问题,并能为流量口物理功能(PF)的虚拟功能端口(VF)分配独立的MAC地址。
本发明在Array虚拟化管理平台上实现了MAC地址池功能,使得设备可以从MAC地址池(购买的MAC地址块)中为流量口物理功能(PF)的虚拟功能口(VF)分配独立的MAC地址。
附图说明
图1是针对PCLe硬件的SR-IOV系统架构图,也是本发明基于物理功能的MAC地址分配虚拟功能的MAC地址系统架构示意图;
图2是本发明MAC地址标识码位置示意图;
图3是本发明物理功能MAC地址同虚拟功能的MAC地址分配地址的方法示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也是本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
图1所示为实施本发明方法的一种基于物理功能的MAC地址分配虚拟功能的MAC地址系统实施例架构图,,本发明所述的方法支持单根输入/输出虚拟化(SR-IOV)技术,使得单根端口下单个快速外设组件互连(PCIe)显示为管理程序或客户机操作系统的多个单独的物理设备。如图1中,通过SRI-OV虚拟功能,在Array虚拟化管理平台上的每个流量口(例如10G光口)物理功能(PF)显示为8个虚拟功能端口(VF1到VF8)。本实施例系统架构具备MAC地址池功能,使得系统可以从MAC地址池(例如购买的MAC地址块)中为流量口物理功能(PF)的虚拟功能口(VF)分配独立的MAC地址。
根据已有技术中一个PF(物理功能)生成多少个VF(虚拟功能)可以推导出所述的MAC地址池中包含的MAC地址数量的计算公式为
MAC地址数量=流量口物理功能*每个流量口物理功能上的虚拟功能端口
如图2所示,所述的MAC地址由6个字节组成,每个MAC地址高位的3个字节4、5、6为组织唯一标识符(Organizationally unique identifier,OUI)例如:Array Networks公司标识符为“FC:E1:FB”;低位的3个字节1、2、3为网络适配器(Network InterfaceController,NIC)标识符,由本发明提供的分配方法生成。在上述实施例“Array虚拟化管理平台”上,可以通过命令“show macpool”查看MAC地址池中的MAC地址。
本发明所述的MAC地址分配方法使用物理MAC地址和一个VF索引生成虚拟功能口(VF)的MAC地址。假设一个物理MAC地址有8个VF,那么,一个物理MAC地址通过改变VF索引产生8个MAC地址。
一种基于物理功能MAC地址分配虚拟功能的MAC地址方法如下:
所述的MAC地址由6个字节组成,每个MAC地址高位的3个字节为组织唯一标识符,低位的3个字节为网络适配器标识符,物理MAC地址通过改变VF索引产生虚拟功能MAC地址,其中当一个PF生成的VF的个数小于256时,网络适配器标识符位置字节由以下方法生成:
Figure BDA0001195804980000051
第三字节的高位4比特为物理MAC地址的第三字节的高位4比特;
Figure BDA0001195804980000052
第三字节的低位4比特为物理MAC地址的第一字节的高位4比特;
Figure BDA0001195804980000053
第二字节的高位4比特为物理MAC地址的第二字节的高位4比特;
Figure BDA0001195804980000054
第二字节的低位4比特为物理MAC地址的第一字节的低位4比特;
Figure BDA0001195804980000055
第一字节通过公式VF索引&0xff生成。(VF索引的范围从0到7)
图3所示为本发明方法物理功能MAC地址同虚拟功能的MAC地址分配地址的方法示意图,图中基于物理MAC地址100可分配虚拟功能的MAC地址200,例如一个物理MAC地址为00:0c:bd:06:85:79。那么虚拟功能的MAC地址产生为:
·FC:E1:FB:07:89:01
·FC:E1:FB:07:89:02
·FC:E1:FB:07:89:03
·FC:E1:FB:07:89:04
·FC:E1:FB:07:89:05
·FC:E1:FB:07:89:06
·FC:E1:FB:07:89:07
·FC:E1:FB:07:89:00
当一个PF生成的VF个数大于256时,例如一个物理MAC地址有64000个VF时,网络适配器标识符位置字节由以下方法生成:
Figure BDA0001195804980000061
第三字节的低位4比特为物理MAC地址的第三字节的低位4比特;
Figure BDA0001195804980000062
第二字节的高位4比特为物理MAC地址的第一字节的低位4比特;
Figure BDA0001195804980000063
第三字节的高位4比特,第二字节的低位4比特和第一字节的8比特通过公式VF索引&0xffff生成。(VF索引的范围从从0到64000)
通过MAC地址分配方法生成的MAC地址可能会发生冲突。此时,可以通过以下两种方法解决冲突:
Figure BDA0001195804980000064
通过命令“macpool item”手动修改该MAC地址。
例如:
AN(config)#macpool item fc:e1:fb:39:9d:aa fc:e1:fb:39:9d:bb
Figure BDA0001195804980000065
通过命令“macpool rebuild”重新生成MAC地址池。
当产生MAC地址池时,只可以对每个MAC地址的第三和第二字节进行定制。Array虚拟化管理平台将使用Array Networks的组织唯一标识符(Organizationally uniqueidentifier,OUI)“FC:E1:FB”作为高位的3个字节,并自动生成第一字节。
例如:
AN(config)#macpool rebuild ab:12:
需要说明的是,本发明各设备实施方式中提到的各单元都是逻辑单元,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明没有引入上述各设备实施方式以及与解决本发明所提出的技术问题关系不太密切的单元,但这并不表明不存在上述设备实施方式以及其它有关实施单元。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (3)

1.一种基于物理功能MAC地址分配虚拟功能的MAC地址方法,所述方法包括:
所述的MAC地址由6个字节组成,每个MAC地址高位的3个字节为组织唯一标识符,低位的3个字节为网络适配器标识符,其特征是所述物理功能MAC地址通过改变虚拟功能索引产生虚拟功能MAC地址;
所述物理功能 MAC地址通过改变VF索引产生虚拟功能MAC地址包括:当一个物理功能生成的虚拟功能的个数小于256时,网络适配器标识符位置字节由以下方法生成:第三字节的高位4比特为所述物理功能MAC地址的第三字节的高位4比特;第三字节的低位4比特为所述物理功能MAC地址的第一字节的高位4比特;第二字节的高位4比特为所述物理功能MAC地址的第二字节的高位4比特;第二字节的低位4比特为所述物理功能MAC地址的第一字节的低位4比特;第一字节通过公式虚拟功能索引&0xff生成,所述虚拟功能索引&0xff对应的虚拟功能索引的范围从0到7;当一个物理功能生成的虚拟功能个数大于256时,网络适配器标识符位置字节由以下方法生成:第三字节的低位4比特为所述物理功能MAC地址的第三字节的低位4比特;第二字节的高位4比特为所述物理功能MAC地址的第一字节的低位4比特;第三字节的高位4比特,第二字节的低位4比特和第一字节的8比特通过公式虚拟功能索引&0xffff生成,所述虚拟功能索引&0xffff对应的虚拟功能索引的范围从0到64000。
2.根据权利要求1所述的一种基于物理功能MAC地址分配虚拟功能的MAC地址方法,其特征是当采用MAC地址分配方法生成的虚拟功能MAC地址发生冲突时,通过以下方法解决冲突:通过命令“macpool item”手动修改该虚拟功能MAC地址。
3.根据权利要求1所述的一种基于物理功能MAC地址分配虚拟功能的MAC地址方法,其特征是当采用MAC地址分配方法生成的虚拟功能MAC地址发生冲突时,通过以下方法解决冲突:通过命令“macpool rebuild”重新生成虚拟功能MAC地址池。
CN201611238415.8A 2016-12-28 2016-12-28 基于物理功能的mac地址分配虚拟功能的mac地址方法 Active CN108255597B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611238415.8A CN108255597B (zh) 2016-12-28 2016-12-28 基于物理功能的mac地址分配虚拟功能的mac地址方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611238415.8A CN108255597B (zh) 2016-12-28 2016-12-28 基于物理功能的mac地址分配虚拟功能的mac地址方法

Publications (2)

Publication Number Publication Date
CN108255597A CN108255597A (zh) 2018-07-06
CN108255597B true CN108255597B (zh) 2022-02-18

Family

ID=62720356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611238415.8A Active CN108255597B (zh) 2016-12-28 2016-12-28 基于物理功能的mac地址分配虚拟功能的mac地址方法

Country Status (1)

Country Link
CN (1) CN108255597B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187966B (zh) * 2020-09-17 2023-04-28 浪潮(北京)电子信息产业有限公司 一种加速卡及其mac地址生成方法、装置和存储介质
CN114448944A (zh) * 2020-10-21 2022-05-06 华为技术有限公司 Mac地址分配方法及装置
CN113037604B (zh) * 2021-03-16 2022-09-13 西安微电子技术研究所 一种基于两级描述符表征的以太网控制系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041871B2 (en) * 2008-03-26 2011-10-18 Lsi Corporation System and method for providing address decode and virtual function (VF) migration support in a peripheral component interconnect express (PCEI) multi-root input/output virtualization (IOV) environment
US20120166690A1 (en) * 2010-12-28 2012-06-28 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization
CN104636185A (zh) * 2015-01-27 2015-05-20 华为技术有限公司 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
CN106250211A (zh) * 2016-08-05 2016-12-21 浪潮(北京)电子信息产业有限公司 一种基于sr_iov的虚拟化实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041871B2 (en) * 2008-03-26 2011-10-18 Lsi Corporation System and method for providing address decode and virtual function (VF) migration support in a peripheral component interconnect express (PCEI) multi-root input/output virtualization (IOV) environment
US20120166690A1 (en) * 2010-12-28 2012-06-28 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization
CN104636185A (zh) * 2015-01-27 2015-05-20 华为技术有限公司 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
CN106250211A (zh) * 2016-08-05 2016-12-21 浪潮(北京)电子信息产业有限公司 一种基于sr_iov的虚拟化实现方法

Also Published As

Publication number Publication date
CN108255597A (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
US9690739B2 (en) Method and apparatus for extending PCIe domain
AU2016414390B2 (en) Packet processing method in cloud computing system, host, and system
US10176019B2 (en) Dynamic management of computing platform resources
US8103810B2 (en) Native and non-native I/O virtualization in a single adapter
US10114764B2 (en) Multi-level paging and address translation in a network environment
US10275362B2 (en) Dynamic address translation table allocation
US8918568B2 (en) PCI express SR-IOV/MR-IOV virtual function clusters
CN108255597B (zh) 基于物理功能的mac地址分配虚拟功能的mac地址方法
US10228978B2 (en) Dynamic management of computing platform resources
US10666572B2 (en) Dynamic management of computing platform resources
US10365825B2 (en) Invalidation of shared memory in a virtual environment
US20180011807A1 (en) Low latency efficient sharing of resources in multi-server ecosystems
CN107547247B (zh) 智能弹性架构中的三层管理网ip地址分配方法和装置
US10684959B2 (en) Shared memory in a virtual environment
US10223284B2 (en) Flexible I/O DMA address allocation in virtualized systems
CN106034142B (zh) 一种信息处理方法及服务器
TWI615720B (zh) 資源分配系統、設備分配控制器以及設備識別方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100125 Beijing city Chaoyang District Liangmaqiao Road No. 40 building 10 room 1001, twenty-first Century

Applicant after: Beijing Huayao Technology Co., Ltd

Address before: 100125 Beijing city Chaoyang District Liangmaqiao Road No. 40 building 10 room 1001, twenty-first Century

Applicant before: Huayao (China) Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant