WO2020019950A1 - 一种物理功能复用方法、装置和计算机存储介质 - Google Patents

一种物理功能复用方法、装置和计算机存储介质 Download PDF

Info

Publication number
WO2020019950A1
WO2020019950A1 PCT/CN2019/094467 CN2019094467W WO2020019950A1 WO 2020019950 A1 WO2020019950 A1 WO 2020019950A1 CN 2019094467 W CN2019094467 W CN 2019094467W WO 2020019950 A1 WO2020019950 A1 WO 2020019950A1
Authority
WO
WIPO (PCT)
Prior art keywords
vfs
network card
virtual network
virtual
card resource
Prior art date
Application number
PCT/CN2019/094467
Other languages
English (en)
French (fr)
Inventor
刘勇
Original Assignee
南京中兴软件有限责任公司
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 南京中兴软件有限责任公司 filed Critical 南京中兴软件有限责任公司
Priority to EP19841350.2A priority Critical patent/EP3820083B1/en
Publication of WO2020019950A1 publication Critical patent/WO2020019950A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present disclosure relates to the field of communications, and in particular, to a method, device, and computer storage medium for multiplexing physical functions.
  • PCI-SIG Peripheral Component Interconnect Special Group
  • SR-IOV Single Root I / O Virtualization
  • the cost reduction of the server's computing resources has also spawned another network card virtualization technology, namely, the combination of Open Virtual Switching Standard (OVS, OpenVswitch) and Data Plane Development Kit (DPDK, Data Development Development Kit).
  • OVS Open Virtual Switching Standard
  • DPDK Data Plane Development Kit
  • the host needs to use SRIOV-Direct technology to assign virtual functions (VF, Virtual Functions) directly to virtual network functions (VNFs, Virtual Network Functions), or use DPDK drivers to occupy physical functions (PF, Physical Function) and some computing resources serve network communication services for VNFs.
  • VF virtual functions
  • VNFs virtual network functions
  • PF Physical Function
  • VFs virtual interfaces
  • vNICs Virtual Network Interface Cards
  • the OVDK technology although not limited by the number of VFs like SRIOV-Direct technology, can theoretically virtualize hundreds of orders of vNICs.
  • SRIOV-Direct due to the premise of its occupation of computing resources, its network transmission performance is much worse than SRIOV-Direct. In the telecom application scenario, it should only be used for transmission of signaling streams, control streams, or parts of media streams with low requirements on network service quality.
  • the above two technologies can use different PFs to achieve the coexistence of network elements of different application types on the same server.
  • the number of high-performance PF resources of general servers may be limited. For example, there are only two 40GE network adapters, and redundant backup must be considered. Therefore, the two technologies cannot coexist to meet the flexible application of network elements.
  • the embodiments of the present disclosure provide a method, a device, and a computer storage medium for reusing physical functions.
  • An embodiment of the present disclosure provides a method for multiplexing physical functions, which is applied to a network device, where the network device includes at least one virtual machine VM; a first VM in the at least one VM has at least one physical function PF; the first The VM is any VM in the at least one VM; the first PF in the at least one PF is configured with at least two virtual function VFs; the first PF is any PF in the at least one PF, the Methods include:
  • the first VF is any one of the at least two VFs;
  • the other VFs except the at least one first VF of the at least two VFs are configured to support a single root input / output virtualization SR-IOV function.
  • An embodiment of the present disclosure further provides a physical function multiplexing apparatus applied to a network device, where the network device includes at least one virtual machine VM; a first VM in the at least one VM has at least one physical function PF; the first A VM is any VM in the at least one VM; a first PF in the at least one PF is configured with at least two virtual function VFs; the first PF is any PF in the at least one PF, so
  • the device includes:
  • a first configuration module configured to configure at least one of the at least two VFs to support an OVDK function; the first VF is any one of the at least two VFs;
  • a second configuration module is configured to configure a VF other than the at least one first VF of the at least two VFs to support a single input / output virtualized SR-IOV function.
  • An embodiment of the present disclosure further provides a computer-readable storage medium on which a computer program is stored, and the computer program is executed by a processor to implement any of the foregoing physical function multiplexing methods.
  • An embodiment of the present disclosure further provides a physical function multiplexing device, which includes a processor and a memory for storing a computer program capable of running on the processor, wherein the processor is configured to execute when the computer program is run.
  • FIG. 1 is a first schematic flowchart of a physical function reuse method according to an embodiment of the present disclosure
  • FIG. 2 is a second schematic flowchart of a physical function reuse method according to an embodiment of the present disclosure
  • FIG. 3 is a first composition diagram of a physical function multiplexing device according to an embodiment of the present disclosure
  • FIG. 4 is a second composition diagram of a physical function multiplexing device according to an embodiment of the present disclosure.
  • FIG. 5 is a third composition diagram of a physical function multiplexing device according to an embodiment of the present disclosure.
  • FIG. 6 is a fourth composition diagram of a physical function multiplexing device according to an embodiment of the present disclosure.
  • FIG. 7 is a control schematic diagram 1 based on the physical function reuse method of FIG. 6 according to an embodiment of the present disclosure
  • FIG. 8 is a second control schematic diagram of the physical function reuse method based on FIG. 6 according to the embodiment of the present disclosure.
  • FIG. 9 is a fifth composition diagram of a physical function multiplexing device according to an embodiment of the present disclosure.
  • the physical function multiplexing method provided by the embodiment of the present disclosure is applied to a network device, where the network device includes at least one VM; a first VM in the at least one VM has at least one PF; the first VM is the at least one Any VM in a VM; a first PF in the at least one PF is configured with at least two VFs; the first PF is any PF in the at least one PF, as shown in FIG. 1, the method It mainly includes steps 110 and 120.
  • step 110 configure at least one of the at least two VFs to support the OVDK function; the first VF is any one of the at least two VFs.
  • the at least one first VF is configured to load a DPDK driver, so that the at least one first VF supports an OVDK function.
  • the first VM may run on a physical server, and the physical server may be loaded with a first PF.
  • the first PF may support SR-IOV technology, and a user configures the first VM of the physical server through a network management system.
  • the operating system allocates multiple VFs to the first PF, and the number of the VFs can be obtained according to actual application requirements and the nature of the first PF.
  • the physical server includes a computing node, and the computing node is loaded with a service process that supports both OVDK and SR-IOV data transmission.
  • another physical server may be used as a computing node, and the computing node is simultaneously loaded with a service process that supports both OVDK and SR-IOV data transmission.
  • the computing node controlling the OVDK service process may arbitrarily select one or more first VFs as at least one among a plurality of VFs, and load a DPDK driver on the at least one first VF, so that the at least one first VF can be Data transmission is performed based on DPDK technology, and then the virtual function module is connected to a virtual switch, so that the virtual function module can provide an OVDK-based virtual switching type interface for network elements to use for data transmission.
  • the compute node can control the OVDK service process to select at least one VF to load the DPDK driver. For example, two VFs are selected to load a DPDK driver, and then the two VFs are connected to a virtual switch, so that the two VFs can perform data transmission based on the DPDK technology.
  • the physical server S1 includes only one PF1.
  • the PF1 can support SR-IOV technology.
  • the user creates a virtual machine VM1 through the network management of the control node.
  • the operating system allocates 63 VF0s to the PF1. ⁇ VF62.
  • the OVDK service process and the SR-IOV service process are loaded on the physical server S1.
  • the compute node controls the OVDK service process to choose any VF0 for association, load the DPDK driver on VF0, and then connect VF0 to the virtual switch, so that VF0 can Provides OVDK-based virtual switching type interfaces.
  • Step 120 Configure other VFs of the at least two VFs than the at least one first VF to support the SR-IOV function.
  • VFs are configured to support the SR-IOV function to provide network elements with virtual network card services based on the SR-IOV technology for data transmission.
  • the computing node controls the SR-IOV service process to associate with the virtual functions VF1 to VF62, so that the virtual function blocks VF1 to VF62 can provide a virtual network card service based on the SR-IOV technology for data transmission.
  • the physical function multiplexing method provided by the embodiment of the present disclosure further includes the following steps 130 to 160.
  • step 130 generating at least one first virtual network card resource information corresponding to the first VF, and sending the first virtual network card resource information to a control node.
  • control node is associated with the first VM; a user creates a first VM through a network management function of the control node.
  • the control node and the computing node may be co-located on one physical server, or may be arranged differently from the computing node, that is, the control node is located on another physical server.
  • the first virtual network card resource includes a virtualized network resource that the at least one first VF can provide.
  • step 140 generating second virtual network card resource information corresponding to other VFs of the at least two VFs except the at least one first VF, and sending any one of the other VFs to the control node.
  • the provided second virtual network card resource information corresponding to other VFs of the at least two VFs except the at least one first VF.
  • the second virtual network card resource includes a virtualized network resource that can be provided by any VF except for at least one first VF.
  • the computing node collects virtual network card resource information that can be provided on the first VM.
  • the virtual network card resource information includes the PCI address information of the virtual network card inside the first VM, and the OVDK service process will associate the virtual network card of the first VF with the virtual network card.
  • the resource information is reported to the control node.
  • This virtual network card resource can provide a virtual network card service based on the OVDK technology; the SR-IOV service process reports the virtual network card resource information of all the virtual function VFs associated with it to the control node and then saves it in the resource pool.
  • the control node collects and stores all reported virtual network card resource information.
  • the computing node controls the OVDK service process to report the virtual network card resource information of VF0 to the control node (for example, marked as Controller1), and the computing node controls the SR-IOV service process to report all other virtual VF1 to VF62 virtual
  • the network card resource information is reported to Controller1, and Controller1 is controlled to collect and store all received virtual network card resource information.
  • step 150 the control node receives a virtual network card resource allocation request, and generates a deployment command according to the first virtual network card resource information and / or the second virtual network card resource information.
  • the network element when a network element needs to use a network card for data transmission, the network element sends a virtual network card resource allocation request to the control node.
  • the control node receives the virtual network card resource allocation request of the network element, the control node queries the local virtual network card resource information, where the virtual network card resource information includes the first virtual network card resource information and the second virtual network card resource information, Generate a deployment command according to the virtual network card resource information.
  • the media gateway device M1 needs to perform data transmission.
  • the data transmission includes transmission of a large amount of media data and interaction of flow control information.
  • SR-IOV technology can provide services for the transmission of large amounts of media data.
  • OVDK technology can provide flow control.
  • Controller1 receives the virtual network card resource allocation request information R1 sent by the media gateway device M1, and Controller1 generates a deployment command O1 according to the virtual network card resource information stored locally.
  • step 160 a network element is deployed according to the deployment command.
  • any one of the other VFs and the at least one first VF is allocated to the network element for use.
  • the OVDK service process and the SR-IOV service process running on the computing node will support any one of the other VFs of the SR-IOV service and the OVDK according to the deployment command.
  • the first VF of at least one of the services is allocated for use by the network element.
  • the OVDK service process allocates VF0 to the media gateway device M1 for use, provides media data transmission services to the media gateway device M1, and the SR-IOV service process allocates VF1 to the media gateway device.
  • M1 is used to provide the media gateway device M1 with an interactive service of flow control information to complete the deployment of the gateway.
  • one PF is configured to support the OVDK function, and all other VFs are configured to support the SR-IOV function, so that the physical function PF can support both OVDK technology and SR-IOV.
  • Technology can enable operators to deploy network elements required for mixed network performance with minimal PF, reduce the hardware threshold for deploying network elements with high forwarding performance and multiple virtual network card requirements, and improve the operator's environment Flexibility in use and reduced overall equipment costs.
  • a physical function multiplexing apparatus provided by an embodiment of the present disclosure is applied to a network device, where the network device includes at least one virtual machine VM; a first VM of the at least one VM has at least one physical Functional PF; the first VM is any one of the at least one VM; the first PF in the at least one PF is configured with at least two virtual function VFs; the first PF is in the at least one PF Any of the PFs, the device comprising:
  • a first configuration module configured to configure at least one of the at least two VFs to support an OVDK function; the first VF is any one of the at least two VFs;
  • a second configuration module is configured to configure other VFs of the at least two VFs except the at least one first VF to support the SR-IOV function.
  • the first configuration module is specifically configured to: configure the at least one first VF to load a DPDK driver.
  • the first configuration module is further configured to: generate at least one first virtual network card resource information provided by the first VF; send the first virtual network card resource information to a control node; and the second configuration The module is further configured to generate second virtual network card resource information corresponding to other VFs of the at least two VFs except the at least one first VF; and send any of the other VFs to the control node. Resource information of the second virtual network card provided by a VF.
  • the apparatus further includes a control node, configured to receive a virtual network card resource allocation request, and generate a deployment command according to the first virtual network card resource information and / or the second virtual network card resource information.
  • a first configuration module and / or a second configuration module configured to deploy a network element according to the deployment command.
  • the first configuration module is specifically configured to: allocate the at least one first VF to the network element for use; the second configuration module is specifically configured to: A VF is allocated for use by the network element.
  • the device embodiments of the present disclosure refer to the method embodiments of the present disclosure described above.
  • one physical function PF into multiple virtual function VFs
  • at least one VF is configured to support the OVDK function
  • all other VFs are configured to support the SR-IOV function
  • the physical function PF can simultaneously support OVDK technology and SR-IOV technology can enable operators to improve the capacity of network elements required for hybrid deployment network performance with a minimum of PF, reduce the hardware threshold for deploying network elements with high forwarding performance and multiple virtual network card requirements, and improve This improves the operator's flexibility in using the environment and reduces overall equipment costs.
  • the first configuration module and the second configuration module in the physical function multiplexing device may be implemented by a CPU, a DSP, an MCU, or an FPGA in actual applications.
  • the control node can be implemented by a physical server.
  • the physical function multiplexing device provided in the foregoing embodiment performs physical function multiplexing
  • only the division of the foregoing program modules is used as an example.
  • the above processing may be allocated by different
  • the program module is completed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the physical function multiplexing device and the physical function multiplexing method embodiments provided by the foregoing embodiments belong to the same concept. For specific implementation processes, refer to the method embodiments, and details are not described herein again.
  • An embodiment of the present disclosure also provides a method for multiplexing physical functions, which is applied to a virtual machine.
  • the virtual machine is loaded with an OVDK service process and an SR-IOV service process.
  • the composition of the network card multiplexing device applied in the present invention is as follows: As shown in Figure 5, a virtual machine VM is created on the server, and a physical function PF1 is created on the virtual machine VM to generate 63 virtual function VFs.
  • the server is loaded with the OVDK service process and the SR-IOV service process.
  • the OVDK service process is associated with VF0
  • SR-IOV service process is associated with VF1 ⁇ VF62
  • PF1 is connected to the switch
  • VM1 is created on the first server, and the OVDK service process and the SR-IOV service process are loaded on the first server.
  • the OVDK service process is associated with PF2 and is connected to the virtual switch.
  • the SR-IOV service process Associated with PF3, both PF2 and PF3 are connected to the switch.
  • VM2 is created on the second server, PF1 is on VM2, and VF0 to VF62 are generated.
  • the second server is loaded with the OVDK service process and the SR-IOV service process.
  • the OVDK service process is associated with VF0, and the SR-IOV service process is associated with VF1 ⁇ VF62 is associated, and PF1 is connected to the switch.
  • FIG. 7 and FIG. 8 The control flow when performing physical function reuse in the embodiment of the present disclosure is shown in FIG. 7 and FIG. 8 respectively, and the steps are as follows:
  • S201 The compute node on VM2 controls the OVDK service process to load the DPDK driver for VF0 and hook it to the virtual switch.
  • the computing node controls the SR-IOV service process on VM1 to report its virtualized network resources to the control node.
  • the virtualized network resources are all network resources of PF3, and the control node saves the virtualized network resources to the resource pool.
  • the computing node controls the OVDK service process on VM1 to report its virtualized network resources to the control node.
  • the virtualized network resources are all network resources of PF2.
  • the PF2 can provide a virtual network card service based on OVDK technology on the first server. .
  • S204 The computing node control SR-IOV service process on VM2 reports its virtualized network resources to the control node, where the virtualized network resources are the virtual functions VF1 to VF62 of PF1, and the control node saves the virtualized network resources to the resource pool.
  • the computing node controls the OVDK service process on VM2 to report its virtualized network resources to the control node.
  • the virtualized network resources are VF0.
  • the VF0 can provide a virtual network card service based on OVDK technology on VM2.
  • S301 A user issues a management command for deploying VM1 and VM2 through a control node. Both VM1 and VM2 need to use two virtual network interfaces.
  • the types of the virtual network interfaces include high-performance forwarding SRIOV-direct and non-SRIOV ordinary virtual. Switch tap types, that is, VM1 and VM2 both need to use two different virtual network card services.
  • S302 The control node queries that VM1 and VM2 can provide the above two types of virtual network card services at the same time.
  • S303 The control node initiates a deployment control command to VM1 and VM2, and notifies the SR-IOV service process and the OVDK service process to allocate network resources.
  • the compute node controls the SR-IOV service process and the OVDK service process to call PF2 and PF3 for data exchange according to the control command;
  • the compute node controls the SR-IOV service process to call VF62 for data according to the control command Exchange, the compute node controls the OVDK service process to call VF0 for data exchange.
  • S304 The deployment of VM1 and VM2 is complete, and the data transmission is successfully communicated.
  • VM1 calls PF2 and PF3 for data transmission, and VM2 uses PF1 for data transmission.
  • An embodiment of the present disclosure also discloses a physical function multiplexing method.
  • the physical function multiplexing device of the embodiment of the present disclosure is shown in FIG. 9.
  • the physical function multiplexing device is based on the above-mentioned specific example 1.
  • the second server also includes PF4, which provides storage surface services through the Hypervisor and is connected to the virtual switch.
  • the Hypervisor is an intermediate software layer that runs between the underlying physical server and the operating system, and can access all physical devices on the server, including disks and memory. The control in the embodiment of the present disclosure when performing physical function reuse is as described in the first specific example.
  • the physical function PF can support both OVDK technology and SR-IOV.
  • Technology can enable operators to increase the capacity of network elements required for hybrid deployment network performance with a minimum of PF, reduce the hardware threshold for deploying network elements with high forwarding performance and multiple virtual network card requirements, and improve operators The flexibility in the use of the environment and reduced overall equipment costs.
  • An embodiment of the present disclosure further provides a computer-readable storage medium on which an executable program is stored, and the executable program is executed by a processor to implement any of the foregoing physical function multiplexing methods.
  • An embodiment of the present disclosure further provides a physical function multiplexing device.
  • the device includes a processor and a memory for storing a computer program capable of running on the processor, wherein the processor runs to run the computer.
  • the program is executed, any one of the above-mentioned physical function reuse methods is executed.
  • the memory may be implemented by any type of volatile or non-volatile storage device, or a combination thereof.
  • the non-volatile memory may be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), or an erasable programmable read-only memory (EPROM, Erasable Programmable Read- Only Memory), Electrically Erasable Programmable Read-Only Memory (EEPROM), Ferromagnetic Random Access Memory (FRAM), Flash Memory, Flash Surface Memory , Compact disc, or read-only compact disc (CD-ROM, Compact Disc-Read-Only Memory);
  • the magnetic surface memory can be a disk memory or a tape memory.
  • the volatile memory may be random access memory (RAM, Random Access Memory), which is used as an external cache.
  • RAM random access memory
  • RAM Random Access Memory
  • many forms of RAM are available, such as Static Random Access Memory (SRAM, Static Random Access Memory), Synchronous Static Random Access Memory (SSRAM, Static Random Access, Memory), Dynamic Random Access DRAM (Dynamic Random Access Memory), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM, Double Data Rate Synchronous Dynamic Random Access Memory), enhanced Type Synchronous Dynamic Random Access Memory (ESDRAM, Enhanced Random Dynamic Access Memory), Synchronous Link Dynamic Random Access Memory (SLDRAM, SyncLink Dynamic Random Access Memory), Direct Memory Bus Random Access Memory (DRRAM, Direct Rambus Random Access Memory) ).
  • SRAM Static Random Access Memory
  • SSRAM Synchronous Static Random Access Memory
  • SDRAM Synchronous Dynamic Random Access Memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • the method disclosed in the foregoing embodiments of the present disclosure may be applied to a processor, or implemented by a processor.
  • the processor may be an integrated circuit chip with signal processing capabilities.
  • each step of the above method may be completed by an integrated logic circuit of hardware in a processor or an instruction in a form of software.
  • the aforementioned processor may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
  • the processor may implement or execute various methods, steps, and logic block diagrams disclosed in the embodiments of the present disclosure.
  • a general-purpose processor may be a microprocessor or any conventional processor.
  • the steps of the method disclosed in combination with the embodiments of the present disclosure may be directly implemented by a hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module may be located in a storage medium.
  • the storage medium is located in the memory.
  • the processor reads the information in the memory and completes the steps of the foregoing method in combination with its hardware.
  • the information processing device may be implemented by one or more application-specific integrated circuits (ASICs, Application Specific Integrated Circuits), DSPs, programmable logic devices (PLDs, Programmable Logic Devices), and complex programmable logic devices (CPLD, Complex) Programmable (Logic, Device), FPGA, general-purpose processor, controller, MCU, microprocessor (Microprocessor), or other electronic components, for performing the foregoing methods.
  • ASICs Application Specific Integrated Circuits
  • DSPs programmable logic devices
  • PLDs Programmable Logic Devices
  • CPLD Complex programmable logic devices
  • FPGA general-purpose processor
  • controller MCU
  • microprocessor Microprocessor
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the unit is only a logical function division.
  • there may be another division manner such as multiple units or components may be combined, or Can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed components are coupled, or directly coupled, or communicated with each other through some interfaces.
  • the indirect coupling or communication connection of the device or unit may be electrical, mechanical, or other forms. of.
  • the units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, which may be located in one place or distributed to multiple network units; Some or all of the units may be selected according to actual needs to achieve the objective of the solution of this embodiment.
  • the functional units in the embodiments of the present disclosure may be all integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above integration
  • the unit can be implemented in the form of hardware, or in the form of hardware plus software functional units.
  • the foregoing program may be stored in a computer-readable storage medium.
  • the program is executed, the program is executed.
  • the method includes the steps of the foregoing method embodiment.
  • the foregoing storage medium includes: various types of media that can store program codes, such as a mobile storage device, a ROM, a RAM, a magnetic disk, or an optical disc.
  • the above-mentioned integrated unit of the present disclosure is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
  • the computer software product is stored in a storage medium and includes several instructions for A computer device (which may be a personal computer, a server, or a network device, etc.) is caused to execute all or part of the methods described in various embodiments of the present disclosure.
  • the foregoing storage medium includes: various types of media that can store program codes, such as a mobile storage device, a ROM, a RAM, a magnetic disk, or an optical disc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种物理功能复用方法,应用于网络设备,网络设备包括至少一个虚拟机VM;至少一个VM中的第一VM具有至少一个物理功能PF;至少一个PF中的第一PF配置至少两个虚拟功能VF;方法包括:配置至少一个第一VF支持OVDK功能;配置其他VF支持SR-IOV功能。本公开实施例还公开了一种物理功能复用装置和计算机存储介质。

Description

一种物理功能复用方法、装置和计算机存储介质
本申请要求享有2018年7月23日提交的名称为“一种物理功能复用方法、装置和计算机存储介质”的中国专利申请CN201810810147.5的优先权,其全部内容通过引用并入本文中。
技术领域
本公开涉及通信领域,具体涉及一种物理功能复用方法、装置和计算机存储介质。
背景技术
目前越来越多的电信运营商使用虚拟化作为传统组网的基础设施,而为了提高物理网卡的虚拟化通信性能,外围部件互连专业组(PCI-SIG,Peripheral Component Interconnect Special Interest Group)提出了单根输入输出虚拟化(SR-IOV,Single Root I/O Virtualization)技术,并由于可达成不占用物理服务器资源即可达到线速,使得SRIOV-direct虚拟化技术成为目前网卡硬件虚拟化的事实行业标准。与此同时,服务器的计算资源的成本降低也催生了另外一种网卡虚拟化的技术即开放虚拟交换标准(OVS,OpenVswitch)与数据平面开发套件(DPDK,Data Plane Development Kit)相结合的技术(以下简称OVDK),即结合开放虚拟交换标准OVS的虚拟交换技术和DPDK用计算资源换取网络性能的策略,来提高虚拟化网卡的高吞吐量和低延迟。
为实现上述两种目的,需要宿主机上分别利用SRIOV-Direct技术将虚拟功能(VF,Virtual Function)直接分配给虚拟网络功能(VNFs,Virtual Network Functions),或利用DPDK驱动占用物理功能(PF,Physical Function)和一部分计算资源为VNFs的网络通信服务。
对于SRIOV-direct技术而言,由于SRIOV网卡的VF数量限制,不能大量为VNFs分配虚拟接口(vNICs,Virtual Network Interface Cards)。而OVDK技术,虽可不像SRIOV-Direct技术一样受VF数量限制,理论上可虚拟出数百数量级的vNICs,但受其占用计算资源的前提要求,其网络传输性能比SRIOV-Direct要逊色很多,在电信应用场景下,尽量只应用在信令流、控制流或对网络服务质量要求低的部分媒体流传输上。所以,业界目前对于这两种虚拟化技术的使用方式是混合使用:即在同一个网元内,使用 SRIOV-Direct来高吞吐量、低延迟的媒体流的同时,对吞吐量和延迟要求低的其他传输采用综合成本低的OVDK来组网。
因此,上述两种技术可以分别使用不同的PF来达到不同应用类型的网元共存于同一服务器上。但是,一般服务器的高性能PF资源数量可能受限,比如只有两块40GE的网卡,且还要考虑互相做冗余备份,所以就不能使得这两种技术共存,以满足网元的灵活应用。
基于以上,为了在只有一块PF的服务器上可以部署使用SRIOV-direct和OVDK技术的网元,需要有一种方法来将此两种技术复用在单一PF上,目前还没有在只有一块PF的服务器上部署使用SRIOV-direct和OVDK技术的网元的示例。
发明内容
为解决现有存在的技术问题,本公开实施例提供一种物理功能复用方法、装置和计算机存储介质。
为达到上述目的,本公开实施例的技术方案是这样实现的:
本公开实施例提供一种物理功能复用方法,应用于网络设备,所述网络设备包括至少一个虚拟机VM;所述至少一个VM中的第一VM具有至少一个物理功能PF;所述第一VM为所述至少一个VM中的任一VM;所述至少一个PF中的第一PF配置至少两个虚拟功能VF;所述第一PF为所述至少一个PF中的任一PF,所述方法包括:
配置所述至少两个VF中的至少一个第一VF支持OVDK功能;所述第一VF为所述至少两个VF中的任一VF;
配置所述至少两个VF中的除所述至少一个第一VF以外的其他VF支持单根输入/输出虚拟化SR-IOV功能。
本公开实施例还提供一种物理功能复用装置,应用于网络设备,所述网络设备包括至少一个虚拟机VM;所述至少一个VM中的第一VM具有至少一个物理功能PF;所述第一VM为所述至少一个VM中的任一VM;所述至少一个PF中的第一PF配置至少两个虚拟功能VF;所述第一PF为所述至少一个PF中的任一PF,所述装置包括:
第一配置模块,用于配置所述至少两个VF中的至少一个第一VF支持OVDK功能;所述第一VF为所述至少两个VF中的任一VF;
第二配置模块,用于配置所述至少两个VF中的除所述至少一个第一VF以外的其他 VF支持单根输入/输出虚拟化SR-IOV功能。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行实现上述任一物理功能复用方法。
本公开实施例还提供一种物理功能复用装置,其包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行实现上述任一物理功能复用方法。
应用本公开实施例公开的一种物理功能复用方法,通过将一个PF配置出多个VF,将至少一个VF配置成支持OVDK功能,将其他所有VF配置成支持SR-IOV功能,使得一个PF可以同时支持OVDK技术和SR-IOV技术,降低了网络设备的硬件门槛,提升了网络设备使用环境的灵活性和降低了网络设备成本。
附图说明
图1为本公开实施例物理功能复用方法的流程示意图一;
图2为本公开实施例物理功能复用方法的流程示意图二;
图3为本公开实施例物理功能复用装置的组成示意图一;
图4为本公开实施例物理功能复用装置的组成示意图二;
图5为本公开实施例物理功能复用装置的组成示意图三;
图6为本公开实施例物理功能复用装置的组成示意图四;
图7为本公开实施例基于图6的物理功能复用方法的控制示意图一;
图8为本公开实施例基于图6的物理功能复用方法的控制示意图二;
图9为本公开实施例物理功能复用装置的组成示意图五。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的说明。
本公开实施例提供的物理功能复用方法,应用于网络设备,所述网络设备包括至少一个VM;所述至少一个VM中的第一VM具有至少一个PF;所述第一VM为所述至少一个VM中的任一VM;所述至少一个PF中的第一PF配置至少两个VF;所述第一PF为所述至少一个PF中的任一PF,如图1所示,所述方法主要包括步骤110和步骤120。
在步骤110中:配置所述至少两个VF中的至少一个第一VF支持OVDK功能;所述第一VF为所述至少两个VF中的任一VF。
这里,配置所述至少一个第一VF加载DPDK驱动,以实现至少一个第一VF支持OVDK功能。
具体的,所述第一VM可以运行在物理服务器上,所述物理服务器上可以加载有第一PF,所述第一PF可以支持SR-IOV技术,用户通过网管配置物理服务器的第一VM,在初始化时操作系统给所述第一PF分配出多个VF,所述VF的个数可以根据实际应用的需求和所述第一PF的性质得到。
进一步的,当第一VM创建完成后,同时配置多个VF。所述物理服务器包括计算节点,在所述计算节点上同时加载有支持OVDK和SR-IOV两种数据传输的服务进程。另外,可以将又一物理服务器作为计算节点,在所述计算节点上同时加载有支持OVDK和SR-IOV两种数据传输的服务进程。计算节点控制OVDK服务进程可以在多个VF中任意选择一个或者多个作为至少一个的第一VF,在所述至少一个的第一VF上加载DPDK驱动,使得所述至少一个的第一VF可以基于DPDK技术进行数据传输,然后将所述虚拟功能模块挂接到虚拟交换机上,使得所述虚拟功能模块可以提供基于OVDK的虚交换类型接口给网元使用,进行数据的传输。
在实际应用中,计算节点可以控制OVDK服务进程选择至少一个VF加载DPDK驱动。例如,选择2个VF加载DPDK驱动,然后将所述2个VF挂接到虚拟交换机上,使得所述2个VF可以基于DPDK技术进行数据传输。
例如,物理服务器S1上只包括一个PF1,所述PF1可以支持SR-IOV技术,用户通过控制节点的网管创建虚拟机VM1,在初始化虚拟机VM1时,操作系统给所述PF1分配出63个VF0~VF62。在物理服务器S1上加载有OVDK服务进程和SR-IOV服务进程,计算节点控制OVDK服务进程任意选择一个VF0进行关联,在VF0上加载DPDK驱动,然后将VF0挂接到虚拟交换机上,使得VF0可以提供基于OVDK的虚交换类型接口。
步骤120:配置所述至少两个VF中的除所述至少一个第一VF以外的其他VF支持SR-IOV功能。
具体的,除去已经支持OVDK功能的至少一个第一VF之外,配置其他VF支持SR-IOV功能,给网元提供基于SR-IOV技术的虚拟网卡服务,进行数据的传输。
例如,计算节点控制SR-IOV服务进程与虚拟功能VF1~VF62进行关联,使得虚拟功能块VF1~VF62可以提供基于SR-IOV技术的虚拟网卡服务,进行数据的传输。
如此,通过将一个PF配置出多个VF,将至少一个的VF配置成支持OVDK功能,将其他所有VF配置成支持SR-IOV功能,使得所述PF可以同时支持OVDK技术和SR-IOV技术,降低了网络设备的硬件门槛,提升了网络设备使用环境的灵活性和降低了网络设备成本。
本公开实施例提供的物理功能复用方法,如图2所示,所述方法还包括以下步骤130至步骤160。
在步骤130中:生成至少一个第一VF对应的第一虚拟网卡资源信息,向控制节点发送所述第一虚拟网卡资源信息。
这里,控制节点与所述第一VM关联;用户通过控制节点的网管功能创建第一VM。其中,所述控制节点可以与计算节点共同设置于一个物理服务器上,也可以与计算节点区别布局,即控制节点位于另一物理服务器上。
具体的,所述第一虚拟网卡资源包括所述至少一个第一VF可以提供的虚拟化网络资源。
在步骤140中:生成所述至少两个VF中的除所述至少一个第一VF以外的其他VF对应的第二虚拟网卡资源信息,向所述控制节点发送所述其他VF中的任一VF提供的第二虚拟网卡资源信息。
具体的,所述第二虚拟网卡资源包括除至少一个第一VF外的任意VF可以提供的虚拟化网络资源。
具体的,计算节点收集第一VM上可以提供的虚拟网卡资源信息,所述虚拟网卡资源信息包括第一VM内部虚拟网卡的PCI地址信息,OVDK服务进程将与之关联的第一VF的虚拟网卡资源信息上报至控制节点,该虚拟网卡资源可以提供基于OVDK技术的虚拟网卡服务;SR-IOV服务进程将与其关联的所有虚拟功能VF的虚拟网卡资源信息上报至控制节点,然后保存在资源池中。控制节点收集并存储所有上报的虚拟网卡资源信息。
例如,基于上述实施例的步骤后,计算节点控制OVDK服务进程将VF0的虚拟网卡资源信息上报至控制节点(例如记为Controller1),计算节点控制SR-IOV服务进程将其他所有VF1~VF62的虚拟网卡资源信息上报至Controller1,控制Controller1收集并存储接收到的所有虚拟网卡资源信息。
在步骤150中:控制节点接收虚拟网卡资源分配请求,根据所述第一虚拟网卡资源信息和/或第二虚拟网卡资源信息生成部署命令。
具体的,当有网元需要使用网卡来进行数据的传输时,所述网元向控制节点发送虚拟网卡资源分配请求。当控制节点接收到所述网元的虚拟网卡资源分配请求时,控制节点查询存储在本地的虚拟网卡资源信息,所述虚拟网卡资源信息包括第一虚拟网卡资源信息和第二虚拟网卡资源信息,根据所述虚拟网卡资源信息生成部署命令。
例如,媒体网关设备M1需要进行数据传输,所述数据传输包括大量的媒体数据的传输和流量控制信息的交互,SR-IOV技术可以为大量的媒体数据的传输提供服务,OVDK技术可以为流量控制信息的交互提供服务。Controller1接收到媒体网关设备M1发送的虚拟网卡资源分配请求信息R1,Controller1根据存储在本地的虚拟网卡资源信息生成部署命令O1。
在步骤160中:根据所述部署命令部署网元。
这里,将所述其他VF中的任一VF和所述至少一个第一VF分配给所述网元使用。
具体的,当计算节点收到部署命令后,运行在计算节点上的OVDK服务进程和SR-IOV服务进程根据所述部署命令,将支持SR-IOV服务的其他VF中的任一VF和支持OVDK服务的至少一个的第一VF分配给所述网元使用。
例如,物理服务器S1根据所述部署命令O1后,OVDK服务进程将VF0分配给媒体网关设备M1使用,给媒体网关设备M1提供媒体数据的传输服务,SR-IOV服务进程将VF1分配给媒体网关设备M1使用,给媒体网关设备M1提供流量控制信息的交互服务,完成网关的部署。
如此,通过将一个PF配置出多个VF,将至少一个的VF配置成支持OVDK功能,将其他所有VF配置成支持SR-IOV功能,使得所述物理功能PF可以同时支持OVDK技术和SR-IOV技术,可以使运营商在使用最少PF情况下,部署混合网络性能需要的网元的能力,降低了对部署同时具有高转发性能和多虚拟网卡需求网元的硬件门槛,提升了运营商的环境使用上的灵活性和降低了整体设备成本。
本公开实施例提供的一种物理功能复用装置,如图3所示,应用于网络设备,所述网络设备包括至少一个虚拟机VM;所述至少一个VM中的第一VM具有至少一个物理功能PF;所述第一VM为所述至少一个VM中的任一VM;所述至少一个PF中的第一PF配置至少两个虚拟功能VF;所述第一PF为所述至少一个PF中的任一PF,所述装置包括:
第一配置模块,用于配置所述至少两个VF中的至少一个第一VF支持OVDK功能;所述第一VF为所述至少两个VF中的任一VF;
第二配置模块,用于配置所述至少两个VF中的除所述至少一个第一VF以外的其他VF支持SR-IOV功能。
在一实施例中,所述第一配置模块具体用于:配置所述至少一个第一VF加载DPDK驱动。
在一实施例中,所述第一配置模块,还用于:生成至少一个第一VF提供的第一虚拟网卡资源信息;向控制节点发送所述第一虚拟网卡资源信息;所述第二配置模块,还用于:生成所述至少两个VF中的除所述至少一个的第一VF以外的其他VF对应的第二虚拟网卡资源信息;向所述控制节点发送所述其他VF中的任一VF提供的第二虚拟网卡资源信息。
在一实施例中,如图4所示,所述装置还包括控制节点,用于接收虚拟网卡资源分配请求,根据所述第一虚拟网卡资源信息和/或第二虚拟网卡资源信息生成部署命令;第一配置模块和/或第二配置模块,用于根据所述部署命令部署网元。
在一实施例中,所述第一配置模块具体用于:将所述至少一个第一VF分配给所述网元使用;所述第二配置模块具体用于:将所述其他VF中的任一VF分配给所述网元使用。
本公开的装置实施例参照上述本公开的方法实施例。
如此,通过将一个物理功能PF配置出多个虚拟功能VF,将至少一个VF配置成支持OVDK功能,将其他所有VF配置成支持SR-IOV功能,使得所述物理功能PF可以同时支持OVDK技术和SR-IOV技术,可以使运营商在使用最少PF的情况下,提高混合部署网络性能需要的网元的能力,降低了对部署同时具有高转发性能和多虚拟网卡需求网元的硬件门槛,提升了运营商的环境使用上的灵活性和降低了整体设备成本。
上述发明实施例中,所述物理功能复用装置中的第一配置模块、第二配置模块在实际应用中均可由CPU、DSP、MCU或FPGA实现。控制节点可以由物理服务器实现。
需要说明的是:上述实施例提供的物理功能复用装置在进行物理功能复用时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的物理功能复用装置与物理功能复用方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
具体示例一
本公开实施例还提供了一种物理功能复用的方法,应用于虚拟机,所述虚拟机上加载 有OVDK服务进程和SR-IOV服务进程,本发明所应用的网卡复用装置的组成如图5所示,在服务器上创建有虚拟机VM,虚拟机VM上有物理功能PF1,生成63个虚拟功能VF,服务器上加载有OVDK服务进程和SR-IOV服务进程,OVDK服务进程与VF0关联,SR-IOV服务进程与VF1~VF62关联,PF1挂接在交换机上
如图6所示,在第一服务器上创建有VM1,第一服务器上加载有OVDK服务进程和SR-IOV服务进程,OVDK服务进程与PF2关联,挂接到虚拟交换机上,SR-IOV服务进程与PF3关联,PF2和PF3都挂接到交换机上。在第二服务器上创建有VM2,VM2上有PF1,生成VF0~VF62,第二服务器上加载有OVDK服务进程和SR-IOV服务进程,OVDK服务进程与VF0关联,SR-IOV服务进程与VF1~VF62关联,PF1挂接在交换机上。
本公开实施例在进行物理功能复用时的控制流分别如图7和8所示,所述步骤如下:
S201:VM2上计算节点控制OVDK服务进程为VF0加载DPDK驱动并挂接到虚拟交换机上。
S202:VM1上计算节点控制SR-IOV服务进程向控制节点上报其虚拟化网络资源,所述虚拟化网络资源为PF3的所有网络资源,控制节点将虚拟化网络资源保存到资源池。
S203:VM1上计算节点控制OVDK服务进程向控制节点上报其虚拟化网络资源,所述虚拟化网络资源为PF2的所有网络资源,所述PF2可以在第一服务器上提供基于OVDK技术的虚拟网卡服务。
S204:VM2上计算节点控制SR-IOV服务进程向控制节点上报其虚拟化网络资源,所述虚拟化网络资源为PF1的虚拟功能VF1~VF62,控制节点将虚拟化网络资源保存到资源池。
S205:VM2上计算节点控制OVDK服务进程向控制节点上报其虚拟化网络资源,所述虚拟化网络资源为VF0,所述VF0可以在VM2上提供基于OVDK技术的虚拟网卡服务。
S301:用户通过控制节点发出部署VM1和VM2的管理命令,其中VM1和VM2都需要使用两个虚拟网络接口,所述虚拟网络接口的类型包括高性能转发SRIOV-direct类型和non-SRIOV的普通虚拟交换tap类型,即VM1和VM2都需要使用两种不同的虚拟网卡服务。
S302:控制节点查询到VM1和VM2上均可同时提供以上两种虚拟网卡服务。
S303:控制节点向VM1和VM2发起部署控制命令,并通知SR-IOV服务进程和OVDK 服务进程分配网络资源。在第一服务器上,计算节点控制SR-IOV服务进程和OVDK服务进程根据控制命令,调用PF2和PF3进行数据交换;在VM2上,计算节点控制SR-IOV服务进程根据控制命令,调用VF62进行数据交换,计算节点控制OVDK服务进程调用能VF0进行数据交换。
S304:VM1和VM2部署完成,数据传输互通成功,VM1调用PF2和PF3进行数据传输,VM2使用PF1进行数据传输。
具体示例二
本公开实施例还公开了一种物理功能复用方法,如图9所示,本公开实施例的物理功能复用装置如图9所示,物理功能复用装置基于上述具体示例一所述的之外,在第二服务器上还包括PF4,通过Hypervisor提供存储面的服务,挂接在虚拟交换机上。所述Hypervisor是一种运行在基础物理服务器和操作系统之间的中间软件层,可以访问服务器上包括磁盘和内存在内的所有物理设备。本公开实施例进行物理功能复用时的控制如上述具体示例一所述。
如此,通过将一个PF配置出多个虚拟功能VF,将一个VF配置成支持OVDK功能,将其他所有VF配置成支持SR-IOV功能,使得所述物理功能PF可以同时支持OVDK技术和SR-IOV技术,可以使运营商在使用最少PF的情况下,提高混合部署网络性能需要的网元的能力,降低了对部署同时具有高转发性能和多虚拟网卡需求网元的硬件门槛,提升了运营商的环境使用上的灵活性和降低了整体设备成本。
本公开实施例还提供了一种计算机可读存储介质,其上存储有可执行程序,所述可执行程序被处理器执行实现上述任一物理功能复用方法。
本公开实施例还提供了一种物理功能复用装置,该装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器运行用于运行所述计算机程序时,执行实现上述任一物理功能复用方法。
可以理解,存储器可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,Ferromagnetic Random Access Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面 存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本公开实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本公开实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
在实施例中,信息处理装置可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间 接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (11)

  1. 一种物理功能复用方法,其特征在于,应用于网络设备,所述网络设备包括至少一个虚拟机VM;所述至少一个VM中的第一VM具有至少一个物理功能PF;所述第一VM为所述至少一个VM中的任一VM;所述至少一个PF中的第一PF配置至少两个虚拟功能VF;所述第一PF为所述至少一个PF中的任一PF,所述方法包括:
    配置所述至少两个VF中的至少一个第一VF支持OVDK功能;所述第一VF为所述至少两个VF中的任一VF;
    配置所述至少两个VF中的除所述至少一个第一VF以外的其他VF支持单根输入/输出虚拟化SR-IOV功能。
  2. 根据权利要求1所述的方法,其特征在于,所述配置所述至少两个VF中的至少一个第一VF支持OVDK功能,包括:
    配置所述至少一个第一VF加载DPDK驱动。
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    生成至少一个第一VF对应的第一虚拟网卡资源信息;
    向控制节点发送所述第一虚拟网卡资源信息;
    生成所述至少两个VF中的除所述至少一个第一VF以外的其他VF对应的第二虚拟网卡资源信息;
    向所述控制节点发送所述其他VF中的任一VF提供的第二虚拟网卡资源信息。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    控制节点接收虚拟网卡资源分配请求,根据所述第一虚拟网卡资源信息和/或第二虚拟网卡资源信息生成部署命令;
    根据所述部署命令分配网卡资源。
  5. 根据权利要求4所述的方法,其特征在于,所述根据所述部署命令分配网卡资源,包括:
    将所述其他VF中的任一VF和所述至少一个第一VF分配给所述虚拟网卡资源分配请求对应的网元。
  6. 一种物理功能复用装置,其特征在于,应用于网络设备,所述网络设备包括至少一个虚拟机VM;所述至少一个VM中的第一VM具有至少一个物理功能PF;所述第一 VM为所述至少一个VM中的任一VM;所述至少一个PF中的第一PF配置至少两个虚拟功能VF;所述第一PF为所述至少一个PF中的任一PF,所述装置包括:
    第一配置模块,用于配置所述至少两个VF中的至少一个第一VF支持OVDK功能;所述第一VF为所述至少两个VF中的任一VF;
    第二配置模块,用于配置所述至少两个VF中的除所述至少一个第一VF以外的其他VF支持单根输入/输出虚拟化SR-IOV功能。
  7. 根据权利要求6所述的装置,其特征在于,所述第一配置模块用于:配置所述至少一个第一VF加载DPDK驱动。
  8. 根据权利要求6所述的装置,其特征在于,所述第一配置模块,还用于:生成至少一个第一VF提供的第一虚拟网卡资源信息;向控制节点发送所述第一虚拟网卡资源信息;
    所述第二配置模块,还用于:生成所述至少两个VF中的除所述至少一个第一VF以外的其他VF对应的第二虚拟网卡资源信息;向所述控制节点发送所述其他VF中的任一VF提供的第二虚拟网卡资源信息。
  9. 根据权利要求8所述的装置,其特征在于,所述装置还包括控制节点,用于接收虚拟网卡资源分配请求,根据所述第一虚拟网卡资源信息和/或第二虚拟网卡资源信息生成部署命令;
    第一配置模块和/或第二配置模块,用于根据所述部署命令分配网卡资源。
  10. 根据权利要求9所述的装置,其特征在于,所述第一配置模块用于:将所述至少一个第一VF分配给所述虚拟网卡资源分配请求对应的网元;
    所述第二配置模块用于:将所述其他VF中的任一VF分配给所述虚拟网卡资源分配请求对应的网元。
  11. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
PCT/CN2019/094467 2018-07-23 2019-07-03 一种物理功能复用方法、装置和计算机存储介质 WO2020019950A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP19841350.2A EP3820083B1 (en) 2018-07-23 2019-07-03 Physical function multiplexing method and apparatus and computer storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810810147.5 2018-07-23
CN201810810147.5A CN110752937B (zh) 2018-07-23 2018-07-23 一种物理功能复用方法、装置和计算机存储介质

Publications (1)

Publication Number Publication Date
WO2020019950A1 true WO2020019950A1 (zh) 2020-01-30

Family

ID=69181267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/094467 WO2020019950A1 (zh) 2018-07-23 2019-07-03 一种物理功能复用方法、装置和计算机存储介质

Country Status (3)

Country Link
EP (1) EP3820083B1 (zh)
CN (1) CN110752937B (zh)
WO (1) WO2020019950A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778626A (zh) * 2021-08-31 2021-12-10 山石网科通信技术股份有限公司 虚拟网卡的热插拔处理方法、装置、存储介质及处理器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535319A (zh) * 2020-04-09 2021-10-22 深圳致星科技有限公司 一种实现多rdma网卡虚拟化的方法、设备及存储介质
CN114844744B (zh) * 2022-03-04 2023-07-21 阿里巴巴(中国)有限公司 虚拟私有云网络配置方法和装置、电子设备及计算机可读存储介质
US20240004679A1 (en) * 2022-06-29 2024-01-04 Microsoft Technology Licensing, Llc Accelerating Networking by Multiplexing Driver Data Paths

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105790991A (zh) * 2014-12-24 2016-07-20 中兴通讯股份有限公司 虚拟化服务器的链路聚合方法、系统及其智能网络适配器
CN106250211A (zh) * 2016-08-05 2016-12-21 浪潮(北京)电子信息产业有限公司 一种基于sr_iov的虚拟化实现方法
CN107643938A (zh) * 2017-08-24 2018-01-30 中国科学院计算机网络信息中心 数据传输方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104272288B (zh) * 2012-06-08 2018-01-30 英特尔公司 用于实现虚拟机vm平台通信回送的方法和系统
US9734096B2 (en) * 2013-05-06 2017-08-15 Industrial Technology Research Institute Method and system for single root input/output virtualization virtual functions sharing on multi-hosts
CN104461958B (zh) * 2014-10-31 2018-08-21 华为技术有限公司 支持sr-iov的存储资源访问方法、存储控制器及存储设备
US9898430B2 (en) * 2014-11-12 2018-02-20 Vmware, Inc. Tracking virtual machine memory modified by a single root I/O virtualization (SR-IOV) device
CN105808167B (zh) * 2016-03-10 2018-12-21 深圳市杉岩数据技术有限公司 一种基于sr-iov的链接克隆的方法、存储设备及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105790991A (zh) * 2014-12-24 2016-07-20 中兴通讯股份有限公司 虚拟化服务器的链路聚合方法、系统及其智能网络适配器
CN106250211A (zh) * 2016-08-05 2016-12-21 浪潮(北京)电子信息产业有限公司 一种基于sr_iov的虚拟化实现方法
CN107643938A (zh) * 2017-08-24 2018-01-30 中国科学院计算机网络信息中心 数据传输方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3820083A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778626A (zh) * 2021-08-31 2021-12-10 山石网科通信技术股份有限公司 虚拟网卡的热插拔处理方法、装置、存储介质及处理器

Also Published As

Publication number Publication date
EP3820083A1 (en) 2021-05-12
CN110752937B (zh) 2022-04-15
CN110752937A (zh) 2020-02-04
EP3820083B1 (en) 2023-03-01
EP3820083A4 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
WO2020019950A1 (zh) 一种物理功能复用方法、装置和计算机存储介质
US11005755B2 (en) Packet processing method in cloud computing system, host, and system
US10491517B2 (en) Packet processing method in cloud computing system, host, and system
US10701139B2 (en) Life cycle management method and apparatus
CN106557444B (zh) 实现sr-iov网卡的方法和装置、实现动态迁移的方法和装置
WO2017148249A1 (zh) 配置资源的方法及其网络设备
US11507426B2 (en) Resource pool management method and apparatus, resource pool control unit, and communications device
US9712436B2 (en) Adaptive load balancing for bridged systems
CN108132827B (zh) 一种网络切片资源映射方法、相关设备及系统
JP7377965B2 (ja) ネットワークリソース管理方法、システム、ネットワーク機器と可読記憶媒体
WO2014201623A1 (zh) 用于数据传输的方法、装置和系统以及物理网卡
WO2018214965A1 (zh) 无线网络功能虚拟化方法及装置
CN106815067B (zh) 带i/o虚拟化的虚拟机在线迁移方法、装置
CN114448978B (zh) 一种网络接入方法、装置、电子设备及存储介质
CN107807840B (zh) 一种应用于虚拟机网络的设备直通方法以及装置
CN104156663A (zh) 一种硬件虚拟端口及处理器系统
CN110795202A (zh) 一种虚拟化集群资源管理系统的资源分配方法以及装置
CN111092828B (zh) 网络操作方法、装置、设备和存储介质
US20210157626A1 (en) Prioritizing booting of virtual execution environments
CN114253704A (zh) 一种分配资源的方法及装置
CN109002347B (zh) 一种虚拟机内存分配方法、装置及系统
WO2022141293A1 (zh) 一种弹性伸缩的方法及装置
CN117792996A (zh) 虚拟化方法、加速卡、加速系统、装置、设备及存储介质
US10223235B2 (en) Comprehensive testing of computer hardware configurations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19841350

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019841350

Country of ref document: EP

Effective date: 20210203