An intelligent network card control method and device, electronic equipment and storage medium

By using a smart NIC control method, the smart NIC and hardware switch drivers are identified, their relationship is established, and the smart NIC is controlled using a cloud computing management platform. This solves the problem that traditional NICs cannot adapt to SDN, NFV, and resource cloudification, enabling multiple virtual machines to share physical resources and improving port binding efficiency.

CN116243988BActive Publication Date: 2026-02-10CHINA TELECOM CLOUD TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211686002.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-27
Publication Date
2026-02-10
Estimated Expiration
2042-12-27

AI Technical Summary

Technical Problem

Traditional network interface cards (NICs) cannot adapt to SDN, NFV, and resource cloudification, resulting in multiple virtual machines being unable to share physical resources and leading to low efficiency in hierarchical port binding.

Method used

By using a smart network interface card (NIC) control method, the smart NIC driver and hardware switch driver are determined, the association between the network interface and the virtual machine is constructed, and the smart NIC is controlled using a cloud computing management platform to enable multiple virtual machines to share physical resources.

Benefits of technology

It improves the efficiency of hierarchical port binding, enabling multiple virtual machines to share physical resources through a cloud computing management platform, reducing the time and cost of resource deployment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116243988B_ABST
    Figure CN116243988B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a kind of intelligent network card control method, device, electronic equipment and storage medium, by determining the intelligent network card driver corresponding to the intelligent network card, and, the hardware switch driver corresponding to the hardware switch;Control the management network service plug-in is constructed by the intelligent network card driver, and the hardware switch driver, for the association between the network interface and the virtual machine;Using the cloud computing management platform based on the association control the intelligent network card, so as to realize that multiple virtual machines share physical resources through cloud computing management platform, improve the efficiency of hierarchical port binding.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of smart network card control technology, and in particular to a smart network card control method, a smart network card control device, an electronic device, and a computer-readable storage medium. Background Technology

[0002] Traditional hierarchical port binding is based on OVS and combined with EVPN technology supported by hardware switches to realize network SDN and cloudification. However, in the traditional hierarchical port binding process, because traditional network cards cannot adapt to SDN, NFV and resource cloudification, multiple virtual machines cannot share physical resources. Summary of the Invention

[0003] This invention provides a smart network interface card (NIC) control method, device, electronic device, and computer-readable storage medium to solve the problem of multiple virtual machines sharing physical resources based on hierarchical port binding.

[0004] This invention discloses a control method for a smart network interface card (NIC). The smart NIC has a corresponding cloud computing management platform and a hardware switch. The cloud computing management platform includes a network service management plugin. The smart NIC has a corresponding virtual machine, and the hardware switch has a corresponding network interface. The method may include:

[0005] Determine the smart network card driver corresponding to the smart network card, and the hardware switch driver corresponding to the hardware switch;

[0006] The management network service plugin controls the construction of the association between the network interface and the virtual machine through the smart network card driver and the hardware switch driver;

[0007] The cloud computing management platform is used to control the smart network interface card based on the association relationship.

[0008] Optionally, the management network service plugin is configured with a corresponding configuration file, and the steps of determining the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch may include:

[0009] The configuration file is used to determine the smart network card driver corresponding to the smart network card, and the hardware switch driver corresponding to the hardware switch.

[0010] Optionally, the step of controlling the management network service plugin to construct the association between the network interface and the virtual machine through the smart network card driver and the hardware switch driver may include:

[0011] The network management service plugin calls the smart NIC driver to determine the network type for the smart NIC; the network type includes virtual LAN and virtual extended LAN.

[0012] The management network service plugin calls the hardware switch driver to determine the VLAN range of the network interface for the VLAN and the VLAN range of the hardware switch driver for the VLAN extended VLAN, so as to establish an association between the network interface and the virtual machine; the association is used to bind the network interface and the virtual machine.

[0013] Optionally, the cloud computing management platform includes a virtual server deployment and business computing module, and may further include:

[0014] The address information and other configuration information for the cloud computing management platform and the virtual machine are determined through the virtual server deployment and business computing module.

[0015] A single root I / O virtualization agent is generated for the virtual machine, and the single root I / O virtualization agent is loaded into the virtual machine; the single root I / O virtualization agent is used to establish a connection between the virtual machine and the cloud computing management platform, and the single root I / O virtualization agent has a corresponding agent configuration file; the smart network card driver has a corresponding driver configuration file.

[0016] The association relationship is written in the agent configuration file and the driver configuration file.

[0017] Optionally, the cloud computing management platform has a corresponding upper-layer intelligent orchestrator, which is used to generate network resource configuration information using the association relationship, the address information, and the other configuration information.

[0018] Optionally, the step of using the cloud computing management platform to control the smart network interface card based on the association relationship may include:

[0019] The cloud computing management platform receives the network resource configuration information sent by the upper-layer intelligent orchestrator and controls the intelligent network interface card based on the network resource configuration information.

[0020] Optionally, the hardware switch is configured with a corresponding SDN controller and an SD-WAN controller, and the step of controlling the smart network interface card based on the network resource configuration information may include:

[0021] By controlling the SDN controller and the SD-WAN controller, the network resource configuration information is sent to the smart network interface card (NIC) to control the smart NIC.

[0022] This invention also discloses a control device for a smart network interface card (NIC). The smart NIC has a corresponding cloud computing management platform and a hardware switch. The cloud computing management platform includes a network service management plugin. The smart NIC has a corresponding virtual machine, and the hardware switch has a corresponding network interface. The device may include:

[0023] The driver determination module is used to determine the smart network card driver corresponding to the smart network card, and the hardware switch driver corresponding to the hardware switch.

[0024] The association construction module is used to control the management network service plugin to construct an association between the network interface and the virtual machine through the smart network card driver and the hardware switch driver;

[0025] The smart network interface card (NIC) control module is used to control the smart NIC based on the association relationship using the cloud computing management platform.

[0026] Optionally, the management network service plugin has a corresponding configuration file, and the driver determination module may include:

[0027] The driver determination submodule is used to determine the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch using the configuration file.

[0028] Optionally, the association construction module may include:

[0029] The network type determination submodule is used to determine the network type for the smart network card by calling the smart network card driver through the management network service plugin; the network type includes virtual LAN and virtual extended LAN.

[0030] The association construction submodule is used to determine the virtual LAN range of the network interface for the virtual LAN by calling the hardware switch driver through the management network service plugin, and to determine the virtual extended LAN range of the hardware switch driver for the virtual extended LAN, so as to construct an association relationship between the network interface and the virtual machine; the association relationship is used to bind the network interface and the virtual machine.

[0031] Optionally, the cloud computing management platform includes a virtual server deployment and business computing module, and may further include:

[0032] The address information and other configuration information determination submodule is used to determine the address information and other configuration information for the cloud computing management platform and the virtual machine through the virtual server deployment and business computing module;

[0033] A single root I / O virtualization agent generation submodule is used to generate a single root I / O virtualization agent for the virtual machine and load the single root I / O virtualization agent into the virtual machine; the single root I / O virtualization agent is used to establish a connection between the virtual machine and the cloud computing management platform, and the single root I / O virtualization agent has a corresponding agent configuration file; the smart network card driver has a corresponding driver configuration file.

[0034] The association writing submodule is used to write the association in the agent configuration file and the driver configuration file.

[0035] Optionally, the cloud computing management platform has a corresponding upper-layer intelligent orchestrator, which is used to generate network resource configuration information using the association relationship, the address information, and the other configuration information.

[0036] Optionally, the smart network interface card (NIC) control module may include:

[0037] The intelligent network interface card (NIC) control submodule is used to receive network resource configuration information sent by the upper-layer intelligent orchestrator through the cloud computing management platform, and to control the intelligent NIC based on the network resource configuration information.

[0038] Optionally, the smart network interface card (NIC) control submodule may include:

[0039] The smart network interface card (NIC) control unit is used to control the smart NIC by controlling the SDN controller and the SD-WAN controller, based on sending the network resource configuration information to the smart NIC.

[0040] This invention also discloses an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;

[0041] The memory is used to store computer programs;

[0042] When the processor executes a program stored in the memory, it implements the method described in the embodiments of the present invention.

[0043] This invention also discloses a computer-readable storage medium storing instructions that, when executed by one or more processors, cause the processors to perform the methods described in this invention.

[0044] The embodiments of the present invention have the following advantages:

[0045] In this embodiment of the invention, by determining the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch, the management network service plugin is controlled to construct an association relationship between the network interface and the virtual machine through the smart network card driver and the hardware switch driver; the cloud computing management platform is used to control the smart network card based on the association relationship, thereby enabling multiple virtual machines to share physical resources through the cloud computing management platform and improving the efficiency of hierarchical port binding. Attached Figure Description

[0046] Figure 1 This is a flowchart of the steps of a smart network card control method provided in an embodiment of the present invention;

[0047] Figure 2 This is a schematic diagram of a cloud computing management platform provided in an embodiment of the present invention;

[0048] Figure 3 This is a structural block diagram of a smart network card control device provided in an embodiment of the present invention;

[0049] Figure 4 This is a hardware structure block diagram of an electronic device provided in various embodiments of the present invention. Detailed Implementation

[0050] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0051] Traditional hierarchical port bonding, based on OVS and combined with EVPN technology supported by hardware switches, achieves SDN and cloudification of the network. However, a significant amount of resources and time are wasted at the Hypervisor (or VMM) software level during this process, preventing the full realization of the performance advantages of PCIe devices. Furthermore, traditional network interface cards (NICs) cannot adapt to SDN, NFV, and resource cloudification. SR-IOV hierarchical bonding based on smart NICs eliminates this bottleneck, allowing multiple virtual machines to share physical resources directly. It also leverages the programmability of smart NICs to transfer network virtualization capabilities from the CPU to the NIC, enabling rapid resource scheduling and deployment, improved compute node performance, and cloud-network convergence, significantly reducing resource deployment time and costs. Currently, the open-source OpenStack only implements OVS-based hierarchical port bonding; further implementation of SR-IOV hierarchical bonding based on smart NICs is needed.

[0052] Reference Figure 1 The diagram illustrates a flowchart of a smart network interface card (NIC) control method provided in an embodiment of the present invention, which may specifically include the following steps:

[0053] Step 101: Determine the smart network card driver corresponding to the smart network card, and the mechanical driver corresponding to the hardware switch;

[0054] Step 102: Control the management network service plugin to build an association between the network interface and the virtual machine through the smart network card driver and the hardware switch driver;

[0055] Step 103: The cloud computing management platform is used to control the smart network card based on the association relationship.

[0056] In practical applications, VMware virtual machine software is a "virtual PC" that allows you to run two or more Windows, DOS, or Linux systems simultaneously on a single machine. This is a completely different concept from "multi-boot" systems. Multi-boot systems can only run one system at a time, and a machine restart is required when switching between systems.

[0057] SR-IOV (Single-Root I / O Virtualization) technology is a physical hardware-based virtualization solution that improves the scalability and performance of physical I / O devices. SR-IOV technology allows for efficient sharing of PCIe devices among virtual machines, and because it is hardware-based, it enables virtual machines to achieve I / O performance comparable to the host machine.

[0058] Physical Function (PF): PF is a full-featured PCIe (Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard) that can be discovered, managed, and processed like any other PCIe device. PF has the ability to fully configure and control the resources of PCIe devices.

[0059] Virtual Function (VF): A VF is a lightweight PCIe function that can share one or more physical resources with a Physical Function (PF) and other VFs associated with the same PF. A VF is only allowed to have configuration resources for its own behavior.

[0060] In practical applications, OpenStack is an open-source cloud computing management platform project, which is a combination of a series of open-source software projects.

[0061] The smart network card in this embodiment of the invention can be a virtual network card (VF) installed on a virtual machine (VM). The smart network card can have a corresponding cloud computing management platform OpenStack and a hardware switch. The cloud computing management platform OpenStack can include a network service management plugin, Neutron ML2, and the network interface corresponding to the hardware switch can be a physical network port (PF).

[0062] In practical applications, the EOR architecture equips network racks (possibly one at the edge of each row of server racks, or one at each end) to provide a unified network access point. Server network cards on the server racks are connected to the patch panel within the same rack via short-distance network patch cords, DACs, or fiber optic patch cords. Cables on the patch panel are bundled with cable ties and then run through cable trays or the floor to connect to the outermost network rack in each row. The TOR architecture is an extension of the EOR architecture. It deploys 1-2 access switches on each server rack. Servers connect to the switches within the rack via cables, and the uplink ports of the switches connect to the aggregation switches in the network rack via cables.

[0063] The hardware switch in this embodiment of the invention may be a switch including TOR architecture and / or EOR architecture.

[0064] In specific implementations, embodiments of the present invention can determine the smart network card driver corresponding to the smart network card, for example, the SRIOV driver; and determine the hardware switch driver corresponding to the hardware switch, for example, the Mechanism Driver driver.

[0065] After determining the smart network interface card (NIC) driver and the hardware switch driver, the network service plugin can be controlled to establish an association between physical network ports and virtual machines through the NIC driver and the hardware switch driver. The cloud computing management platform can then control the NIC based on this association, thereby enabling multiple virtual machines to share physical resources through the cloud computing management platform.

[0066] In this embodiment of the invention, by determining the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch, the management network service plugin is controlled to construct an association relationship between the network interface and the virtual machine through the smart network card driver and the hardware switch driver; the cloud computing management platform is used to control the smart network card based on the association relationship, thereby enabling multiple virtual machines to share physical resources through the cloud computing management platform and improving the efficiency of hierarchical port binding.

[0067] Based on the above embodiments, modified embodiments of the above embodiments are proposed. It should be noted that, in order to keep the description brief, only the differences from the above embodiments are described in the modified embodiments.

[0068] In an optional embodiment of the present invention, the management network service plugin is configured with a corresponding configuration file, and the steps of determining the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch include:

[0069] The configuration file is used to determine the smart network card driver corresponding to the smart network card, and the hardware switch driver corresponding to the hardware switch.

[0070] In practical applications, the management network service plugin neutron ML2 can be configured with corresponding configuration files. In order to more efficiently determine the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch, this embodiment of the invention can specify the driver to be invoked through the configuration file of the management network service plugin neutron ML2. That is, the configuration file of the management network service plugin neutron ML2 determines the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch.

[0071] In this embodiment of the invention, the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch are determined by using the configuration file, thereby further improving the efficiency of hierarchical port binding.

[0072] In an optional embodiment of the present invention, the step of controlling the management network service plugin to construct the association between the network interface and the virtual machine through the smart network card driver and the hardware switch driver includes:

[0073] The network management service plugin calls the smart NIC driver to determine the network type for the smart NIC; the network type includes virtual LAN and virtual extended LAN.

[0074] The management network service plugin calls the hardware switch driver to determine the VLAN range of the network interface for the VLAN and the VLAN range of the hardware switch driver for the VLAN extended VLAN, so as to establish an association between the network interface and the virtual machine; the association is used to bind the network interface and the virtual machine.

[0075] A Virtual Local Area Network (VLAN) is a logical group of devices and users that are not limited by physical location. They can be organized based on factors such as function, department, and application, and their communication is as if they were on the same network segment, hence the name Virtual Local Area Network. Since switch ports have two VLAN attributes: VLAN ID and VLAN TAG, which correspond to setting VLAN tags for data packets and allowing VLAN TAG (label) data packets to pass, different VLAN ID ports can build VLANs by mutually allowing VLAN TAGs. VLAN is a relatively new technology, operating at layers 2 and 3 of the OSI reference model. A VLAN is not necessarily a broadcast domain, and communication between VLANs does not necessarily require a routing gateway. VLANs can form VLANs with different access control attributes by mutually allowing VLAN TAGs. This can also be accomplished through layer 3 routers. However, through the allowing of VLAN IDs and VLAN TAGs, VLANs can provide logical topology and access control for almost any information integration system architecture within a local area network, and achieve seamless sharing with other information systems sharing physical network links. VLANs can provide a virtual network topology that conforms to the business structure for information services and sub-services, as well as between information services, and implement access control functions. Compared with traditional LAN technology, VLAN technology is more flexible and has the following advantages: reduced management overhead for moving, adding, and modifying network devices; control of broadcast activities; and improved network security.

[0076] VXLAN is a network virtualization technology that improves scalability during large-scale cloud deployments and is an extension of VLANs. VXLAN is a powerful tool that can extend Layer 2 networks by penetrating Layer 3. It overcomes the portability limitations of VMS (Virtual Memory System) by encapsulating traffic and extending it to a Layer 3 gateway, enabling access to servers on external IP subnets.

[0077] For example, the OpenStack Neutron ML2 plugin can be installed on a virtual machine that supports SRIOV functionality. The Neutron ML2 management network service plugin calls the SRIOV smart NIC driver to determine the network type for the smart NIC. This network type can include Virtual Local Area Network (VLAN) and Virtual Extended Local Area Network (VXLAN). The ML2 plugin specifies the mechanism driver SRIOV component, defines the VLAN range of the network interface PF, and determines the physical NIC PF and network correspondence. The ML2 plugin calls the mechanism driver to specify the VXLAN range for the hardware switch driver. This allows the ML2 component in OpenStack Neutron to call the SRIOV smart NIC's virtual NIC VF driver to distribute the corresponding VLANs, and it can also call the Mechanism Driver to distribute VXLANs for the hardware distributed gateway ports. This enables a one-to-one binding between the physical NIC PF and the corresponding VLAN of the VF, mapping the services of different tenants to the corresponding VXLAN networks, thereby achieving hierarchical port binding capabilities based on the smart NIC using SRIOV.

[0078] In this embodiment of the invention, the network type for the smart network card is determined by calling the smart network card driver through the management network service plugin; the network type includes virtual LAN and virtual extended LAN; the virtual LAN range of the network interface for the virtual LAN is determined by calling the hardware switch driver through the management network service plugin, and the virtual extended LAN range of the hardware switch driver for the virtual extended LAN is also determined, so as to build an association relationship between the network interface and the virtual machine; the association relationship is used to bind the network interface and the virtual machine, and the association relationship between the physical network port and the virtual machine is efficiently built through specific network type characteristics, further improving the efficiency of hierarchical port binding.

[0079] In an optional embodiment of the present invention, the cloud computing management platform includes a virtual server deployment and business computing module, and further includes:

[0080] The address information and other configuration information for the cloud computing management platform and the virtual machine are determined through the virtual server deployment and business computing module.

[0081] A single root I / O virtualization agent is generated for the virtual machine, and the single root I / O virtualization agent is loaded into the virtual machine; the single root I / O virtualization agent is used to establish a connection between the virtual machine and the cloud computing management platform, and the single root I / O virtualization agent has a corresponding agent configuration file; the smart network card driver has a corresponding driver configuration file.

[0082] The association relationship is written in the agent configuration file and the driver configuration file.

[0083] In practical applications, the cloud computing management platform OpenStack can include the virtual server deployment and business computing module Nova. OpenStack comprises two main modules: Nova and Swift. Nova is the core virtualization management program, capable of managing network and storage. This embodiment of the invention uses the cloud computing management platform OpenStack as the control node and virtual machines (VMs) as computing nodes.

[0084] For example, the IP addresses, memory parameters, hard disk capacity parameters, etc. of the control node and compute node can be specified in the virtual server deployment and business computing module nova.

[0085] This invention can generate a single-root I / O virtualization agent (SRIOV agent) for a virtual machine (VM) and load the SRIOV agent onto the VM. In a specific implementation, the SRIOV agent can be used to establish a connection between the VM and the OpenStack cloud computing management platform. This allows the cloud management platform (control node) to interface with the virtualization platform's SRIOV agent via the nova component, thereby enabling data interaction between the cloud management platform (control node) and the VM. For example, the SRIOV agent information can be used to bind virtualization network elements to SRIOV ports, while simultaneously specifying the VM's VLAN information.

[0086] The SRIOV agent can have a corresponding agent configuration file, and the SRIOV driver can have a corresponding driver configuration file. In this embodiment of the invention, the SRIOV agent can be installed on the compute node, and the correspondence between the physical network interface PF and the smart network interface VF of the compute node can be specified in the SRIOV driver configuration file and the SRIOVagent configuration file, that is, the correspondence between the physical network interface PF and the virtual machine.

[0087] In this embodiment of the invention, address information and other configuration information for the cloud computing management platform and the virtual machine are determined through the virtual server deployment and business computing module; a single root I / O virtualization agent for the virtual machine is generated and loaded onto the virtual machine; the single root I / O virtualization agent is used to establish a connection between the virtual machine and the cloud computing management platform, and the single root I / O virtualization agent has a corresponding agent configuration file; the smart network card driver has a corresponding driver configuration file; the association relationship is written into the agent configuration file and the driver configuration file, establishing a connection relationship between the hardware switch, the virtual machine, and the cloud computing management platform, and generating address information and other configuration information for the cloud computing management platform and the virtual machine, as well as saving the association relationship between the physical network port and the virtual machine, laying the foundation for subsequent generation of network resource configuration information for the smart network card.

[0088] In an optional embodiment of the present invention, the cloud computing management platform has a corresponding upper-layer intelligent orchestrator, which is used to generate network resource configuration information using the association relationship, the address information and the other configuration information.

[0089] To further improve the efficiency of hierarchical port binding, embodiments of this invention can configure corresponding upper-layer intelligent orchestrators for the cloud computing management platform, such as NFVO, VNFM, etc. The NFVO (Network Functions Virtualisation Orchestrator) can be used to manage the lifecycle of NS (Network Service) and coordinate the management of NS lifecycle, coordinate the management of VNF (Virtualized Network Function) lifecycle (requires support from VNF Manager VNFM), and coordinate the management of various resources of NFVI (NFV Infrastructure) (requires support from Virtualization Infrastructure Manager VIM), thereby ensuring the optimized configuration of various required resources and connections; VNFM (Virtualized Network Function Manager): a functional module used for managing the lifecycle of virtualized network function modules.

[0090] In this embodiment of the invention, a higher-layer intelligent orchestrator can generate network resource configuration information using association relationships, address information, and other configuration information, thereby improving the efficiency of network resource configuration information generation.

[0091] In an optional embodiment of the present invention, the step of controlling the smart network interface card based on the association relationship using the cloud computing management platform includes:

[0092] The cloud computing management platform receives the network resource configuration information sent by the upper-layer intelligent orchestrator and controls the intelligent network interface card based on the network resource configuration information.

[0093] In this embodiment of the invention, network resource configuration information can be generated by a dedicated upper-layer intelligent orchestrator. Then, the cloud computing management platform controls the intelligent network card based on the network resource configuration information, thereby distinguishing between the computational logic for resource configuration and the computational logic for hardware control, and further improving the control efficiency of the intelligent network card.

[0094] In an optional embodiment of the present invention, the hardware switch is configured with a corresponding SDN controller and an SD-WAN controller, and the step of controlling the smart network interface card based on the network resource configuration information includes:

[0095] By controlling the SDN controller and the SD-WAN controller, the network resource configuration information is sent to the smart network interface card (NIC) to control the smart NIC.

[0096] In practical applications, the SDN controller is an application within Software-Defined Networking (SDN) responsible for flow control to ensure intelligent networking. Based on protocols such as OpenFlow, the SDN controller allows servers to tell switches where to send data packets.

[0097] SD-WAN (Software Defined Wide Area Network) interconnects an enterprise's branches, headquarters, and multiple clouds, selecting the optimal transmission method among different hybrid links (MPLS, Internet, 5G, LTE, etc.) to provide a superior cloud experience. Deploying SD-WAN can improve the reliability, flexibility, and operational efficiency of an enterprise's branch network, ensuring that the branch network is always online and guaranteeing business continuity and stability.

[0098] In this embodiment of the invention, the network resource configuration information is sent to the smart network interface card (NIC) by controlling the SDN controller and the SD-WAN controller, thereby controlling the smart NIC.

[0099] For example, the cloud computing management platform OpenStack interfaces with the SDN controller. By using the management network service plugin neutron ML2 to call the smart NIC driver SRIOV and the hardware switch driver Mechanism Driver, it determines the tenant VLAN and VXLAN network mapping information. The network configuration (VXLAN and VLAN correspondence, etc.) is then distributed through the SD-WAN controller to enable rapid connection of computing node services.

[0100] To enable those skilled in the art to better understand the embodiments of the present invention, a complete example is provided below to illustrate the embodiments of the present invention.

[0101] Southbound interface: The interface for managing network management systems or devices from other manufacturers, i.e., the interface provided downwards.

[0102] Northbound interfaces: These are interfaces provided to other manufacturers or operators for access and management; they are interfaces provided upwards. Examples include CORBA (Common Object Request Broker Architecture), SNMP, and Syslog northbound interfaces. They are responsible for providing northbound interfaces based on CORBA, SNMP, and Syslog protocols to the upper-level network management system, allowing the upper-level network management system to access the network management system through the corresponding protocols.

[0103] refer to Figure 2 , Figure 2This is a schematic diagram of a cloud computing management platform provided in an embodiment of the present invention. The plugin for managing network services in the OpenStack cloud computing management platform is Neutron ML2. The ML2 configuration file on the control node (OpenStack cloud computing management platform) specifies the drivers to be invoked, such as the SRIOV driver and the hardware switch driver (mechanism driver). The OpenStack Neutron ML2 plugin is also installed on compute nodes that support SRIOV functionality, specifying the network type as VLAN or VXLAN. In the ML2 plugin, the mechanism driver SRIOV component is specified, along with the VLAN range of the network interface, defining the physical network interface and network mapping. Within ML2, the mechanism driver is called to drive the hardware switch, specifying the VXLAN range. The SRIOV agent is installed on the compute nodes, with the SRIOV driver configuration file and agent configuration file specifying the physical network interface (PF) and virtual network element (VF) mappings for the compute nodes. The nova component specifies the IP addresses and other configuration information for the control node (OpenStack cloud computing management platform) and compute nodes. The upper-layer intelligent orchestrator centrally plans the network and resource scheduling. After the orchestrator NFVO & VNFM plan the network resources, it transmits the planning requirements to the control node (OpenStack cloud computing management platform) via the southbound interface. OpenStack creates virtual network resources, including network type (VLAN / VXLAN), subnet, and network ports (SRIOV port and VF associations). OpenStack (control node) interfaces with the virtualization platform SRIOV-agent through the nova component, using the SRIOV-agent information to connect virtualized network elements with SRIOV. VF port binding is performed, and the VF VLAN information is specified. The OpenStack cloud computing management platform interfaces with the northbound interface of the SDN controller. By calling the ML2 SRIOV driver and hardware switch driver, the tenant VLAN and VXLAN network mapping information are determined. The network configuration (VXLAN and VLAN correspondence, etc.) is issued through the SD-WAN controller to achieve rapid connection of computing node services.

[0104] The above methods enable the orchestrator, cloud management platform (control node), SDN controller, and compute nodes (smart NICs supporting SRIOV) to work together, achieving SRIOV hierarchy based on smart NICs. Through SRIOV hierarchy capabilities, end-to-end automated provisioning of tenant services can be guaranteed, the virtualization processing performance of compute nodes can be improved, and further, the deployment speed of cloud data center networks and the processing performance of virtualization resource pools can be improved.

[0105] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.

[0106] Reference Figure 3 The diagram shows a structural block diagram of a smart network card control device provided in an embodiment of the present invention, which may specifically include the following modules:

[0107] The driver determination module 301 is used to determine the smart network card driver corresponding to the smart network card, and the hardware switch driver corresponding to the hardware switch.

[0108] The association construction module 302 is used to control the management network service plugin to construct an association between the network interface and the virtual machine through the smart network card driver and the hardware switch driver;

[0109] The smart network interface card (NIC) control module 303 is used to control the smart NIC based on the association relationship using the cloud computing management platform.

[0110] Optionally, the management network service plugin has a corresponding configuration file, and the driver determination module may include:

[0111] The driver determination submodule is used to determine the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch using the configuration file.

[0112] Optionally, the association construction module may include:

[0113] The network type determination submodule is used to determine the network type for the smart network card by calling the smart network card driver through the management network service plugin; the network type includes virtual LAN and virtual extended LAN.

[0114] The association construction submodule is used to determine the virtual LAN range of the network interface for the virtual LAN by calling the hardware switch driver through the management network service plugin, and to determine the virtual extended LAN range of the hardware switch driver for the virtual extended LAN, so as to construct an association relationship between the network interface and the virtual machine; the association relationship is used to bind the network interface and the virtual machine.

[0115] Optionally, the cloud computing management platform includes a virtual server deployment and business computing module, and may further include:

[0116] The address information and other configuration information determination submodule is used to determine the address information and other configuration information for the cloud computing management platform and the virtual machine through the virtual server deployment and business computing module;

[0117] A single root I / O virtualization agent generation submodule is used to generate a single root I / O virtualization agent for the virtual machine and load the single root I / O virtualization agent into the virtual machine; the single root I / O virtualization agent is used to establish a connection between the virtual machine and the cloud computing management platform, and the single root I / O virtualization agent has a corresponding agent configuration file; the smart network card driver has a corresponding driver configuration file.

[0118] The association writing submodule is used to write the association in the agent configuration file and the driver configuration file.

[0119] Optionally, the cloud computing management platform has a corresponding upper-layer intelligent orchestrator, which is used to generate network resource configuration information using the association relationship, the address information, and the other configuration information.

[0120] Optionally, the smart network interface card (NIC) control module may include:

[0121] The intelligent network interface card (NIC) control submodule is used to receive network resource configuration information sent by the upper-layer intelligent orchestrator through the cloud computing management platform, and to control the intelligent NIC based on the network resource configuration information.

[0122] Optionally, the smart network interface card (NIC) control submodule may include:

[0123] The smart network interface card (NIC) control unit is used to control the smart NIC by controlling the SDN controller and the SD-WAN controller, based on sending the network resource configuration information to the smart NIC.

[0124] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0125] In addition, this invention also provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the various processes of the above-described smart network card control method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0126] This invention also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the above-described smart network card control method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0127] Figure 4 A schematic diagram of the hardware structure of an electronic device for implementing various embodiments of the present invention.

[0128] The electronic device 400 includes, but is not limited to, components such as: a radio frequency unit 401, a network module 402, an audio output unit 403, an input unit 404, a sensor 405, a display unit 406, a user input unit 407, an interface unit 408, a memory 409, a processor 410, and a power supply 411. Those skilled in the art will understand that... Figure 4 The electronic device structures shown are not intended to limit the electronic device. An electronic device may include more or fewer components than shown, or combine certain components, or have different component arrangements. In embodiments of the present invention, the electronic device includes, but is not limited to, mobile phones, tablet computers, laptops, PDAs, in-vehicle terminals, wearable devices, and pedometers.

[0129] It should be understood that, in this embodiment of the invention, the radio frequency unit 401 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink data from the base station and processes it with the processor 410; additionally, it transmits uplink data to the base station. Typically, the radio frequency unit 401 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc. Furthermore, the radio frequency unit 401 can also communicate with networks and other devices through a wireless communication system.

[0130] The electronic device provides users with wireless broadband internet access through network module 402, such as helping users send and receive emails, browse web pages, and access streaming media.

[0131] The audio output unit 403 can convert audio data received by the radio frequency unit 401 or the network module 402 or stored in the memory 409 into audio signals and output them as sound. Furthermore, the audio output unit 403 can also provide audio output related to specific functions performed by the electronic device 400 (e.g., call signal reception sound, message reception sound, etc.). The audio output unit 403 includes a speaker, a buzzer, and a receiver, etc.

[0132] Input unit 404 is used to receive audio or video signals. Input unit 404 may include a graphics processing unit (GPU) 4041 and a microphone 4042. The GPU 4041 processes image data of still images or videos acquired by an image capture device (such as a camera) in video capture mode or image capture mode. The processed image frames can be displayed on display unit 406. The image frames processed by GPU 4041 can be stored in memory 409 (or other storage medium) or transmitted via radio frequency unit 401 or network module 402. Microphone 4042 can receive sound and process such sound into audio data. The processed audio data can be converted into a format that can be transmitted to a mobile communication base station via radio frequency unit 401 in telephone call mode.

[0133] The electronic device 400 also includes at least one sensor 405, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor and a proximity sensor. The ambient light sensor can adjust the brightness of the display panel 4061 according to the ambient light level, and the proximity sensor can turn off the display panel 4061 and / or backlight when the electronic device 400 is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity and can be used to identify the posture of the electronic device (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc. The sensor 405 may also include a fingerprint sensor, pressure sensor, iris sensor, molecular sensor, gyroscope, barometer, hygrometer, thermometer, infrared sensor, etc., which will not be described in detail here.

[0134] The display unit 406 is used to display information input by the user or information provided to the user. The display unit 406 may include a display panel 4061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.

[0135] User input unit 407 can be used to receive input numerical or character information, and generate key signal inputs related to user settings and function control of electronic devices. Specifically, user input unit 407 includes a touch panel 4071 and other input devices 4072. Touch panel 4071, also known as a touch screen, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near touch panel 4071). Touch panel 4071 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to the processor 410, which receives and executes commands from the processor 410. In addition, touch panel 4071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. Besides touch panel 4071, user input unit 407 may also include other input devices 4072. Specifically, other input devices 4072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, joysticks, etc., which will not be described in detail here.

[0136] Furthermore, the touch panel 4071 can cover the display panel 4061. When the touch panel 4071 detects a touch operation on or near it, it transmits the information to the processor 410 to determine the type of touch event. Subsequently, the processor 410 provides corresponding visual output on the display panel 4061 based on the type of touch event. Although in Figure 4 In this embodiment, the touch panel 4071 and the display panel 4061 are two independent components to realize the input and output functions of the electronic device. However, in some embodiments, the touch panel 4071 and the display panel 4061 can be integrated to realize the input and output functions of the electronic device. The specific implementation is not limited here.

[0137] Interface unit 408 serves as an interface for connecting external devices to electronic device 400. For example, external devices may include a wired or wireless headphone port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, and so on. Interface unit 408 can be used to receive input from external devices (e.g., data, power, etc.) and transmit the received input to one or more components within electronic device 400, or it can be used to transmit data between electronic device 400 and external devices.

[0138] The memory 409 can be used to store software programs and various data. The memory 409 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback, image playback, etc.), etc.; the data storage area may store data created based on the use of the mobile phone (such as audio data, phonebook, etc.). Furthermore, the memory 409 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0139] The processor 410 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 409, and by calling data stored in the memory 409, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. The processor 410 may include one or more processing units; preferably, the processor 410 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 410.

[0140] The electronic device 400 may also include a power supply 411 (such as a battery) for supplying power to various components. Preferably, the power supply 411 can be logically connected to the processor 410 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system.

[0141] In addition, the electronic device 400 includes some functional modules not shown, which will not be described in detail here.

[0142] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0143] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0144] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of the present invention.

[0145] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed in this invention can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0146] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0147] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0148] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0149] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0150] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0151] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for controlling an intelligent network interface card (NIC), characterized in that, The smart network interface card (NIC) has a corresponding cloud computing management platform and a hardware switch. The cloud computing management platform includes a network service management plugin. The smart NIC has a corresponding virtual machine. The hardware switch has a corresponding network interface, including: Determine the smart network card driver corresponding to the smart network card, and the hardware switch driver corresponding to the hardware switch; The management network service plugin calls the smart NIC driver to determine the network type for the smart NIC; the network type includes Virtual LAN and Virtual Extended LAN; the management network service plugin calls the hardware switch driver to determine the LAN range of the network interface for the LAN, and determines the LAN range of the hardware switch driver for the Virtual Extended LAN, so as to establish an association between the network interface and the virtual machine; the association is used to bind the network interface and the virtual machine; The cloud computing management platform is used to control the smart network interface card based on the association relationship.

2. The method according to claim 1, characterized in that, The management network service plugin has a corresponding configuration file. The steps of determining the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch include: The configuration file is used to determine the smart network card driver corresponding to the smart network card, and the hardware switch driver corresponding to the hardware switch.

3. The method according to claim 2, characterized in that, The cloud computing management platform includes virtual server deployment and business computing modules, and also includes: The address information and other configuration information for the cloud computing management platform and the virtual machine are determined through the virtual server deployment and business computing module. A single root I / O virtualization agent is generated for the virtual machine, and the single root I / O virtualization agent is loaded into the virtual machine; the single root I / O virtualization agent is used to establish a connection between the virtual machine and the cloud computing management platform, and the single root I / O virtualization agent has a corresponding agent configuration file; the smart network card driver has a corresponding driver configuration file. The association relationship is written in the agent configuration file and the driver configuration file.

4. The method according to claim 3, characterized in that, The cloud computing management platform has a corresponding upper-layer intelligent orchestrator, which is used to generate network resource configuration information using the association, the address information, and other configuration information.

5. The method according to claim 4, characterized in that, The step of using the cloud computing management platform to control the smart network interface card based on the association relationship includes: The cloud computing management platform receives the network resource configuration information sent by the upper-layer intelligent orchestrator and controls the intelligent network interface card based on the network resource configuration information.

6. The method according to claim 5, characterized in that, The hardware switch is configured with corresponding SDN controllers and SD-WAN controllers. The step of controlling the smart network interface card based on the network resource configuration information includes: By controlling the SDN controller and the SD-WAN controller, the network resource configuration information is sent to the smart network interface card (NIC) to control the NIC.

7. A smart network card control device, characterized in that, The smart network interface card (NIC) has a corresponding cloud computing management platform and a hardware switch. The cloud computing management platform includes a network service management plugin. The smart NIC has a corresponding virtual machine. The hardware switch has a corresponding network interface, including: The driver determination module is used to determine the smart network card driver corresponding to the smart network card, and the hardware switch driver corresponding to the hardware switch. The association construction module is used to determine the network type for the smart network card by calling the smart network card driver through the management network service plugin; the network type includes virtual LAN and virtual extended LAN; the management network service plugin calls the hardware switch driver to determine the virtual LAN range of the network interface for the virtual LAN, and determines the virtual extended LAN range of the hardware switch driver for the virtual extended LAN, so as to construct an association between the network interface and the virtual machine; the association is used to bind the network interface and the virtual machine; The smart network interface card (NIC) control module is used to control the smart NIC based on the association relationship using the cloud computing management platform.

8. The apparatus according to claim 7, characterized in that, The management network service plugin has a corresponding configuration file, and the driver determination module includes: The driver determination submodule is used to determine the smart network card driver corresponding to the smart network card and the hardware switch driver corresponding to the hardware switch using the configuration file.

9. The apparatus according to claim 8, characterized in that, The cloud computing management platform includes virtual server deployment and business computing modules, and also includes: The address information and other configuration information determination submodule is used to determine the address information and other configuration information for the cloud computing management platform and the virtual machine through the virtual server deployment and business computing module; A single root I / O virtualization agent generation submodule is used to generate a single root I / O virtualization agent for the virtual machine and load the single root I / O virtualization agent into the virtual machine; the single root I / O virtualization agent is used to establish a connection between the virtual machine and the cloud computing management platform, and the single root I / O virtualization agent has a corresponding agent configuration file; the smart network card driver has a corresponding driver configuration file. The association writing submodule is used to write the association in the agent configuration file and the driver configuration file.

10. The apparatus according to claim 9, characterized in that, The cloud computing management platform has a corresponding upper-layer intelligent orchestrator, which is used to generate network resource configuration information using the association, the address information, and other configuration information.

11. The apparatus according to claim 10, characterized in that, The smart network interface card control module includes: The intelligent network interface card (NIC) control submodule is used to receive the network resource configuration information sent by the upper-layer intelligent orchestrator through the cloud computing management platform, and to control the intelligent NIC based on the network resource configuration information.

12. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; The memory is used to store computer programs; When the processor executes a program stored in the memory, it implements the method as described in any one of claims 1-6.

13. A computer-readable storage medium having instructions stored thereon that, when executed by one or more processors, cause the processors to perform the method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Control method, SDN controller, SDN access point, SDN gateway and CE

    CN111404797A