CN117793038A - Message processing method, device, electronic equipment and computer readable storage medium - Google Patents

Message processing method, device, electronic equipment and computer readable storage medium Download PDF

Info

Publication number
CN117793038A
CN117793038A CN202311723026.4A CN202311723026A CN117793038A CN 117793038 A CN117793038 A CN 117793038A CN 202311723026 A CN202311723026 A CN 202311723026A CN 117793038 A CN117793038 A CN 117793038A
Authority
CN
China
Prior art keywords
message
protocol
network card
virtual machine
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311723026.4A
Other languages
Chinese (zh)
Inventor
徐磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202311723026.4A priority Critical patent/CN117793038A/en
Publication of CN117793038A publication Critical patent/CN117793038A/en
Pending legal-status Critical Current

Links

Abstract

The disclosure provides a message processing method, a message processing device, an electronic device and a computer readable storage medium, relates to the technical field of network communication, and particularly relates to the technical fields of virtual machines, network cards, message transmission and the like. The specific implementation scheme is as follows: receiving a virtual machine message sent by a virtual switch, and acquiring a verification result of the virtual machine message according to an unloading identifier of the virtual machine message; the unloading identification of the virtual machine message is obtained according to a network card check message sent to the virtual switch by network card hardware; the network card verification message comprises a message verification result; and the message verification result is that the network card hardware verifies and acquires the original message.

Description

Message processing method, device, electronic equipment and computer readable storage medium
Technical Field
The disclosure relates to the technical field of network communication, and in particular relates to the technical fields of virtual machines, network cards, message transmission and the like. In particular, the disclosure relates to a message processing method, a message processing device, an electronic device and a computer readable storage medium.
Background
With the development of virtualization technology, more and more application scenarios and workloads are deployed on VM (Virtual Machine), especially VHost (Virtual Host) type Virtual machines.
In particular, VHost-User is widely used in the field of cloud computing as a solution for high-performance, lightweight VMs.
Disclosure of Invention
The disclosure provides a message processing method, a message processing device, electronic equipment and a computer readable storage medium.
According to a first aspect of the present disclosure, there is provided a message processing method, applied to a virtual machine, the method including:
receiving a virtual machine message sent by a virtual switch, and acquiring a verification result of the virtual machine message according to an unloading identifier of the virtual machine message;
the unloading identification of the virtual machine message is obtained according to a network card check message sent to the virtual switch by network card hardware; the network card verification message comprises a message verification result; and the message verification result is that the network card hardware verifies and acquires the original message.
According to a second aspect of the present disclosure, there is provided a message processing method applied to a virtual switch, the method including:
receiving a network card check message sent by network card hardware, wherein the network card check message comprises a message check result, and the message check result is that the network card hardware checks and acquires an original message;
And determining an unloading identifier according to the network card check message, generating a virtual machine message according to the unloading identifier, and sending the virtual machine message to the virtual machine.
According to a third aspect of the present disclosure, there is provided a message processing method applied to network card hardware, the method including:
checking an original message to obtain a message checking result of the original message;
generating a network card check message according to the message check result, and sending the network card check message to a virtual switch, so that the virtual switch determines an unloading identifier according to the network card check message, generates a virtual machine message, and sends the virtual machine message to the virtual machine.
According to a fourth aspect of the present disclosure, there is provided an apparatus for running a virtual machine, the apparatus comprising:
the virtual machine module is used for receiving a virtual machine message sent by the virtual switch and acquiring a verification result of the virtual machine message according to an unloading identifier of the virtual machine message;
the unloading identification of the virtual machine message is obtained according to a network card check message sent to the virtual switch by network card hardware; the network card verification message comprises a message verification result; and the message verification result is that the network card hardware verifies and acquires the original message.
According to a fifth aspect of the present disclosure, there is provided an apparatus for operating a virtual switch, the apparatus comprising:
the switch receiving module is used for receiving a network card check message sent by network card hardware, wherein the network card check message comprises a message check result, and the message check result is that the network card hardware checks and acquires an original message;
and the switch sending module is used for determining an unloading identifier according to the network card check message, generating a virtual machine message according to the unloading identifier and the message offset, and sending the virtual machine message to the virtual machine.
According to a sixth aspect of the present disclosure, there is provided network card hardware comprising:
the verification module is used for verifying the original message and obtaining a message verification result of the original message;
and the message generating module is used for generating a network card check message according to the message check result, transmitting the network card check message to a virtual switch, enabling the virtual switch to determine an unloading identifier according to the network card check message, generating a virtual machine message and transmitting the virtual machine message to the virtual machine.
According to a seventh aspect of the present disclosure, there is provided an electronic device comprising:
At least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the message processing method.
According to an eighth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the above-described message processing method.
According to a ninth aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by a processor, implements the above-described message processing method.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The drawings are for a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
fig. 1 is a flow chart of a message processing method applied to a virtual machine according to an embodiment of the disclosure;
Fig. 2 is a flowchart illustrating partial steps of a message processing method applied to a virtual machine according to an embodiment of the present disclosure;
fig. 3 is a flow chart of a message processing method applied to a virtual switch according to an embodiment of the disclosure;
fig. 4 is a flowchart illustrating partial steps of a message processing method applied to a virtual switch according to an embodiment of the present disclosure;
fig. 5 is a flowchart illustrating partial steps of a message processing method applied to a virtual switch according to an embodiment of the present disclosure;
fig. 6 is a flowchart illustrating partial steps of a message processing method applied to a virtual switch according to an embodiment of the present disclosure;
fig. 7 is a flowchart illustrating partial steps of a message processing method applied to a virtual switch according to an embodiment of the present disclosure;
fig. 8 is a flowchart of a message processing method applied to network card hardware according to an embodiment of the present disclosure;
fig. 9 is a flowchart illustrating partial steps of a message processing method applied to network card hardware according to an embodiment of the present disclosure;
fig. 10 is a flowchart illustrating partial steps of a message processing method applied to network card hardware according to an embodiment of the present disclosure;
Fig. 11 is an interaction schematic diagram of virtual machine, virtual switch, and network card hardware in a specific embodiment of a packet processing method provided in an embodiment of the present disclosure;
fig. 12 is an interaction schematic diagram of virtual machine, virtual switch, and network card hardware in a specific embodiment of a packet processing method provided in an embodiment of the present disclosure;
fig. 13 is an interaction schematic diagram of virtual machine, virtual switch, and network card hardware in a specific embodiment of a packet processing method provided in an embodiment of the present disclosure;
FIG. 14 is a schematic structural diagram of an apparatus for running a virtual machine according to an embodiment of the present disclosure;
fig. 15 is a schematic structural diagram of an apparatus for operating a virtual switch according to an embodiment of the present disclosure;
fig. 16 is a schematic structural diagram of network card hardware according to an embodiment of the present disclosure;
fig. 17 is a block diagram of an electronic device for implementing a message processing method of an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In some related art, in virtualized environments, checksum computation is typically performed by the CPU (Central Processing Unit, central processor) of the VM, meaning that valuable CPU resources are used to perform relatively low-level tasks and are not fully available to higher-level application workloads, limiting the performance and multitasking capabilities of the VM.
The embodiment of the disclosure provides a message processing method applied to a virtual machine, a message processing method applied to a virtual machine switch, a message processing method applied to network card hardware, a device for operating a virtual machine and a device for operating a virtual switch, network card hardware, electronic equipment and a computer readable storage medium, which aim to solve at least one of the technical problems in the prior art.
The method for processing the message provided by the embodiment of the disclosure may be performed by an electronic device such as a terminal device or a server, where the terminal device may be a vehicle-mounted device, a User Equipment (UE), a mobile device, a User terminal, a cellular phone, a cordless phone, a personal digital assistant (Personal Digital Assistant, PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, etc., and the method may be implemented by a processor invoking computer readable program instructions stored in a memory. Alternatively, the method may be performed by a server.
Fig. 1 shows a flow chart of a message processing method applied to a virtual machine according to an embodiment of the disclosure. As shown in fig. 1, the method for processing a message applied to a virtual machine according to the embodiment of the present disclosure may include step S110.
In step S110, receiving a virtual machine message sent by a virtual switch, and obtaining a verification result of the virtual machine message according to an unloading identifier of the virtual machine message;
the unloading identification of the virtual machine message is obtained according to a network card check message sent to the virtual switch by the network card hardware; the network card verification message comprises a message verification result; and the message verification result is that the network card hardware performs verification and acquisition on the original message.
For example, a VM (Virtual Machine) refers to a complete computer system that runs in a completely isolated environment with complete hardware system functions through software emulation. Work that can be done in a physical computer can be done in a virtual machine, which can be operated like a physical machine.
The vSwitch (Virtual Switch) works on a two-layer data network, and realizes the two-layer (and part of three-layer) network functions of the physical Switch in a software mode.
The network card hardware is called Network Interface Card, also called network adapter, is an interface card for communication among computer, server and LAN, and can complete data encapsulation and decapsulation, and complete data serial-parallel conversion and photoelectric conversion.
In some possible implementations, in step S110, the virtual machine serves as a receiving end, and receives a virtual machine packet sent by the virtual switch.
The message (such as a virtual machine message, a network card check message, an original message, etc.) includes a message header and a data portion.
The header includes metadata required for exchanging information between the sender of the message (in the presently disclosed embodiment, the virtual switch) and the receiver of the message (in the presently disclosed embodiment, the virtual machine). Routing information such as source address and destination address information, specific identifiers such as protocol version number and serial number, control information such as time to live and window size, security information such as encryption, authentication and digital signature, and extension fields.
The message content of the message may be written into the data portion of the message.
In some possible implementations, the header of the virtual machine message includes an off-loading flag, which may be identified using a particular identifier.
In some specific implementations, some specific identification bits of the virtual machine message, such as rte_mbuf_f_tx_ip_cksum, rte_mbuf_f_tx_tcp_cksum, etc., may be identified by specific identifiers, and the identifiers corresponding to these identification bits are the offloadflag.
The virtual machine determines the verification result of the virtual machine message by acquiring identifiers of the identification bits, and processes the virtual machine message according to the verification result of the virtual machine message.
The off loading Flags of the virtual machine message are obtained by the virtual switch according to the received network card check message sent by the network card hardware.
The network card check message is obtained by network card hardware according to a message check result obtained by checking the original message, and the network card check message comprises the message check result.
In some possible implementations, the message check result may be written to the header of the network card check message with a specific identifier.
In some specific implementations, some specific identification bits of the network card check message, such as the identification bits of rx_ip_cksum, rx_l4_cksum, and the like, may be identified by using a specific identifier according to the message check result, so that after the virtual switch obtains the network card check message, the virtual switch may obtain the message check result according to the identifiers corresponding to the identification bits.
In some possible implementations, the original message may be a VXLAN message conforming to a preset VXLAN (network virtualization) offload rule.
In some possible implementations, the network card check message further includes a message content of the original message.
In some specific implementations, the network card hardware performs verification on the original message to obtain a message verification result, writes the message verification result into a message header of the network card verification message, and writes the message content of the original message into a data part of the network card verification message.
In some possible implementations, the virtual machine message also includes the message content of the original message.
In some specific implementations, after the virtual switch obtains the network card check message, the virtual switch obtains a message check result according to a message header of the network card check message, obtains a message content of the original message according to a data part of the network card check message, writes the message check result into a message header of the virtual machine message, and writes the message content of the original message into a data part of the virtual machine message to generate the virtual machine message.
In some possible implementations, the verification of the original message by the network card hardware may be to verify the message content of the original message, so that the verification result of the virtual machine message is the verification result of the message content of the original message, that is, the verification structure of the message content of the virtual machine message.
That is, the virtual machine message is to send the message content of the original message and the verification result of the original message to the virtual machine, and the virtual machine can directly further process the message content of the original message according to the verification result.
The verification task of the message is executed by the virtual machine (specifically, the verification task can be a CPU of the virtual machine), so that the waste of CPU resources is caused, and because the CPU needs time to execute the verification task of the message, a non-negligible network forwarding delay is introduced, the elasticity and the efficiency of the cloud environment are further limited, and the reasonable utilization of the resources and the performance of the multi-tenant cloud environment are influenced.
In the message processing method provided by the embodiment of the disclosure, the verification task of the message can be unloaded to the network card hardware, so that the high-performance overhead of the verification task on the virtual machine is reduced, and the CPU (central processing unit) resource utilization rate and the network forwarding performance of the virtual machine are improved.
The following specifically describes a message processing method applied to a virtual machine provided by an embodiment of the present disclosure.
In some possible implementations, after the virtual machine obtains the verification result of the virtual machine message, the virtual machine processes the virtual machine message according to the verification result of the virtual machine message.
In some possible implementation manners, if the verification result of the virtual machine message is that the verification result is passed, further processing may be performed on the virtual machine message, for example, determining a data position of a data fragment corresponding to the virtual machine message in complete data according to a message header offset of the virtual machine message, and obtaining complete data according to the data positions of data fragments corresponding to the virtual machine messages in complete data.
In some possible implementations, if the verification result of the virtual machine packet is that the verification is not passed, the virtual machine packet may be discarded.
In some possible implementations, if the verification result of the virtual machine message is unknown, the virtual machine message is re-verified, the verification result of the virtual machine message is obtained, and the virtual machine message is further processed according to the verification result of the virtual machine message.
And under the condition that the verification result of the virtual machine message is unknown, the virtual machine message is re-verified, so that the situation that the verification result of the virtual machine message cannot be obtained due to misoperation of network card hardware, a virtual switch and the like is avoided, the verification result of the virtual machine message can be obtained, and the virtual machine message is processed according to the verification result of the virtual machine message.
In some possible implementations, the method for processing a message applied to a virtual machine provided in the embodiments of the present disclosure may further include offloading a verification task of the message to other devices when the virtual machine is used as a transmitting end.
Fig. 2 is a schematic flow chart of an implementation manner of offloading a verification task of a message to other devices when a virtual machine is used as a transmitting end, and as shown in fig. 2, offloading a verification task of a message to other devices when a virtual machine is used as a transmitting end may include step S210 and step S220.
In step S210, under the condition that the network card hardware supports the segmentation offload function, the protocol packet is sent to the virtual switch, so that the protocol packet is sent to the network card hardware through the virtual switch, so that the network card hardware performs segmentation processing on the protocol packet, and a protocol message is obtained and sent to the transmission network.
In step S220, under the condition that the network card hardware does not support the splitting and unloading function, the protocol packet is sent to the virtual switch, so that the virtual switch performs the splitting processing on the protocol packet, obtains the protocol packet, and sends the protocol packet to the transmission network through the network card hardware.
In some possible implementations, the segmentation offload function refers to a function that can perform segmentation of a message and check the message.
In some possible implementations, in step S210, since the network card hardware supports the split offload function, the virtual machine may send the protocol packet to the network card hardware so that the network card hardware processes the protocol packet using the split offload function.
Meanwhile, the virtual machine cannot directly send the protocol packet to the network card hardware, so that the virtual machine sends the protocol packet to the virtual switch, and the virtual switch sends the processed protocol packet to the network card hardware after processing the protocol packet.
In some possible implementations, the split offload function may be a TSO (TCP Segment Offload, transmission control protocol split offload) function and the protocol packet may be a TCP (transmission control protocol) packet.
That is, the TCP packet sent by the virtual machine is not segmented, and is sent to the virtual switch, the virtual switch sends the TCP packet to the network card hardware, and the network card hardware segments the TCP packet to obtain a protocol packet, and sends the protocol packet to the transmission network.
The network card hardware segments the TCP packet, specifically, segments the TCP packet, adds an IP (Internet Protocol ) header to the segmented packet obtained by the segmentation, copies the TCP header, and performs a verification operation to generate a protocol packet.
In some possible implementations, the split offload function may be a UFO (UDP Segment Offload, user datagram protocol split offload) function and the protocol packet may be a UDP (user data packet protocol) packet.
That is, the UDP packet sent by the virtual machine is not segmented and is sent to the virtual switch, the virtual switch sends the UDP packet to the network card hardware, and the network card hardware segments the UDP packet to obtain a protocol packet and sends the protocol packet to the transport network.
The network card hardware performs segmentation processing on the UDP packet, specifically, may segment the UDP packet, and perform a verification operation on the segmented packet obtained by the segmentation, so as to generate a protocol packet.
The segmentation processing of the TCP packet and the UDP packet is unloaded to the network card hardware, so that the high-performance expenditure brought by the segmentation processing of the TCP packet and the UDP packet to the virtual machine can be reduced, and the CPU resource utilization rate and the network forwarding performance of the virtual machine are improved.
In some possible implementations, in step S220, since the network card hardware does not support the split offload function, the virtual machine may send the protocol packet to the virtual switch, so that the virtual switch processes the protocol packet, and sends the processed protocol packet to the network card hardware, and then to the transport network.
In some possible implementations, the protocol packet may be a TCP packet.
That is, the TCP packet sent by the virtual machine is not segmented, and is sent to the virtual switch, and the virtual switch performs segmentation processing on the TCP packet to obtain a protocol packet, and sends the protocol packet to the network card hardware.
The virtual switch segments the TCP packet, specifically, segments the TCP packet, adds an IP header to the segmented packet obtained by the segmentation, copies the TCP header, and performs a verification operation to generate a protocol packet.
In some possible implementations, the protocol packet may be a UDP packet.
That is, the UDP packet sent by the virtual machine is not segmented and is sent to the virtual switch, and the virtual switch performs segmentation processing on the UDP packet to obtain a protocol packet, and sends the protocol packet to the network card hardware.
The virtual switch segments the UDP packet, specifically, segments the UDP packet, and performs a verification operation on the segmented packet obtained by the segmentation, so as to generate a protocol packet.
Under the condition that the network card hardware does not support the segmentation unloading function, the segmentation processing of the TCP packet and the UDP packet is unloaded to the virtual switch, so that the high-performance expenditure on the virtual machine caused by the segmentation processing of the TCP packet and the UDP packet can be reduced, and the CPU resource utilization rate and the network forwarding performance of the virtual machine are improved.
Fig. 3 is a flow chart illustrating a message processing method applied to a virtual switch according to an embodiment of the disclosure. As shown in fig. 3, the message processing method applied to the virtual switch provided in the embodiment of the present disclosure may include step S310 and step S320.
In step S310, a network card check message sent by the network card hardware is received;
in step S320, according to the network card check message, determining an unloading identifier, generating a virtual machine message according to the unloading identifier, and transmitting the virtual machine message to the virtual machine;
the network card verification message comprises a message verification result, wherein the message verification result is that network card hardware verifies and acquires an original message.
In some possible implementations, in step S310, the virtual switch is used as a receiving end to receive a network card check packet sent by the network card hardware.
The network card check message is obtained by network card hardware according to a message check result obtained by checking the original message, and the network card check message comprises the message check result.
In some possible implementations, the message check result may be written to the header of the network card check message with a specific identifier.
In some specific implementations, some specific identification bits of the network card check message, such as the identification bits of rx_ip_cksum, rx_l4_cksum, and the like, may be identified by using a specific identifier according to the message check result, so that after the virtual switch obtains the network card check message, the virtual switch may obtain the message check result according to the identifiers corresponding to the identification bits.
In some possible implementations, in step S320, the virtual switch is used as a transmitting end, generates a virtual machine message according to the network card check message, and transmits the virtual machine message to the virtual machine.
In some possible implementations, the offload identifier may be determined according to a network card check result included in the network card check packet, and the offload identifier may be written into some specific identification bits of the header of the virtual machine packet, such as identification bits of rte_mbuf_f_tx_ip_cksum, rte_mbuf_f_tx_tcp_cksum, and the like, to generate the virtual machine packet.
After the virtual machine message is sent to the virtual machine, the virtual machine can acquire and determine a verification result of the virtual machine message according to the unloading identification of the virtual machine message, and process the virtual machine message according to the verification result of the virtual machine message.
In some possible implementations, the verification result of the virtual machine packet may be consistent with the network card verification result, that is, the correspondence between the network card verification result and the uninstall identifier is consistent with the correspondence between the verification result of the virtual machine packet and the uninstall identifier.
In some possible implementations, the original message may be a VXLAN message that conforms to a preset VXLAN splitting rule.
In some possible implementations, the network card check message further includes a message content of the original message.
In some specific implementations, the network card hardware performs verification on the original message to obtain a message verification result, writes the message verification result into a message header of the network card verification message, and writes the message content of the original message into a data part of the network card verification message.
In some possible implementations, the virtual machine message also includes the message content of the original message.
In some specific implementations, after the virtual switch obtains the network card check message, the virtual switch obtains a message check result according to a message header of the network card check message, obtains a message content of the original message according to a data part of the network card check message, writes the message check result into a message header of the virtual machine message, and writes the message content of the original message into a data part of the virtual machine message to generate the virtual machine message.
In some possible implementations, the verification of the original message by the network card hardware may be to verify the message content of the original message, so that the verification result of the virtual machine message is the verification result of the message content of the original message, that is, the verification structure of the message content of the virtual machine message.
That is, the virtual machine message is to send the message content of the original message and the verification result of the original message to the virtual machine, and the virtual machine can directly further process the message content of the original message according to the verification result.
By the message processing method applied to the virtual switch, the verification task of the message can be unloaded to the network card hardware, high-performance expenditure caused by the verification task to the virtual machine is reduced, and the CPU resource utilization rate and network forwarding performance of the virtual machine are improved.
The following specifically describes a message processing method applied to a virtual switch provided in an embodiment of the present disclosure.
Fig. 4 is a flow chart illustrating a specific implementation manner of generating a virtual machine message by a virtual switch according to a network card check message, and as shown in fig. 4, the virtual switch may include step S410, step S420, and step S430.
In step S410, determining a message verification result according to the message identifier of the network card verification message;
in step S420, an unloading identifier is determined according to the message verification result, and a message offset is determined according to the message content of the network card verification message;
In step S430, a virtual machine message is generated according to the offload identifier and the message offset, and the virtual machine message is sent to the virtual machine.
In some possible implementations, in step S410, the virtual switch determines the message verification result according to the message identifier of the header of the network card verification message.
In some possible implementations, the packet identifier may be an identifier of a specific identifier bit of the network card check packet, that is, an identifier of an identifier bit identified by the rx_ip_cksum, rx_l4_cksum, or the like using the specific identifier according to the packet check result.
Under the condition that the identifier is used for identifying that the message verification result is verification passing, determining that the message verification result is verification passing; under the condition that the identifier is used for identifying that the message checking result is that the checking is not passed, determining that the message checking result is that the checking is not passed; and under the condition that the identifier is used for identifying that the message checking result is unknown, determining that the message checking result is unknown.
In some possible implementations, after determining the offload identifier according to the packet verification result in steps S420 and S430, the offload identifier is written into some specific identifier bits of the header of the virtual machine packet, such as the identifier bits of rte_mbuf_f_tx_ip_cksum, rte_mbuf_f_tx_tcp_cksum, and the like, the packet content of the network card verification packet is written into the data portion of the virtual machine packet as the packet content of the virtual machine packet, and the header offset of the virtual machine packet is determined according to the packet content of the network card verification packet, and the header offset is written into the header of the virtual machine packet, so as to generate the virtual machine packet.
By generating the virtual machine message, the virtual switch sends the message verification result of the original message to the virtual machine in a manner that the virtual machine can receive the message verification result, so that the virtual machine can directly acquire the message verification result.
In some possible implementation manners, the method for processing a message applied to a virtual switch provided in the embodiments of the present disclosure may further include the virtual switch as a receiving end, where when receiving a protocol packet sent by a virtual machine, a verification task of the message is also offloaded to the virtual switch or network card hardware.
Fig. 5 is a schematic flow chart of a specific implementation manner of offloading a verification task of a message to a virtual switch or network card hardware when a virtual switch is used as a receiving end and receiving a protocol packet sent by a virtual machine, and as shown in fig. 5, offloading a verification task of a message to a virtual switch or network card hardware when a virtual switch is used as a receiving end and receiving a protocol packet sent by a virtual machine may include step S510 and step S520.
In step S510, under the condition that the network card hardware supports the segmentation and offloading function, the protocol packet sent by the virtual machine is received, and the protocol packet is sent to the network card hardware, so that the network card hardware performs segmentation processing on the protocol packet, and a protocol packet is obtained and sent to the transmission network.
In step S520, under the condition that the network card hardware does not support the splitting and unloading function, the protocol packet sent by the virtual machine is received, the protocol packet is processed in a splitting manner, and the protocol packet is obtained and sent to the transmission network through the network card hardware.
In some possible implementations, the segmentation offload function refers to a function that can perform segmentation of a message and check the message.
In some possible implementations, in step S510, since the network card hardware supports the split offload function, the virtual switch may send the protocol packet sent by the virtual machine to the network card hardware, so that the network card hardware processes the protocol packet using the split offload function.
In some possible implementations, the split offload function may be a TSO function and the protocol packet may be a TCP packet.
That is, the TCP packet sent by the virtual machine is not segmented, and is sent to the virtual switch, the virtual switch sends the TCP packet to the network card hardware, and the network card hardware segments the TCP packet to obtain a protocol packet, and sends the protocol packet to the transmission network.
After receiving the TCP packet, the virtual switch sets pkt_tx_tunnel_vxlan, pkt_tx_tcp_seg, an inner and outer layer checksum flag bit, and offset information of the inner and outer layer header according to the TCP packet, and sends the set TCP packet to the network card hardware.
The network card hardware segments the TCP packet, specifically, segments the TCP packet, adds an IP header to the segmented packet obtained by segmentation, copies the TCP header, and performs verification operation to generate a protocol message.
In some possible implementations, the split offload function may be a UFO function and the protocol packet may be a UDP packet.
That is, the UDP packet sent by the virtual machine is not segmented and is sent to the virtual switch, the virtual switch sends the UDP packet to the network card hardware, and the network card hardware segments the UDP packet to obtain a protocol packet and sends the protocol packet to the transport network.
The network card hardware performs segmentation processing on the UDP packet, specifically, may segment the UDP packet, and perform a verification operation on the segmented packet obtained by the segmentation, so as to generate a protocol packet.
The segmentation processing of the TCP packet and the UDP packet is unloaded to the network card hardware, so that the high-performance expenditure brought by the segmentation processing of the TCP packet and the UDP packet to the virtual machine can be reduced, and the CPU resource utilization rate and the network forwarding performance of the virtual machine are improved.
In some possible implementations, in step S520, since the network card hardware does not support the split offload function, the virtual switch processes the protocol packet sent by the virtual machine, and sends the protocol packet obtained by the processing to the network card hardware, and then sends the protocol packet to the transport network.
In some possible implementations, the protocol packet may be a TCP packet.
Fig. 6 is a flow chart of an implementation manner in which, in the case where the protocol packet is a TCP packet, the virtual switch processes the protocol packet sent by the virtual machine, and sends the processed protocol packet to the network card hardware, and then sends the processed protocol packet to the transport network. As shown in fig. 6, the virtual switch processes the protocol packet sent by the virtual machine, and sends the processed protocol packet to the network card hardware, and then sends the processed protocol packet to the transport network, which may include step S610, step S620, and step S630.
In step S610, the message content of the protocol packet is segmented, an internet protocol address header is added, and a transmission control protocol header is copied to generate a protocol message;
in step S620, the protocol message is checked, a message check result is obtained, and the message check result is written into the protocol message;
in step S630, the protocol packet is sent to the transport network through the network card hardware.
In some possible implementations, in step S610, the packet content of the protocol packet is segmented as the protocol packet content, and the header offset corresponding to the protocol packet is determined according to the position of the packet content of the protocol packet corresponding to the segment of the protocol packet.
In some possible implementations, after the message header offset is obtained, a check flag bit is set, an IP header is added according to the message header offset and the protocol message content, and a TCP header is copied to generate a protocol message.
In some specific implementations, the content of the protocol packet is written into the data portion of the protocol packet, the offset of the header of the protocol packet is written into the header of the protocol packet, a check flag bit is set in the header of the protocol packet, an IP header is added to the protocol packet according to the destination address of the protocol packet (i.e., the address where the protocol packet wants to arrive through the transmission network), and the TCP header of the protocol packet is copied to the protocol packet to generate the protocol packet.
In some possible implementations, a plurality of protocol messages may be generated by processing the protocol packets to segment the protocol packets into messages that may be transmitted over a transport network.
In some possible implementations, in step S620, the protocol packet is checked, and the obtaining a packet check result may be checking the protocol packet content of the protocol packet, and obtaining the check result of the protocol packet content as the packet check result.
In some possible implementations, writing the message check result to the protocol message may be writing the message check result to a check flag bit of the protocol message.
In some possible implementations, in step S630, the protocol packet written with the packet verification result is sent to the network card hardware, and the network card hardware sends the protocol packet to the transmission network according to the header of the protocol packet, and then sends the protocol packet to the destination address.
In some possible implementations, the protocol packet may be a UDP packet.
Fig. 7 is a flow chart of an implementation manner in which, in the case where the protocol packet is a UDP packet, the virtual switch processes the protocol packet sent by the virtual machine, and sends the processed protocol packet to the network card hardware, and then sends the processed protocol packet to the transport network. As shown in fig. 7, the virtual switch processes the protocol packet sent by the virtual machine, and sends the processed protocol packet to the network card hardware, and then sends the processed protocol packet to the transport network, which may include step S710, step S720, and step S730.
In step S710, segmenting the message content of the protocol packet to generate a protocol message;
in step S720, the protocol message is checked, a message check result is obtained, and the message check result is written into the protocol message;
in step S730, the protocol packet is sent to the transport network through the network card hardware.
In some possible implementations, in step S710, the packet content of the protocol packet is segmented as protocol packet content.
In some possible implementations, after the protocol message content is acquired, a check flag bit is set, and the protocol message is generated according to the protocol message content. Specifically, the content of the protocol message is written into the data part of the protocol message, and a check flag bit is set at the message header of the protocol message to generate the protocol message.
In some possible implementations, a plurality of protocol messages may be generated by processing the protocol packets to segment the protocol packets into messages that may be transmitted over a transport network.
In some possible implementations, in step S720, the protocol message content of the protocol message is checked, the check result of the protocol message content is obtained as the message check result, and the message check result is written into the check flag bit of the protocol message.
In some possible implementations, in step S730, the protocol packet written with the packet verification result is sent to the network card hardware, and the network card hardware sends the protocol packet to the transmission network according to the header of the protocol packet, and then sends the protocol packet to the destination address.
Under the condition that the network card hardware does not support the segmentation unloading function, the segmentation processing of the TCP packet and the UDP packet is unloaded to the virtual switch, so that the high-performance expenditure on the virtual machine caused by the segmentation processing of the TCP packet and the UDP packet can be reduced, and the CPU resource utilization rate and the network forwarding performance of the virtual machine are improved.
Fig. 8 is a flowchart illustrating a message processing method applied to network card hardware according to an embodiment of the present disclosure. As shown in fig. 8, the message processing method applied to the virtual switch provided in the embodiment of the present disclosure may include step S810 and step S820.
In step S810, the original message is checked, and a message check result of the original message is obtained;
in step S820, a network card check message is generated according to the message check result, and the network card check message is sent to the virtual switch, so that the virtual switch determines the unloading identifier according to the network card check message, generates a virtual machine message, and sends the virtual machine message to the virtual machine.
In some possible implementations, in step S810, the verification of the original packet may be to verify the packet content of the original packet, to obtain a packet verification result of the original packet.
In some possible implementations, in step S820, generating the network card check message according to the message check result may include setting a flag bit of the network card check message according to the message check result.
In some possible implementations, the message check result may be written into a specific flag bit of the header of the network card check message with a specific identifier.
In some specific implementations, some specific identification bits of the network card check message, such as rx_ip_cksum, rx_l4_cksum, and the like, may be identified by using a specific identifier according to the message check result.
In some possible implementations, the message verification result is written into a flag bit of a message header of the network card verification message, and the message content of the network card verification message is written into a data part of the network card verification message to generate the network card verification message.
In some possible implementations, the network card hardware is used as a transmitting end to transmit the network card check message to the virtual switch, so that after the virtual switch acquires the network card check message, the virtual switch can acquire a message check result according to an identifier corresponding to the specific identification bit, generate a virtual machine message according to the network card check message, and transmit the virtual machine message to the virtual machine.
In some possible implementations, the virtual switch may be used as a sending end, and determine the offload identifier according to the network card check result included in the network card check packet, and write the offload identifier into some specific identification bits of the header of the virtual machine packet, such as the identification bits of rte_mbuf_f_tx_ip_cksum, rte_mbuf_f_tx_tcp_cksum, and the like, to generate the virtual machine packet.
In some possible implementations, after the virtual switch sends the virtual machine message to the virtual machine, the virtual machine may obtain a verification result of the determined virtual machine message according to the unloading identifier of the virtual machine message, and process the virtual machine message according to the verification result of the virtual machine message.
In some possible implementations, the verification result of the virtual machine packet may be consistent with the network card verification result, that is, the correspondence between the network card verification result and the uninstall identifier is consistent with the correspondence between the verification result of the virtual machine packet and the uninstall identifier.
The network card hardware checks the original message, namely the message content of the original message, so that the checking result of the virtual machine message is the checking result of the message content of the original message.
In some possible implementations, the original message may be a VXLAN message that conforms to a preset VXLAN splitting rule.
In some possible implementations, the network card check message further includes a message content of the original message.
In some specific implementations, the network card hardware performs verification on the original message to obtain a message verification result, writes the message verification result into a message header of the network card verification message, and writes the message content of the original message into a data part of the network card verification message.
In some possible implementations, the virtual machine message also includes the message content of the original message.
In some specific implementations, after the virtual switch obtains the network card check message, the virtual switch obtains a message check result according to a message header of the network card check message, obtains a message content of the original message according to a data part of the network card check message, writes the message check result into a message header of the virtual machine message, and writes the message content of the original message into a data part of the virtual machine message to generate the virtual machine message.
That is, the virtual machine message is to send the message content of the original message and the verification result of the original message to the virtual machine, and the virtual machine can directly further process the message content of the original message according to the verification result.
By the message processing method applied to the network card hardware, the verification task of the message can be unloaded to the network card hardware, high-performance expenditure caused by the verification task to the virtual machine is reduced, and the CPU (central processing unit) resource utilization rate and network forwarding performance of the virtual machine are improved.
The following specifically describes a message processing method applied to network card hardware provided by an embodiment of the present disclosure.
Fig. 9 is a flow chart of a specific implementation manner in which the network card hardware performs verification on the original message to obtain the message verification result of the original message, and as shown in fig. 9, the network card hardware performs verification on the original message, and the step of obtaining the message verification result of the original message may include step S910.
In step S910, an original message is received, and under the condition that the original message meets a preset network virtualization diversion rule, the original message is checked, and a message check result of the original message is obtained;
the network virtualization offload rule includes that the original message includes a network virtualization field and the original message includes a queue field or a receiver scaling field.
In some possible implementations, in step S910, the network card hardware receives all the original messages sent to the network card hardware, screens the original messages, only verifies the original messages that meet the preset VXLAN splitting rule, obtains a corresponding message verification result, and performs subsequent processing.
The preset VXLAN splitting rule may be that the pattern (pattern) of the message includes a VXLAN field, and the message action includes a QUEUE field or an RSS (receiver scaling) field.
That is, only if the original message satisfies that the pattern includes the VXLAN field and the message action includes the QUEUE field or the RSS field, the original message is guessed to be checked, and a corresponding message check result is obtained.
In some possible implementations, the method for processing a packet applied to a virtual switch provided in the embodiments of the present disclosure may further include network card hardware as a receiving end, to receive a protocol packet or a protocol packet sent by the virtual switch.
Fig. 10 is a flow chart of a specific implementation manner of receiving, by using network card hardware as a receiving end, a protocol packet or a protocol packet sent by a virtual switch, and as shown in fig. 10, the receiving, by using network card hardware as a receiving end, the protocol packet or the protocol packet sent by the virtual switch may include step S1010 and step S1020.
In step S1010, under the condition that the network card hardware supports the splitting and unloading function, the protocol packet sent by the virtual switch is received, the protocol packet is processed in a splitting manner, and the protocol packet is obtained and sent to the transmission network.
In step S1020, under the condition that the network card hardware does not support the split unloading function, receiving the protocol message sent by the virtual switch and sending the protocol message to the transmission network;
the protocol message is obtained by receiving a protocol packet sent by the virtual machine by the virtual switch and carrying out segmentation processing on the protocol packet.
In some possible implementations, the segmentation offload function refers to a function that can perform segmentation of a message and check the message.
In some possible implementations, in step S1010, since the network card hardware supports the split offload function, the network card hardware uses the split offload function to process a protocol packet sent by the virtual machine to the network card hardware through the virtual switch.
In some possible implementations, the split offload function may be a TSO function and the protocol packet may be a TCP packet.
That is, the TCP packet sent by the virtual machine is not segmented, and is sent to the virtual switch, the virtual switch sends the TCP packet to the network card hardware, and the network card hardware segments the TCP packet to obtain a protocol packet, and sends the protocol packet to the transmission network.
The network card hardware performs segmentation processing on the TCP packet, which specifically includes segmenting the message content of the protocol packet, adding an internet protocol address header, copying a transmission control protocol header, and generating a protocol message; checking the protocol message to obtain a message checking result, and writing the message checking result into the protocol message; and sending the protocol message to a transmission network.
In some possible implementations, the message content of the protocol packet is segmented to be the protocol message content, and the message header offset corresponding to the protocol packet is determined according to the position of the corresponding segment of the protocol message content in the message content of the protocol packet. After the message header offset is obtained, a check flag bit is set, an IP header is added according to the message header offset and the protocol message content, and a TCP header is copied to generate a protocol message.
In some specific implementations, the content of the protocol packet is written into the data portion of the protocol packet, the offset of the header of the protocol packet is written into the header of the protocol packet, a check flag bit is set in the header of the protocol packet, an IP header is added to the protocol packet according to the destination address of the protocol packet (i.e., the address where the protocol packet wants to arrive through the transmission network), and the TCP header of the protocol packet is copied to the protocol packet to generate the protocol packet.
In some possible implementations, the protocol message content of the protocol message is checked, a check result of the protocol message content is obtained as a message check result, and the message check result is written into a check flag bit of the protocol message.
In some possible implementations, the protocol message is sent to the transport network according to a header of the protocol message, and the protocol message is further sent to the destination address.
In some possible implementations, the split offload function may be a UFO function and the protocol packet may be a UDP packet.
That is, the UDP packet sent by the virtual machine is not segmented and is sent to the virtual switch, the virtual switch sends the UDP packet to the network card hardware, and the network card hardware segments the UDP packet to obtain a protocol packet and sends the protocol packet to the transport network.
The network card hardware performs segmentation processing on the UDP packet, which may include segmenting the message content of the protocol packet to generate a protocol message; checking the protocol message to obtain a message checking result, and writing the message checking result into the protocol message; and sending the protocol message to a transmission network.
In some possible implementations, the message content of the protocol packet is segmented as protocol message content.
In some possible implementations, after the protocol message content is acquired, a check flag bit is set, and the protocol message is generated according to the protocol message content. Specifically, the content of the protocol message is written into the data part of the protocol message, and a check flag bit is set at the message header of the protocol message to generate the protocol message.
In some possible implementations, the protocol message content of the protocol message is checked, a check result of the protocol message content is obtained as a message check result, and the message check result is written into a check flag bit of the protocol message.
In some possible implementations, the protocol message is sent to the transport network according to a header of the protocol message, and the protocol message is further sent to the destination address.
Under the condition that the network card hardware does not support the segmentation unloading function, the segmentation processing of the TCP packet and the UDP packet is unloaded to the virtual switch, so that the high-performance expenditure on the virtual machine caused by the segmentation processing of the TCP packet and the UDP packet can be reduced, and the CPU resource utilization rate and the network forwarding performance of the virtual machine are improved.
In some possible implementations, in step S1020, since the network card hardware does not support the split offload function, the virtual machine may send the protocol packet to the virtual switch, so that the virtual switch processes the protocol packet, and sends the processed protocol packet to the network card hardware, and then to the transport network.
In some possible implementations, the protocol packet may be a TCP packet.
That is, the TCP packet sent by the virtual machine is not segmented and is sent to the virtual switch, the virtual switch segments the TCP packet to obtain a protocol packet, and the protocol packet is sent to the network card hardware and is sent to the transmission network by the network card hardware.
The virtual switch segments the TCP packet, specifically, segments the TCP packet, adds an IP header to the segmented packet obtained by the segmentation, copies the TCP header, and performs a verification operation to generate a protocol packet.
In some possible implementations, the protocol packet may be a UDP packet.
That is, the UDP packet sent by the virtual machine is not segmented and is sent to the virtual switch, the virtual switch segments the UDP packet to obtain a protocol packet, and the protocol packet is sent to the network card hardware and is sent to the transmission network by the network card hardware.
The virtual switch segments the UDP packet, specifically, segments the UDP packet, and performs a verification operation on the segmented packet obtained by the segmentation, so as to generate a protocol packet.
Under the condition that the network card hardware does not support the segmentation unloading function, the segmentation processing of the TCP packet and the UDP packet is unloaded to the virtual switch, so that the high-performance expenditure on the virtual machine caused by the segmentation processing of the TCP packet and the UDP packet can be reduced, and the CPU resource utilization rate and the network forwarding performance of the virtual machine are improved.
The following describes a message processing method provided by an embodiment of the present disclosure in detail.
Fig. 11, fig. 12, and fig. 13 are schematic diagrams respectively showing interactions of virtual machines, virtual switches, and network card hardware in different embodiments of the packet processing method provided in the embodiments of the present disclosure.
As shown in fig. 11, after negotiating to enable TSO characteristics of the virtual machine, a TCP packet sent by the virtual machine is not segmented, and is sent to the virtual switch through virto (abstract layer located on a device in a paravirtualized management program), when the virtual switch processes the TCP packet, pkt_tx_tunejvxlan, pkt_tx_tcp_seg, an inner and outer layer checksum flag bit, and offset information of an inner and outer layer packet header are set, and the packets are sent to network card hardware, and after receiving the TCP packet sent by vSwitch, the network card hardware performs operations such as segmentation of the packet, adding an IP header, copying the TCP header, and packet verification (specifically, calculation checksum) to obtain a plurality of protocol packets, and finally sends the protocol packets to the transmission network.
As shown in fig. 12, after negotiating to enable the UFO feature of the virtual machine, since the network card hardware does not support the UFO function, the UDP packet sent by the virtual machine is not fragmented, and is sent to the virtual switch through virto, and the virtual switch sends and performs operations such as UDP packet slicing and packet checking (specifically, may be calculating a checksum) to obtain a plurality of protocol packets, and finally sends the fragmented packets to the transport network through the network card hardware.
As shown in fig. 13, after the network card hardware correctly configures the VXLAN splitting rule, the network card hardware UI performs message check on the original message that satisfies two conditions, i.e., the VXLAN field included in the pattern and the QUEUE/RSS field included in the action, and specifically may be a checksum calculation, and sends the check result to the virtual switch in the form of a network card check message. The virtual switch judges the checking result of the original message through identifiers corresponding to all the identification bits of the RX_IP_CKSUM and the RX_L4_CKSUM of the network checking message: if the verification result is good (i.e. the verification is passed), setting a correct message header offset of the virtual machine message according to the message content of the network card verification message, namely the message content of the original message, and setting identifiers of identification bits such as RTE_MBUF_TX_IP_CKSUM, RTE_MBUF_F_TX_TCP_CKSUM and the like of the virtual machine message, and informing the virtual machine that the virtual machine message does not need to be verified again after receiving the virtual machine message; otherwise, if the verification result is unknown (i.e. unknown), setting the correct offset of the header of the virtual machine message according to the message content of the network card verification message, that is, the message content of the original message, and setting identifiers of identification bits such as RTE_MBUF_TX_IP_CKSUM, RTE_MBUF_F_TX_TCP_CKSUM of the virtual machine message, and the like, so as to inform the virtual machine that the virtual machine message needs to be re-verified after receiving the virtual machine message.
Based on the same principle as the method shown in fig. 1, fig. 14 shows a schematic structural diagram of an apparatus for running a virtual machine according to an embodiment of the present disclosure, and as shown in fig. 14, the apparatus 140 for running a virtual machine may include:
the virtual machine module 1410 is configured to receive a virtual machine packet sent by the virtual switch, and obtain a verification result of the virtual machine packet according to an unloading identifier of the virtual machine packet;
the unloading identification of the virtual machine message is obtained according to a network card check message sent to the virtual switch by the network card hardware; the network card verification message comprises a message verification result; and the message verification result is that the network card hardware performs verification and acquisition on the original message.
In the device for running the virtual machine provided by the embodiment of the disclosure, the verification task of the message can be unloaded to the network card hardware, so that the high-performance overhead of the verification task on the virtual machine is reduced, and the CPU resource utilization rate and the network forwarding performance of the virtual machine are improved.
In some possible implementations, the original message is a network virtualization message conforming to a preset network virtualization offload rule; the network card check message also comprises the message content of the original message; the virtual machine message also comprises the message content of the original message.
In some possible implementations, the apparatus 140 for running a virtual machine further includes: and the message processing module is used for re-checking the virtual machine message under the condition that the checking result of the virtual machine message is unknown.
In some possible implementations, the apparatus 140 for running a virtual machine further includes: the segmentation unloading module is used for sending the protocol packet to the virtual switch under the condition that the network card hardware supports the segmentation unloading function so as to send the protocol packet to the network card hardware through the virtual switch, so that the network card hardware carries out segmentation processing on the protocol packet, acquires a protocol message and sends the protocol message to the transmission network.
In some possible implementations, the splitting offload module is further configured to send the protocol packet to the virtual switch when the network card hardware does not support the splitting offload function, so that the virtual switch performs a splitting process on the protocol packet, obtains a protocol packet, and sends the protocol packet to the transport network through the network card hardware.
In some possible implementations, where the split offload function is a transmission control protocol split offload function, the protocol packet is a transmission control protocol packet; in the case where the segmentation offload function is a user datagram protocol segmentation offload function, the protocol packet is a user datagram protocol packet.
It can be understood that the above modules of the apparatus for running a virtual machine in the embodiment of the present disclosure have functions of implementing the corresponding steps of the packet processing method in the embodiment shown in fig. 1. The functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above. The modules may be software and/or hardware, and each module may be implemented separately or may be implemented by integrating multiple modules. For the functional description of each module of the above device for running a virtual machine, reference may be specifically made to the corresponding description of the message processing method in the embodiment shown in fig. 1, which is not repeated herein.
Based on the same principle as the method shown in fig. 3, fig. 15 shows a schematic structural diagram of an apparatus for operating a virtual switch according to an embodiment of the present disclosure, as shown in fig. 15, the apparatus 150 for operating a virtual switch may include:
the switch receiving module 1510 is configured to receive a network card check packet sent by the network card hardware, where the network card check packet includes a packet check result, and the packet check result is that the network card hardware performs check on an original packet;
The switch sending module 1520 is configured to determine an offload identifier according to the network card check message, generate a virtual machine message according to the offload identifier, and send the virtual machine message to the virtual machine.
In the device for operating the virtual switch provided by the embodiment of the disclosure, the verification task of the message can be unloaded to the network card hardware, so that the high-performance overhead of the verification task on the virtual machine is reduced, and the CPU resource utilization rate and the network forwarding performance of the virtual machine are improved.
In some possible implementations, the original message is a network virtualization message conforming to a preset network virtualization offload rule; the network card check message also comprises the message content of the original message; the virtual machine message also comprises the message content of the original message.
In some possible implementations, the switch sending module 1520 includes: the identification unit is used for determining a message verification result according to the message identification of the network card verification message; the offset unit is used for determining an unloading identifier according to the message verification result and determining the message offset according to the message content of the network card verification message; and the message generating unit is used for generating a virtual machine message according to the unloading identifier and the message offset and sending the virtual machine message to the virtual machine.
In some possible implementations, the apparatus 150 for running a virtual switch further includes: and the switch unloading module is used for receiving the protocol packet sent by the virtual machine under the condition that the network card hardware supports the segmentation unloading function, and sending the protocol packet to the network card hardware so that the network card hardware carries out segmentation processing on the protocol packet, acquires a protocol message and sends the protocol message to the transmission network.
In some possible implementations, the switch unloading module is further configured to receive a protocol packet sent by the virtual machine, perform segment processing on the protocol packet, obtain a protocol packet, and send the protocol packet to the transport network through the network card hardware if the network card hardware does not support the segment unloading function.
In some possible implementations, where the split offload function is a transmission control protocol split offload function, the protocol packet is a transmission control protocol packet; in the case where the segmentation offload function is a user datagram protocol segmentation offload function, the protocol packet is a user datagram protocol packet.
In some possible implementations, where the protocol packet is a transmission control protocol packet, the switch offload module includes: the segmentation unit is used for segmenting the message content of the protocol packet, adding an Internet protocol address header, copying a transmission control protocol header and generating a protocol message; the verification unit is used for verifying the protocol message, obtaining a message verification result and writing the message verification result into the protocol message; and the transmission unit is used for sending the protocol message to the transmission network through the network card hardware.
In some possible implementations, the segmentation unit is further configured to: segmenting the message content of the protocol packet to be used as protocol message content, and determining the offset of the message header according to the protocol message content; setting a check flag bit, adding an internet protocol address header according to the offset of the header and the content of the protocol message, copying the transmission control protocol header, and generating the protocol message; the verification unit is further configured to: and checking the protocol message, obtaining a message checking result, and writing the message checking result into a checking flag bit.
In some possible implementations, in the case where the protocol packet is a user datagram protocol, the switch offload module is further configured to: segmenting the message content of the protocol packet to generate a protocol message; checking the protocol message to obtain a message checking result, and writing the message checking result into the protocol message; and sending the protocol message to a transmission network through network card hardware.
It will be appreciated that the above modules of the apparatus for operating a virtual switch in the embodiments of the present disclosure have functions for implementing the corresponding steps of the message processing method in the embodiment shown in fig. 3. The functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above. The modules may be software and/or hardware, and each module may be implemented separately or may be implemented by integrating multiple modules. The functional description of each module of the above-mentioned device for running the virtual switch may be specifically referred to the corresponding description of the message processing method in the embodiment shown in fig. 3, which is not repeated herein.
Based on the same principle as the method shown in fig. 8, fig. 16 shows a schematic structural diagram of network card hardware provided by an embodiment of the disclosure, and as shown in fig. 16, the network card hardware 160 may include:
a verification module 1610, configured to verify an original message, and obtain a message verification result of the original message;
the message generating module 1620 is configured to generate a network card check message according to the message check result, and send the network card check message to the virtual switch, so that the virtual switch determines the unloading identifier according to the network card check message, generates a virtual machine message, and sends the virtual machine message to the virtual machine.
In the network card hardware provided by the embodiment of the disclosure, the verification task of the message can be unloaded to the network card hardware, so that high performance overhead of the verification task on the virtual machine is reduced, and the CPU resource utilization rate and network forwarding performance of the virtual machine are improved.
In some possible implementations, the original message is a network virtualization message conforming to a preset network virtualization offload rule; the network card check message also comprises the message content of the original message; the virtual machine message also comprises the message content of the original message.
In some possible implementations, the verification module 1610 is further configured to: receiving an original message, and checking the original message under the condition that the original message meets a preset network virtualization shunting rule to obtain a message checking result of the original message; the network virtualization offload rules include that the original message includes a network virtualization field and that the original message contains a queue field or a recipient scaling field.
In some possible implementations, the message generation module 1620 is further configured to: setting a flag bit of the network card check message according to the message check result to generate the network card check message; and sending the network card check message to the virtual switch.
In some possible implementations, the network card hardware 160 further includes: the network card unloading module is used for receiving the protocol packet sent by the virtual switch under the condition that the network card hardware supports the segmentation unloading function, carrying out segmentation processing on the protocol packet, obtaining a protocol message and sending the protocol message to the transmission network.
In some possible implementations, the network card offload module is further configured to: under the condition that the network card hardware does not support the segmentation unloading function, receiving a protocol message sent by the virtual switch and sending the protocol message to a transmission network; the protocol message is obtained by receiving a protocol packet sent by the virtual machine by the virtual switch and carrying out segmentation processing on the protocol packet.
In some possible implementations, where the split offload function is a transmission control protocol split offload function, the protocol packet is a transmission control protocol packet; in the case where the segmentation offload function is a user datagram protocol segmentation offload function, the protocol packet is a user datagram protocol packet.
In some possible implementations, the network card offload module is further configured to: segmenting the message content of the protocol packet, adding an Internet protocol address header, copying a transmission control protocol header, and generating a protocol message; and checking the protocol message, obtaining a message checking result, writing the message checking result into the protocol message, and sending the protocol message to a transmission network.
In some possible implementations, the network card offload module is further configured to: segmenting the message content of the protocol packet to generate a protocol message; and checking the protocol message, obtaining a message checking result, writing the message checking result into the protocol message, and sending the protocol message to a transmission network.
It will be appreciated that the above modules of the network card hardware in the embodiments of the present disclosure have functions of implementing the corresponding steps of the message processing method in the embodiment shown in fig. 8. The functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above. The modules may be software and/or hardware, and each module may be implemented separately or may be implemented by integrating multiple modules. For the functional description of each module of the above network card hardware, reference may be specifically made to the corresponding description of the message processing method in the embodiment shown in fig. 8, which is not repeated herein.
In the technical scheme of the disclosure, the acquisition, storage, application and the like of the related user personal information all conform to the regulations of related laws and regulations, and the public sequence is not violated.
According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
The electronic device includes: at least one processor; and a memory communicatively coupled to the at least one processor; the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the message processing methods as provided by the embodiments of the present disclosure.
Compared with the prior art, the electronic equipment can offload the checking task of the message to the network card hardware, reduces high-performance expenditure caused by the checking task to the virtual machine, and improves the CPU (central processing unit) resource utilization rate and network forwarding performance of the virtual machine.
The readable storage medium is a non-transitory computer readable storage medium storing computer instructions for causing a computer to perform a message processing method as provided by an embodiment of the present disclosure.
Compared with the prior art, the readable storage medium can offload the checking task of the message to the network card hardware, reduces high-performance expenditure caused by the checking task to the virtual machine, and improves the CPU (central processing unit) resource utilization rate and network forwarding performance of the virtual machine.
The computer program product comprises a computer program which, when executed by a processor, implements a message processing method as provided by embodiments of the present disclosure.
Compared with the prior art, the computer program product can offload the checking task of the message to the network card hardware, reduces high-performance expenditure caused by the checking task to the virtual machine, and improves the CPU (central processing unit) resource utilization rate and network forwarding performance of the virtual machine.
Fig. 17 illustrates a schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 17, the apparatus 1700 includes a computing unit 1701 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 1702 or a computer program loaded from a storage unit 1708 into a Random Access Memory (RAM) 1703. In the RAM 1703, various programs and data required for the operation of the device 1700 may also be stored. The computing unit 1701, the ROM 1702, and the RAM 1703 are connected to each other via a bus 1704. An input/output (I/O) interface 1705 is also connected to the bus 1704.
Various components in device 1700 are connected to I/O interface 1705, including: an input unit 1706 such as a keyboard, a mouse, etc.; an output unit 1707 such as various types of displays, speakers, and the like; a storage unit 1708 such as a magnetic disk, an optical disk, or the like; and a communication unit 1709 such as a network card, modem, wireless communication transceiver, or the like. The communication unit 1709 allows the device 1700 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunications networks.
The computing unit 1701 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 1701 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1701 performs the respective methods and processes described above, for example, a message processing method. For example, in some embodiments, the message processing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 1708. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 1700 via ROM 1702 and/or communication unit 1709. When the computer program is loaded into RAM 1703 and executed by computing unit 1701, one or more steps of the message processing method described above may be performed. Alternatively, in other embodiments, the computing unit 1701 may be configured to perform the message processing method in any other suitable way (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel, sequentially, or in a different order, provided that the desired results of the disclosed aspects are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (30)

1. A method of message processing, applied to a virtual machine, the method comprising:
receiving a virtual machine message sent by a virtual switch, and acquiring a verification result of the virtual machine message according to an unloading identifier of the virtual machine message;
the unloading identification of the virtual machine message is obtained according to a network card check message sent to the virtual switch by network card hardware; the network card verification message comprises a message verification result; and the message verification result is that the network card hardware verifies and acquires the original message.
2. The method of claim 1, wherein the original message is a network virtualization message conforming to a preset network virtualization offload rule; the network card check message also comprises the message content of the original message; the virtual machine message also comprises the message content of the original message.
3. The method of claim 1, wherein after the obtaining the verification result of the virtual machine packet, further comprises:
and under the condition that the verification result of the virtual machine message is unknown, re-verifying the virtual machine message.
4. The method of claim 1, further comprising:
and under the condition that the network card hardware supports the segmentation unloading function, transmitting a protocol packet to the virtual switch so as to transmit the protocol packet to the network card hardware through the virtual switch, so that the network card hardware carries out segmentation processing on the protocol packet, acquires a protocol message and transmits the protocol message to a transmission network.
5. The method of claim 1, further comprising:
and under the condition that the network card hardware does not support the segmentation unloading function, sending a protocol packet to the virtual switch so that the virtual switch carries out segmentation processing on the protocol packet, obtaining a protocol message and sending the protocol message to a transmission network through the network card hardware.
6. The method according to claim 4 or 5, wherein,
in the case that the segmentation offload function is a transmission control protocol segmentation offload function, the protocol packet is a transmission control protocol packet;
in the case that the segmentation offload function is a user datagram protocol segmentation offload function, the protocol packet is a user datagram protocol packet.
7. A message processing method applied to a virtual switch, the method comprising:
receiving a network card check message sent by network card hardware, wherein the network card check message comprises a message check result, and the message check result is that the network card hardware checks and acquires an original message;
and determining an unloading identifier according to the network card check message, generating a virtual machine message according to the unloading identifier, and sending the virtual machine message to the virtual machine.
8. The method of claim 7, wherein the original message is a network virtualization message conforming to a preset network virtualization offload rule; the network card check message also comprises the message content of the original message; the virtual machine message also comprises the message content of the original message.
9. The method of claim 7, wherein the determining an offload identifier according to the network card check message, generating a virtual machine message according to the offload identifier, and sending the virtual machine message to the virtual machine, comprises:
Determining the message verification result according to the message identification of the network card verification message;
determining an unloading identifier according to the message verification result, and determining a message offset according to the message content of the network card verification message;
and generating a virtual machine message according to the unloading identifier and the message offset, and sending the virtual machine message to the virtual machine.
10. The method of claim 7, further comprising:
and under the condition that the network card hardware supports the segmentation unloading function, receiving the protocol packet sent by the virtual machine, and sending the protocol packet to the network card hardware so that the network card hardware carries out segmentation processing on the protocol packet, acquires a protocol message and sends the protocol message to a transmission network.
11. The method of claim 7, further comprising:
and under the condition that the network card hardware does not support the segmentation unloading function, receiving the protocol packet sent by the virtual machine, segmenting the protocol packet, acquiring a protocol message and sending the protocol message to a transmission network through the network card hardware.
12. The method according to claim 10 or 11, wherein,
in the case that the segmentation offload function is a transmission control protocol segmentation offload function, the protocol packet is a transmission control protocol packet;
In the case that the segmentation offload function is a user datagram protocol segmentation offload function, the protocol packet is a user datagram protocol packet.
13. The method of claim 12, wherein, in the case where the protocol packet is a transmission control protocol packet, the performing segmentation processing on the protocol packet, obtaining a protocol packet, and sending the protocol packet to a transmission network through the network card hardware, includes:
segmenting the message content of the protocol packet, adding an Internet protocol address header, copying a transmission control protocol header, and generating the protocol message;
checking the protocol message, obtaining a message checking result, and writing the message checking result into the protocol message;
and sending the protocol message to a transmission network through the network card hardware.
14. The method of claim 13, wherein the segmenting the message content of the protocol packet, adding an internet protocol address header, copying a transmission control protocol header, and generating the protocol message comprises:
segmenting the message content of the protocol packet to be used as protocol message content, and determining the offset of the message header according to the protocol message content;
Setting a check flag bit, adding an internet protocol address header according to the offset of the message header and the content of the protocol message, copying a transmission control protocol header, and generating the protocol message;
the step of verifying the protocol message, obtaining a message verification result, and writing the message verification result into the protocol message comprises the following steps:
and checking the protocol message, obtaining a message checking result, and writing the message checking result into a checking flag bit.
15. The method of claim 12, wherein, in the case that the protocol packet is a user datagram protocol, the performing segmentation processing on the protocol packet, obtaining a protocol packet, and sending the protocol packet to a transport network through the network card hardware, includes:
segmenting the message content of the protocol packet to generate the protocol message;
checking the protocol message, obtaining a message checking result, and writing the message checking result into the protocol message;
and sending the protocol message to a transmission network through the network card hardware.
16. A message processing method applied to network card hardware, the method comprising:
checking an original message to obtain a message checking result of the original message;
Generating a network card check message according to the message check result, and sending the network card check message to a virtual switch, so that the virtual switch determines an unloading identifier according to the network card check message, generates a virtual machine message, and sends the virtual machine message to the virtual machine.
17. The method of claim 16, wherein the original message is a network virtualization message conforming to a preset network virtualization offload rule; the network card check message also comprises the message content of the original message; the virtual machine message also comprises the message content of the original message.
18. The method of claim 17, wherein the verifying the original message to obtain a message verification result of the original message comprises:
receiving an original message, and checking the original message under the condition that the original message meets a preset network virtualization shunting rule to obtain a message checking result of the original message;
the network virtualization offload rule includes that the original message includes a network virtualization field and the original message includes a queue field or a receiver scaling field.
19. The method of claim 16, wherein the generating a network card check message according to the message check result and sending the network card check message to the virtual switch comprise:
Setting a flag bit of a network card check message according to the message check result to generate the network card check message;
and sending the network card check message to the virtual switch.
20. The method of claim 16, further comprising:
and under the condition that the network card hardware supports the segmentation unloading function, receiving the protocol packet sent by the virtual switch, segmenting the protocol packet, acquiring a protocol message and sending the protocol message to a transmission network.
21. The method of claim 16, further comprising:
receiving a protocol message sent by the virtual switch and sending the protocol message to a transmission network under the condition that the network card hardware does not support a segmentation unloading function; the protocol message is obtained by receiving a protocol packet sent by the virtual machine by the virtual switch and carrying out segmentation processing on the protocol packet.
22. The method according to claim 20 or 21, wherein,
in the case that the segmentation offload function is a transmission control protocol segmentation offload function, the protocol packet is a transmission control protocol packet;
in the case that the segmentation offload function is a user datagram protocol segmentation offload function, the protocol packet is a user datagram protocol packet.
23. The method of claim 22, wherein, in the case that the protocol packet is a transmission control protocol packet, the segmenting the protocol packet, obtaining a protocol packet, and sending the protocol packet to a transmission network, includes:
segmenting the message content of the protocol packet, adding an Internet protocol address header, copying a transmission control protocol header, and generating the protocol message;
and checking the protocol message, obtaining a message checking result, writing the message checking result into the protocol message, and sending the protocol message to a transmission network.
24. The method of claim 22, wherein, in the case that the protocol packet is a user datagram protocol, the segmenting the protocol packet, obtaining a protocol packet and sending the protocol packet to a transport network, comprises:
segmenting the message content of the protocol packet to generate the protocol message;
and checking the protocol message, obtaining a message checking result, writing the message checking result into the protocol message, and sending the protocol message to a transmission network.
25. An apparatus for running a virtual machine, comprising:
The virtual machine module is used for receiving a virtual machine message sent by the virtual switch and acquiring a verification result of the virtual machine message according to an unloading identifier of the virtual machine message;
the unloading identification of the virtual machine message is obtained according to a network card check message sent to the virtual switch by network card hardware; the network card verification message comprises a message verification result; and the message verification result is that the network card hardware verifies and acquires the original message.
26. An apparatus for operating a virtual switch, comprising:
the switch receiving module is used for receiving a network card check message sent by network card hardware, wherein the network card check message comprises a message check result, and the message check result is that the network card hardware checks and acquires an original message;
and the switch sending module is used for determining an unloading identifier according to the network card check message, generating a virtual machine message according to the unloading identifier, and sending the virtual machine message to the virtual machine.
27. A network card hardware comprising:
the verification module is used for verifying the original message and obtaining a message verification result of the original message;
and the message generating module is used for generating a network card check message according to the message check result, transmitting the network card check message to a virtual switch, enabling the virtual switch to determine an unloading identifier according to the network card check message, generating a virtual machine message and transmitting the virtual machine message to the virtual machine.
28. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-24.
29. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of claims 1-24.
30. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any of claims 1-24.
CN202311723026.4A 2023-12-14 2023-12-14 Message processing method, device, electronic equipment and computer readable storage medium Pending CN117793038A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311723026.4A CN117793038A (en) 2023-12-14 2023-12-14 Message processing method, device, electronic equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311723026.4A CN117793038A (en) 2023-12-14 2023-12-14 Message processing method, device, electronic equipment and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN117793038A true CN117793038A (en) 2024-03-29

Family

ID=90382581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311723026.4A Pending CN117793038A (en) 2023-12-14 2023-12-14 Message processing method, device, electronic equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN117793038A (en)

Similar Documents

Publication Publication Date Title
CN110708393B (en) Method, device and system for transmitting data
US10382331B1 (en) Packet segmentation offload for virtual networks
US9588807B2 (en) Live logical partition migration with stateful offload connections using context extraction and insertion
US8830870B2 (en) Network adapter hardware state migration discovery in a stateful environment
US9374241B2 (en) Tagging virtual overlay packets in a virtual networking system
US10250496B2 (en) Router based maximum transmission unit and data frame optimization for virtualized environments
US9910687B2 (en) Data flow affinity for heterogenous virtual machines
US20130343385A1 (en) Hypervisor independent network virtualization
US8544025B2 (en) Efficient data transfer on local network connections using a pseudo socket layer
CN105049464B (en) Techniques for accelerating network virtualization
US20140198638A1 (en) Low-latency lossless switch fabric for use in a data center
US9692642B2 (en) Offloading to a network interface card
US10621124B2 (en) Method, device and computer program product for enabling SR-IOV functions in endpoint device
CN113691589B (en) Message transmission method, device and system
CN114697391B (en) Data processing method, device, equipment and storage medium
US11561916B2 (en) Processing task deployment in adapter devices and accelerators
CN117793038A (en) Message processing method, device, electronic equipment and computer readable storage medium
US20110271008A1 (en) Selective TCP Large Receive Aggregation Based On IP Destination Address
US10129147B2 (en) Network-on-chip flit transmission method and apparatus
CN113890789B (en) UDP tunnel traffic shunting method and traffic forwarding method suitable for data center
US11048550B2 (en) Methods, devices and computer program products for processing task
CN115242733B (en) Message multicast method, multicast gateway, electronic device and storage medium
CN116634044A (en) DPDK (digital video broadcasting) fragment message processing method and device
CN117271658A (en) Data synchronization method, device, equipment, medium and automatic driving vehicle
CN115277558A (en) Message sending method and device, computer storage medium and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination