CN114726788A - Message transmission method applied to DPU and related device - Google Patents

Message transmission method applied to DPU and related device Download PDF

Info

Publication number
CN114726788A
CN114726788A CN202210484748.8A CN202210484748A CN114726788A CN 114726788 A CN114726788 A CN 114726788A CN 202210484748 A CN202210484748 A CN 202210484748A CN 114726788 A CN114726788 A CN 114726788A
Authority
CN
China
Prior art keywords
flow table
data message
data
field
matching field
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.)
Granted
Application number
CN202210484748.8A
Other languages
Chinese (zh)
Other versions
CN114726788B (en
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.)
Shenzhen Xingyun Zhilian Technology Co ltd
Original Assignee
Shenzhen Xingyun Zhilian 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 Shenzhen Xingyun Zhilian Technology Co ltd filed Critical Shenzhen Xingyun Zhilian Technology Co ltd
Priority to CN202210484748.8A priority Critical patent/CN114726788B/en
Publication of CN114726788A publication Critical patent/CN114726788A/en
Application granted granted Critical
Publication of CN114726788B publication Critical patent/CN114726788B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a message transmission method and a related device applied to a DPU, comprising the following steps: receiving a first data message through a hardware module, and determining the service type of the first data message; if it is determined that a flow table item matched with the first data message does not exist in a flow table stored by the hardware module, the first data message and the service type of the first data message are sent to the software module; acquiring a flow table of a first format corresponding to the first data message through a software module, and determining an effective matching field of the first data message according to the service type of the first data message; converting the flow table in the first format into the flow table in the second format through the software module according to the effective matching field of the first data message; transmitting the flow table of the second format corresponding to the first data message to a hardware module through a software module; and transmitting the data stream to which the first data message belongs through the hardware module according to the stream table of the second format corresponding to the first data message. By implementing the method and the device, the hardware storage space can be saved.

Description

Message transmission method applied to DPU and related device
Technical Field
The present application relates to the field of computer network technologies, and in particular, to a packet transmission method and a related apparatus applied to a DPU.
Background
Software Defined Network (SDN) is a novel Network innovation architecture, and the OpenFlow technology related to the SDN can convert the packet forwarding process originally controlled by a Switch/router into independent processes respectively completed by an OpenFlow Switch (OpenFlow Switch) and a control server (Controller), thereby realizing flexible control of Network traffic.
The OpenFlow switch stores a forwarding rule of a packet using a Flow Table (Flow Table). The flow table includes a matching field (key field key for matching the packet) and an action field (action of operation instruction for instructing to operate on the packet). At present, an intelligent network card (such as a Data Processing Unit (DPU)) can offload a flow table, that is, a hardware flow table offloaded to the intelligent network card is used to perform fast lookup and forwarding Processing on subsequent flows, so that the efficiency of Data forwarding is improved. The hardware flow table stored in the intelligent network card can comprise a multi-stage flow table formed by connecting a plurality of flow tables in series, each table in the multi-stage flow table has a sequence number, and the data packet is matched among the plurality of flow tables according to the increasing direction of the sequence numbers of the flow tables through a jump instruction.
The matching domain of each flow table in the existing multi-stage flow table is fixed, so the storage space allocated to the matching domain of the flow table is also fixed, but the actual effective field in the matching domain of the flow table does not occupy all the storage space sometimes, and a memory hole may be generated, thereby causing waste of precious hardware storage space.
Disclosure of Invention
In order to solve the above problem, an embodiment of the present application discloses a packet transmission method and a related apparatus applied to a DPU, which can save a hardware storage space after a flow table is unloaded.
In a first aspect, the present application provides a packet transmission method applied to a DPU, where the method includes:
receiving a first data message through a hardware module, and determining the service type of the first data message;
under the condition that it is determined that a flow table item matched with the first data message does not exist in a flow table stored by the hardware module, the first data message and the service type of the first data message are sent to a software module through the hardware module;
acquiring a flow table of a first format corresponding to the first data message through the software module, and determining an effective matching field of the first data message according to the service type of the first data message, wherein the size of a space occupied by the first matching field of the flow table of the first format is a preset value;
converting, by the software module, the flow table in the first format into a flow table in a second format according to the valid matching field of the first data packet, where a second matching field of the flow table in the second format includes the service type of the first data packet and the valid matching field of the first data packet, and a space occupied by the second matching field is smaller than a space occupied by the first matching field;
transmitting a flow table in a second format corresponding to the first data message to the hardware module through the software module;
and transmitting the data stream to which the first data message belongs through the hardware module according to the flow table of the second format corresponding to the first data message.
In a possible implementation manner, the receiving, by a hardware module, a first data packet and determining a service type of the first data packet includes:
acquiring identification information of the first data message, wherein the identification information of the first data message comprises an effective matching field of the first data message;
and determining the service type of the first data message according to the identification information.
In a possible implementation manner, the transmitting, by the hardware module, the data flow to which the first data packet belongs according to the flow table of the second format corresponding to the first data packet includes:
under the condition of receiving a second data message, determining the service type of the second data message through the hardware module, wherein the data stream to which the second data message belongs is the same as the data stream to which the first data message belongs;
searching a flow table stored in the hardware module according to the service type of the second data message, wherein the flow table stored in the hardware module comprises a flow table in the second format corresponding to the first data message;
and executing corresponding operation on the second data message according to the flow table of the second format corresponding to the first data message.
In one possible embodiment, the method further comprises:
under the condition that it is determined that the flow table of the second format corresponding to the first data message and the flow table corresponding to the third data message in the software module meet the flow table merging condition, merging the flow table of the second format corresponding to the first data message and the flow table corresponding to the third data message through the software module to obtain a target flow table; wherein the flow table merge condition includes: the matching fields of the two flow tables are provided with repeated fields, and the space occupied by the flow tables obtained after combination is smaller than the space occupied by the preset single flow table;
the transmitting, by the software module, the flow table of the second format corresponding to the first data packet to the hardware module includes:
transmitting, by the software module, the target flow table to the hardware module;
the transmitting, by the hardware module, the data flow to which the first data packet belongs according to the flow table of the second format corresponding to the first data packet includes:
and transmitting the data stream to which the first data message or the third data message belongs through the hardware module according to the target flow table.
In a possible implementation, the including, in the action field of the target flow table, a separation flag, and the transmitting, by the hardware module, the data flow to which the first datagram or the third datagram belongs according to the target flow table includes:
under the condition of receiving a fourth data message, determining the service type of the fourth data message and an effective matching field of the fourth data message through the hardware module, wherein the data stream to which the fourth data message belongs is the same as the data stream to which the first data message belongs or the data stream to which the third data message belongs;
searching a flow table stored in the hardware module according to the service type of the fourth data message, wherein the flow table stored in the hardware module comprises the target flow table;
determining the target flow table as a flow table matched with the fourth data message;
under the condition that the effective matching field of the fourth data message is completely the same as the matching field included in the matching field in the target flow table, executing corresponding operation on the fourth data message according to the action field in the target flow table;
and under the condition that the effective matching field of the fourth data message is partially the same as the matching field included in the matching field in the target flow table, determining a target action from the action field of the target flow table according to the effective matching field of the fourth data message, the matching field of the target flow table and the separation mark, and executing the operation corresponding to the target action on the fourth data message, wherein the separation mark is used for distinguishing the actions corresponding to the first data message and the third data message respectively.
In a possible implementation, the determining the target action from the action field of the target flow table according to the valid match field of the fourth datagram, the match field of the target flow table, and the separation flag includes:
if the valid matching field of the fourth data packet includes the first matching field and the second matching field in the matching field of the target flow table, but does not include the third matching field, determining the action before the second separation flag in the action field of the target flow table as the target action; wherein the first match field comprises a field before a first separation flag of the match domain, the second match field comprises a field after the first separation flag and before a second separation flag of the match domain, and the third match field comprises a field after the second separation flag of the match domain;
if the valid matching field of the fourth data packet includes the first matching field and the third matching field in the matching field of the target flow table, but does not include the second matching field, determining the action before the first separation flag and the action after the second separation flag in the action field of the target flow table as the target action.
In a second aspect, the present application provides a packet transmission apparatus, including:
a receiving unit, configured to receive a first data packet through a hardware module;
a first determining unit, configured to determine a service type of the first data packet;
a sending unit, configured to send, by the hardware module, the first data packet and a service type of the first data packet to a software module when it is determined that a flow table entry matching the first data packet does not exist in a flow table stored by the hardware module;
the acquiring unit is used for acquiring a flow table of a first format corresponding to the first data message through the software module;
a second determining unit, configured to determine, according to a service type of the first data packet, an effective matching field of the first data packet, where a size of a space occupied by a first matching field of the flow table in the first format is a preset value;
a conversion unit, configured to convert, by the software module, the flow table in the first format into a flow table in a second format according to the valid matching field of the first data packet, where a second matching field of the flow table in the second format includes a service type of the first data packet and the valid matching field of the first data packet, and a space occupied by the second matching field is smaller than a space occupied by the first matching field;
the transmission unit is used for transmitting the flow table of the second format corresponding to the first data message to the hardware module through the software module;
and the message transmission unit is used for transmitting the data stream to which the first data message belongs through the hardware module according to the flow table of the second format corresponding to the first data message.
In one possible design, the first determining unit is specifically configured to:
acquiring identification information of the first data message, wherein the identification information of the first data message comprises an effective matching field of the first data message;
and determining the service type of the first data message according to the identification information.
In a possible design, the message transmission unit is specifically configured to:
under the condition of receiving a second data message, determining the service type of the second data message through the hardware module, wherein the data stream to which the second data message belongs is the same as the data stream to which the first data message belongs;
searching a flow table stored in the hardware module according to the service type of the second data message, wherein the flow table stored in the hardware module comprises a flow table in the second format corresponding to the first data message;
and executing corresponding operation on the second data message according to the flow table of the second format corresponding to the first data message.
In one possible design, the apparatus further includes:
a merging unit, configured to merge, by the software module, the flow table in the second format corresponding to the first data packet and the flow table corresponding to the third data packet in the software module to obtain a target flow table when it is determined that the flow table in the second format corresponding to the first data packet and the flow table corresponding to the third data packet in the software module satisfy a flow table merging condition; wherein the flow table merge condition includes: the matching fields of the two flow tables are provided with repeated fields, and the space occupied by the flow tables obtained after combination is smaller than the space occupied by the preset single flow table;
the transmission unit is specifically configured to:
transmitting, by the software module, the target flow table to the hardware module;
the message transmission unit is specifically configured to:
and transmitting the data stream to which the first data message or the third data message belongs through the hardware module according to the target flow table.
In one possible design, the action field of the target flow table includes a separation flag, and the packet transmission unit is specifically configured to:
under the condition of receiving a fourth data message, determining the service type of the fourth data message and an effective matching field of the fourth data message through the hardware module, wherein the data stream to which the fourth data message belongs is the same as the data stream to which the first data message belongs or the data stream to which the third data message belongs;
searching a flow table stored in the hardware module according to the service type of the fourth data message, wherein the flow table stored in the hardware module comprises the target flow table;
determining the target flow table as a flow table matched with the fourth data message;
under the condition that the effective matching field of the fourth data message is completely the same as the matching field included in the matching field in the target flow table, executing corresponding operation on the fourth data message according to the action field in the target flow table;
and under the condition that the effective matching field of the fourth data message is partially the same as the matching field included in the matching field in the target flow table, determining a target action from the action field of the target flow table according to the effective matching field of the fourth data message, the matching field of the target flow table and the separation mark, and executing the operation corresponding to the target action on the fourth data message, wherein the separation mark is used for distinguishing the actions corresponding to the first data message and the third data message respectively.
In one possible design, the matching field and the action field of the target flow table each include two separation flags, and the packet transmission unit is specifically configured to:
if the valid matching field of the fourth data packet includes the first matching field and the second matching field in the matching field of the target flow table, but does not include the third matching field, determining the action before the second separation flag in the action field of the target flow table as the target action; wherein the first match field comprises a field before a first separation flag of the match domain, the second match field comprises a field after the first separation flag and before a second separation flag of the match domain, and the third match field comprises a field after the second separation flag of the match domain;
if the valid matching field of the fourth data packet includes the first matching field and the third matching field in the matching field of the target flow table, but does not include the second matching field, determining the action before the first separation flag and the action after the second separation flag in the action field of the target flow table as the target action.
In a third aspect, the present application provides an electronic device, comprising: a memory, a processor, and a network interface, wherein the memory, the processor, and the network interface are communicatively connected to one another; wherein the memory stores program instructions; the program instructions, when executed by the processor, cause the processor to perform the method as described in the first aspect and any possible implementation manner of the first aspect.
In a fourth aspect, the present application provides a computer readable storage medium having a computer program stored therein; the computer program, when executed on one or more processors, performs the method as described in the first aspect and any possible implementation manner of the first aspect.
In the embodiment of the application, the service type of a first data message (namely a data flow first packet) is obtained through a hardware module and is sent to a software module; after a flow table of a first format corresponding to the first data message is obtained, the flow table of the first format is converted into a flow table of a second format according to the effective matching field corresponding to the service type, so that the space occupied by a second matching field of the flow table of the second format is smaller than the space occupied by a first matching field of the flow table of the first format; and transmitting the flow table of the second format corresponding to the first data message to a hardware module so as to realize the subsequent transmission aiming at the data flow. Through format conversion of the flow table, dynamic compression of the flow table can be realized, space waste caused by wildcard fields or memory holes is reduced, and hardware storage space is saved after the flow table is unloaded.
Drawings
In order to more clearly illustrate the technical solution in the embodiments of the present invention, the drawings required to be used in the embodiments will be briefly described below.
Fig. 1 is a system structure diagram of a packet transmission method applied to a DPU according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a packet transmission method applied to a DPU according to an embodiment of the present application;
fig. 3a is a schematic structural diagram of a matching field of a flow table according to an embodiment of the present application;
FIG. 3b is a diagram illustrating the structure of a matching field of a flow table in the prior art;
FIG. 3c is a diagram illustrating the structure of the matching field of another prior art flow table;
fig. 4 is a schematic flowchart of another packet transmission method applied to a DPU according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a message transmission apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings.
The terms "first" and "second," and the like in the description, claims, and drawings of the present application are used solely to distinguish between different objects and not to describe a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. Such as a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the above phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those skilled in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
In this application, "at least one" means one or more, "a plurality" means two or more, "at least two" means two or three and three or more, "and/or" for describing an association relationship of associated objects, which means that there may be three relationships, for example, "a and/or B" may mean: only A, only B and both A and B are present, wherein A and B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items. For example, at least one (one) of a, b, or c, may represent: a, b, c, "a and b," a and c, "" b and c, "or" a and b and c.
The present invention will be described in detail below with reference to the accompanying drawings.
Referring to fig. 1, fig. 1 is a system structure diagram of a packet transmission method applied to a DPU according to an embodiment of the present disclosure. As shown in fig. 1, the message transmission method may be applied to a message transmission device/apparatus, where the message transmission device includes a software module and a hardware module, where the software module may implement a flow table management function of the message transmission device, and the hardware module may implement a data fast forwarding function of the message transmission device. The hardware module may include, but is not limited to, a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), and the like, and the software module may include, but is not limited to, an Embedded CPU (ECPU), and the like. It can be understood that the message transmission device may be a DPU (Data Processing Unit) having a standard network card function and a software definition capability, and the DPU may be regarded as an intelligent network card, so that the intelligent network card mentioned in this application is not limited to a narrow common intelligent network card (Smart NIC).
Referring to fig. 2, fig. 2 is a schematic flowchart of a message transmission method applied to a DPU according to an embodiment of the present application, and as shown in fig. 2, the method includes the following steps 201 to 206:
step 201, receiving a first data packet through a hardware module, and determining a service type of the first data packet.
Generally, a data packet enters the hardware module through a network interface of the packet transmission device, and the hardware module determines whether a flow entry matching the data packet exists by searching a hardware flow table stored in the hardware module, and then determines a next operation on the data packet according to a search result. In the embodiment of the present application, in order to facilitate the lookup of the flow table, after receiving the first data packet, the service type of the first data packet is determined. The service type may be used to indicate specific service processing logic for the data packet, and may include, for example and without limitation, a two-layer forwarding service, a three-layer forwarding service, and the like. If the service types of the data packets are different, the matching fields concerned when performing flow table matching on the data packets (called valid matching fields of the data packets for short) are different, that is, the service types of the data packets and the valid matching fields of the data packets have a corresponding relationship, and the corresponding relationship can be predetermined and stored in the hardware module and the software module of the packet transmission device.
In one embodiment, receiving a first data packet through a hardware module, and determining a service type of the first data packet may include the following steps: acquiring identification information of the first data message, wherein the identification information of the first data message comprises an effective matching field of the first data message; and determining the service type of the first data message according to the identification information.
Specifically, the identification information of the first data packet includes an input port of the first data packet and information of the first data packet itself (i.e., information included in the header, such as source MAC, destination MAC, source IP, destination IP, protocol type, etc.). According to the identification information of the first data packet, which specific service type of the first data packet is can be determined. It can be understood that the identification information of the first data packet includes the valid matching field, that is, the matching field that needs to be concerned when the flow tables are matched.
Step 202, under the condition that it is determined that there is no flow table entry matching with the first data packet in the flow table stored by the hardware module, the hardware module sends the first data packet and the service type of the first data packet to a software module.
In this embodiment of the application, when it is determined that there is no flow entry matching the first data packet in the flow table stored in the hardware module, it may be determined that the first data packet is a data flow header packet, and at this time, the hardware module of the packet transmission device may upload the first data packet, so as to obtain a flow table corresponding to the first data packet. Specifically, the software module sends the first data packet and the service type of the first data packet to the software module together, so that the software module obtains a flow table corresponding to the first data packet according to a flow table rule stored in the software module or a flow table rule issued by an OpenFlow controller.
Step 203, obtaining, by the software module, a flow table in a first format corresponding to the first data packet, and determining an effective matching field of the first data packet according to the service type of the first data packet.
The size of the space occupied by the first matching domain of the flow table in the first format is a preset numerical value.
In the embodiment of the application, a software module obtains a flow table in a first format corresponding to a first data packet according to a flow table rule stored in the software module or a flow table rule issued by an OpenFlow controller, where a space occupied by a first matching field of the flow table in the first format is a preset fixed value, and the fixed value is pre-allocated to the flow table matching field and may be 80 bytes, 40 bytes, and the like. It can be understood that, when the number of fields included in the valid matching field of the first data packet is small, the space occupied by the first matching field of the flow table in the first format is not fully utilized, a memory hole may exist or is occupied by a wildcard field, and subsequently unloading the flow table in the first format to the hardware module may cause a waste of space in the hardware module.
Step 204, converting the flow table in the first format into a flow table in a second format by the software module according to the valid matching field of the first data packet.
Wherein a second matching field of the flow table in the second format includes a service type of the first data packet and a valid matching field of the first data packet, and a space occupied by the second matching field is smaller than a space occupied by the first matching field.
In this embodiment of the present application, when the number of fields included in the valid matching field of the first data packet is smaller, the flow table in the first format may be converted into a flow table in a second format, where the flow tables in the two formats are both used to represent a forwarding rule for a data flow to which the first data packet belongs, but a second matching field of the flow table in the second format occupies a smaller space than a first matching field of the flow table in the first format. As shown in fig. 3a, the second matching field of the flow table in the second format includes the service type of the first datagram and the valid matching field of the first datagram, and the first matching field of the flow table in the first format includes the valid matching field of the first datagram and may also include other wildcard fields (as in fig. 3b), or a memory hole exists in the memory occupied by the first matching field (as in fig. 3 c).
Step 205, transmitting the flow table of the second format corresponding to the first data packet to the hardware module through the software module.
In the embodiment of the present application, after the flow table of the second format of the first data packet is obtained, the flow table may be transmitted to a hardware module, that is, the flow table is unloaded to hardware, so that the subsequent hardware fast forwarding of the data stream to which the first data packet belongs is performed, and the forwarding efficiency is improved.
Step 206, transmitting, by the hardware module, a data flow to which the first data packet belongs according to the flow table of the second format corresponding to the first data packet.
In this embodiment of the present application, if a subsequent hardware module receives other data packets in a data stream to which a first data packet belongs, a flow table of a second format corresponding to the first data packet stored in the hardware module is used to perform a corresponding forwarding operation on the data packets.
Specifically, the transmitting, by the hardware module, the data flow to which the first data packet belongs according to the flow table of the second format corresponding to the first data packet may include the following steps:
determining, by the hardware module, a service type of a second data packet when the second data packet is received, where a data stream to which the second data packet belongs is the same as a data stream to which the first data packet belongs;
searching a flow table stored in the hardware module according to the service type of the second data message, wherein the flow table stored in the hardware module comprises a flow table in the second format corresponding to the first data message;
and executing corresponding operation on the second data message according to the flow table of the second format corresponding to the first data message.
It can be understood that the second data packet is the same as the data flow to which the first data packet belongs, that is, the second data packet is another data packet in the data flow to which the first data packet belongs, and therefore, when the second data packet is received, the service type of the second data packet is determined first, and then the flow table is searched according to the service type. The second data message and the first data message belong to the same data flow, so that the service types of the second data message and the first data message are the same. The flow table matched with the second data message in the hardware module can be determined through the flow table search, and the flow table is the flow table of the second format corresponding to the first data message. And according to the action domain included in the flow table of the second format corresponding to the first data message, executing corresponding operation indicated by the action included in the action domain on the second data message. Specifically, the operation includes, but is not limited to, forwarding to a port, forwarding to a queue, discarding, modifying message information, and the like.
In the embodiment of the application, the service type of a first data message (namely a data flow first packet) is obtained through a hardware module and is sent to a software module; after a flow table in a first format corresponding to the first data message is acquired, the flow table in the first format is converted into a flow table in a second format according to the effective matching field corresponding to the service type, so that the space occupied by the second matching field of the flow table in the second format is smaller than the space occupied by the first matching field of the flow table in the first format; and transmitting the flow table of the second format corresponding to the first data message to a hardware module so as to realize the subsequent transmission aiming at the data flow. Through format conversion of the flow table, dynamic compression of the flow table can be realized, space waste caused by wildcard fields or memory holes is reduced, and hardware storage space is saved after the flow table is unloaded.
Another packet transmission method applied to a DPU, which is provided in the embodiment of the present application, may be executed after the foregoing step 201 to step 204, and includes the following steps 401 to step 403, as shown in fig. 4, where the method includes:
step 401, when it is determined that the flow table of the second format corresponding to the first data packet and the flow table corresponding to the third data packet in the software module satisfy the flow table merging condition, merging the flow table of the second format corresponding to the first data packet and the flow table corresponding to the third data packet by the software module, and obtaining a target flow table.
Wherein the flow table merge condition includes: the matching fields of the two flow tables are provided with repeated fields, and the space occupied by the flow tables obtained after combination is smaller than the space occupied by the preset single flow table.
In this embodiment of the application, when the software module obtains the flow table in the second format corresponding to the first data packet, it is further determined whether another flow table stored in the software module and the flow table in the second format corresponding to the first data packet satisfy the flow table merging condition, and if it is determined that the flow table merging condition is satisfied, the above-mentioned step 205 to step 206 is not executed, that is, the flow table in the second format corresponding to the first data packet is not directly transmitted to the hardware module, but the step 401 to step 403 is executed, the flow tables are merged, and the target flow table is obtained and then transmitted to the hardware module, so as to further save the storage resources in the hardware module. It can be understood that, generally, merging is performed only when two flow tables are short and space can be saved after merging, and therefore, it is necessary to determine whether the merging condition of the flow tables is satisfied before merging, so as to ensure that the space occupied by the flow table obtained after merging (i.e., the target flow table) is smaller than that occupied by the two flow tables before merging.
In addition, because the second matching domain of the flow table in the second format corresponding to the first data packet includes the service type, and the matching domain of the flow table corresponding to the third data packet also includes the service type, the target flow table obtained after merging also includes the service type. The service type of the target flow table may be a set of service types of the two flow tables before merging, so that when a data flow to which the first data packet belongs or a data flow to which the third data packet belongs is subsequently received, the target flow table can be hit when flow table searching is performed according to the service type of the data packet; the service type of the target flow table can also be a new service type different from the service types of the two flow tables before merging, but both the service type of the target flow table and the service types of the two flow tables before merging meet a matching relationship, and the matching relationship is stored in a hardware module and a software module in advance, so that the target flow table can be hit when the flow table is searched according to the service type of the data message when the data stream to which the first data message belongs or the data stream to which the third data message belongs is subsequently received.
Step 402, transmitting the target flow table to the hardware module through the software module.
In the embodiment of the application, after the flow table merging is performed, the target flow table is obtained, and the target flow table can be transmitted to the hardware module, so that corresponding operations are performed on other data messages of the same data flow according to the target flow table in the following process.
Step 403, transmitting, by the hardware module, a data stream to which the first data packet or the third data packet belongs according to the target flow table.
In this embodiment, after the hardware flow table obtains the target flow table, the data flow to which the first data packet or the third data packet belongs may be transmitted according to the target flow table.
In one embodiment, the action field of the target flow table includes a separation flag, and the transmitting, by the hardware module, the data flow to which the first datagram or the third datagram belongs according to the target flow table includes the following steps:
under the condition of receiving a fourth data message, determining, by the hardware module, a service type of the fourth data message and an effective matching field of the fourth data message, where a data stream to which the fourth data message belongs is the same as a data stream to which the first data message belongs or a data stream to which the third data message belongs;
searching a flow table stored in the hardware module according to the service type of the fourth data message, wherein the flow table stored in the hardware module comprises the target flow table;
determining the target flow table as a flow table matched with the fourth data message;
under the condition that the effective matching field of the fourth data message is completely the same as the matching field included in the matching field in the target flow table, executing corresponding operation on the fourth data message according to the action field in the target flow table;
and under the condition that the effective matching field of the fourth data message is partially the same as the matching field included in the matching field in the target flow table, determining a target action from the action field in the target flow table according to the effective matching field of the fourth data message, the matching field of the target flow table and the separation mark, and executing the operation corresponding to the target action on the fourth data message, wherein the separation mark is used for distinguishing the actions corresponding to the first data message and the third data message respectively.
Specifically, the target flow table is the flow table after merging, and the two flow tables before merging can be classified into the following cases: (1) all matching fields in the matching field of one flow table (the matching fields do not include the service types) are contained in the matching field of the other flow table; (2) the match fields of the two flow tables have duplicate match fields and also each have other different match fields. Then, in case (1), the matching field included in the matching field of one of the flow tables before merging (the flow table matching field includes the matching field in the matching field of the other flow table), and in case (2), the matching field included in the matching field of the corresponding target flow table is the sum of the matching fields included in the matching fields of the two flow tables before merging (each matching field in the target flow table is not repeated). Therefore, the valid match field of the fourth datagram may be completely the same as the match field included in the match field in the target flow table, or the valid match field of the fourth datagram may be partially the same as the match field included in the match field in the target flow table.
In the exact same case, the action included in the action field of the target flow table can be directly executed.
However, under the same condition, it is necessary to determine which actions in the action domain of the target flow table are the target actions, and then execute corresponding operations according to the target actions. It can be understood that the target action is related to the separation flag in the action domain of the target flow table, that is, the target flow table distinguishes the actions included in the action domain by setting the separation flag, so that the fourth data packet can find the corresponding action in the action domain of the target flow table according to the data flow to which the fourth data packet belongs.
In one embodiment, the matching field and the action field of the target flow table each include two separation flags, and the determining the target action from the action field of the target flow table according to the valid matching field of the fourth datagram, the matching field of the target flow table, and the separation flags includes:
if the valid matching field of the fourth data packet includes the first matching field and the second matching field in the matching field of the target flow table, but does not include the third matching field, determining the action before the second separation flag in the action field of the target flow table as the target action; wherein the first match field comprises a field before a first separation flag of the match domain, the second match field comprises a field after the first separation flag and before a second separation flag of the match domain, and the third match field comprises a field after the second separation flag of the match domain;
if the valid matching field of the fourth data packet includes the first matching field and the third matching field in the matching field of the target flow table, but does not include the second matching field, determining an action before a first separation flag and an action after a second separation flag in the action field of the target flow table as the target action.
Specifically, the separation flag included in the match field and the action field of the target flow table may be a special flag that occupies less space (e.g., 1 bit). The two separation flags included in the matching field of the target flow table may be flags with the same representation form but in different positions. By identifying the location of the separation flag in the target flow table match field, it can be determined which data flow (e.g., the data flow to which the first data packet or the third data packet belongs) the match field corresponds. It can be understood that the first matching field in the matching field of the target flow table may correspond to a repeated matching field included in the matching field of the two flow tables before merging; the second matching field corresponds to other matching fields except for the repeated matching field included in the matching field of a certain flow table (referred to as an A flow table for short) before merging; and the third matching field corresponds to other matching fields except for the repeated matching field included in the matching field of the other flow table (the flow table B for short) before merging. The two separation flags are respectively positioned between the first matching field and the second matching field and between the second matching field and the third matching field. In this way, the separation of the first match field, the second match field, and the third match field is achieved with two separation flags in the target flow table. It can be understood that, if the matching fields included in the matching field of one of the flow tables before merging are all included in the matching field of the other flow table, the second matching field or the third matching field may not include any matching field, and at this time, the two separation flags still exist.
Accordingly, the two separation flags in the action field of the target flow table may correspond to the two separation flags in the matching field, that is, the action before the first separation flag, corresponding to the repeated action included in the action fields of the two flow tables that are not merged; an action after the first separation flag and before the second separation flag corresponds to an exclusive action included in the action field of one of the flow tables (a-flow table) except the repeated action; and the action following the second separation flag corresponds to an exclusive action included in the action field of the other flow table (B-flow table) in addition to the above-described repeated action. Therefore, the target action can be determined from the action domain of the target flow table according to the matching relationship between the effective matching field of the fourth data message and the matching field included in the matching domain of the target flow table, so that the fourth data message is correspondingly operated according to the hit combined flow table, and the effects of realizing the lookup and forwarding functions of the flow table and saving the hardware storage space are achieved.
In one embodiment, the matching field of the target flow table may further include first location information and second location information, and the action field of the target flow table may further include third location information and fourth location information, where the four location information respectively indicate a length of a matching field and an action included in the two flow tables before merging, the first location information and the third location information are related to one of the flow tables before merging (a flow table), and the second location information and the fourth location information are related to the other flow table before merging (B flow table). For example, the first position information, the second position information, the third position information, and the fourth position information may be offset values.
In this embodiment, the respective matching fields and actions of the two flow tables before merging are distinguished by using the separation flags in the matching field and the action field of the target flow table, and the positions of the matching fields and the actions are quickly determined by combining the first position information, the second position information, the third position information and the fourth position information, so that the target actions corresponding to the first data packet or the third data packet can be conveniently found, and further, the fourth data packet can be correspondingly forwarded according to the target flow table, and the lookup accuracy and the lookup efficiency of the flow tables are ensured under the condition of realizing the merging of the flow tables and saving the hardware storage space.
It is understood that the above steps 401 to 403 may also be performed separately, that is, in the case that the flow table in the software module satisfies the flow table merging condition, the flow table merging is performed, so that the purpose of saving the storage space can be achieved.
In the embodiment of the application, for the flow table of the second format corresponding to the first data packet which is dynamically compressed, if it is determined that the flow table and other flow tables in the software module further satisfy the flow table merging condition, the two flow tables are merged and then issued to the hardware module, so that the hardware storage space can be saved.
Referring to fig. 5, fig. 5 is a schematic structural diagram of a message transmission apparatus according to an embodiment of the present application, and as shown in fig. 5, the message transmission apparatus includes:
a receiving unit 501, configured to receive a first data packet through a hardware module;
a first determining unit 502, configured to determine a service type of the first data packet;
a sending unit 503, configured to send the first data packet and the service type of the first data packet to a software module through the hardware module when it is determined that a flow table entry matching the first data packet does not exist in a flow table stored by the hardware module;
an obtaining unit 504, configured to obtain, by the software module, a flow table in a first format corresponding to the first data packet;
a second determining unit 505, configured to determine, according to the service type of the first data packet, an effective matching field of the first data packet, where a size of a space occupied by a first matching field of the flow table in the first format is a preset value;
a converting unit 506, configured to convert, by the software module, the flow table in the first format into a flow table in a second format according to the valid matching field of the first data packet, where a second matching field of the flow table in the second format includes a service type of the first data packet and the valid matching field of the first data packet, and a space occupied by the second matching field is smaller than a space occupied by the first matching field;
a transmission unit 507, configured to transmit the flow table in the second format corresponding to the first data packet to the hardware module through the software module;
a message transmission unit 508, configured to transmit, by the hardware module, a data stream to which the first data packet belongs according to the flow table in the second format corresponding to the first data packet.
In one possible design, the first determining unit 502 is specifically configured to:
acquiring identification information of the first data message, wherein the identification information of the first data message comprises an effective matching field of the first data message;
and determining the service type of the first data message according to the identification information.
In one possible design, the message transmission unit 508 is specifically configured to:
under the condition of receiving a second data message, determining the service type of the second data message through the hardware module, wherein the data stream to which the second data message belongs is the same as the data stream to which the first data message belongs;
searching a flow table stored in the hardware module according to the service type of the second data message, wherein the flow table stored in the hardware module comprises a flow table in the second format corresponding to the first data message;
and executing corresponding operation on the second data message according to the flow table of the second format corresponding to the first data message.
In one possible design, the apparatus further includes:
a merging unit, configured to merge, by the software module, the flow table in the second format corresponding to the first data packet and the flow table corresponding to the third data packet in the software module to obtain a target flow table when it is determined that the flow table in the second format corresponding to the first data packet and the flow table corresponding to the third data packet in the software module satisfy a flow table merging condition; wherein the flow table merge condition includes: the matching fields of the two flow tables are provided with repeated fields, and the space occupied by the flow tables obtained after combination is smaller than the space occupied by the preset single flow table;
the transmission unit 507 is specifically configured to:
transmitting, by the software module, the target flow table to the hardware module;
the message transmission unit 508 is specifically configured to:
and transmitting the data stream to which the first data message or the third data message belongs through the hardware module according to the target flow table.
In one possible design, the action field of the target flow table includes a separation flag, and the packet transmission unit 508 is specifically configured to:
under the condition of receiving a fourth data message, determining the service type of the fourth data message and an effective matching field of the fourth data message through the hardware module, wherein the data stream to which the fourth data message belongs is the same as the data stream to which the first data message belongs or the data stream to which the third data message belongs;
searching a flow table stored in the hardware module according to the service type of the fourth data message, wherein the flow table stored in the hardware module comprises the target flow table;
determining the target flow table as a flow table matched with the fourth data message;
under the condition that the effective matching field of the fourth data message is completely the same as the matching field included in the matching field in the target flow table, executing corresponding operation on the fourth data message according to the action field in the target flow table;
and under the condition that the effective matching field of the fourth data message is partially the same as the matching field included in the matching field in the target flow table, determining a target action from the action field of the target flow table according to the effective matching field of the fourth data message, the matching field of the target flow table and the separation mark, and executing the operation corresponding to the target action on the fourth data message, wherein the separation mark is used for distinguishing the actions corresponding to the first data message and the third data message respectively.
In a possible design, the matching field and the action field of the target flow table each include two separation flags, and the packet transmission unit 508 is specifically configured to:
if the valid matching field of the fourth data packet includes the first matching field and the second matching field in the matching field of the target flow table, but does not include the third matching field, determining the action before the second separation flag in the action field of the target flow table as the target action; wherein the first match field comprises a field before a first separation flag of the match domain, the second match field comprises a field after the first separation flag and before a second separation flag of the match domain, and the third match field comprises a field after the second separation flag of the match domain;
if the valid matching field of the fourth data packet includes the first matching field and the third matching field in the matching field of the target flow table, but does not include the second matching field, determining the action before the first separation flag and the action after the second separation flag in the action field of the target flow table as the target action.
Referring to fig. 6, fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure. As shown in fig. 6, the electronic device includes a memory 601, a processor 602, and a network interface 603. The memory 601, the processor 602 and the network interface 603 are communicatively connected to each other via a bus. The electronic device may be the message transmission apparatus in fig. 1.
The memory 601 is used to provide a storage space, and data such as an operating system and a computer program may be stored in the storage space. The memory 601 includes, but is not limited to, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or a portable read-only memory (CD-ROM). The memory 601 is used for storing applications and data.
The processor 602 is a module for performing arithmetic operations and logical operations, and may be one or a combination of plural processing modules such as a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), an embedded processor, or a microprocessor unit (MPU).
The memory 601 stores a computer program, and the processor 602 calls the computer program stored in the memory 601 to enable the electronic device to implement the message transmission method according to the embodiments of the present application.
Embodiments of the present application further provide a computer-readable storage medium, where a computer program is stored, and when the computer program runs on one or more processors, the method shown in the foregoing method embodiments may be implemented.
It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not imply any order of execution, and the order of execution of the processes should be determined by their functions and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
In the several embodiments provided in the present application, it should be understood that the disclosed method, apparatus and system may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative; for example, the division of the unit is only a logic function division, and there may be another division manner in actual implementation; for example, various elements or components may be combined or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be physically included alone, or two or more units may be integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
Those skilled in the art can understand that all or part of the processes in the method of the embodiments can be implemented by a computer program, which can be stored in a computer readable storage medium and can include the processes of the method embodiments when executed. And the aforementioned storage medium includes: various media capable of storing program codes, such as ROM or RAM, magnetic or optical disks, etc.

Claims (10)

1. A message transmission method applied to a DPU is characterized by comprising the following steps:
receiving a first data message through a hardware module, and determining the service type of the first data message;
under the condition that it is determined that a flow table item matched with the first data message does not exist in a flow table stored by the hardware module, the first data message and the service type of the first data message are sent to a software module through the hardware module;
acquiring a flow table of a first format corresponding to the first data message through the software module, and determining an effective matching field of the first data message according to the service type of the first data message, wherein the size of a space occupied by the first matching field of the flow table of the first format is a preset value;
converting, by the software module, the flow table in the first format into a flow table in a second format according to the valid matching field of the first data packet, where a second matching field of the flow table in the second format includes the service type of the first data packet and the valid matching field of the first data packet, and a space occupied by the second matching field is smaller than a space occupied by the first matching field;
transmitting a flow table in a second format corresponding to the first data message to the hardware module through the software module;
and transmitting the data stream to which the first data message belongs through the hardware module according to the flow table of the second format corresponding to the first data message.
2. The method of claim 1, wherein receiving a first datagram through a hardware module and determining a service type of the first datagram comprises:
acquiring identification information of the first data message, wherein the identification information of the first data message comprises an effective matching field of the first data message;
and determining the service type of the first data message according to the identification information.
3. The method according to claim 1 or 2, wherein the transmitting, by the hardware module, the data flow to which the first datagram belongs according to the flow table of the second format corresponding to the first datagram includes:
under the condition of receiving a second data message, determining the service type of the second data message through the hardware module, wherein the data stream to which the second data message belongs is the same as the data stream to which the first data message belongs;
searching a flow table stored in the hardware module according to the service type of the second data message, wherein the flow table stored in the hardware module comprises a flow table in the second format corresponding to the first data message;
and executing corresponding operation on the second data message according to the flow table of the second format corresponding to the first data message.
4. The method of claim 1 or 2, wherein the method further comprises:
under the condition that it is determined that a flow table corresponding to the first data message and a flow table corresponding to a third data message in the software module meet a flow table merging condition, merging the flow table corresponding to the first data message and the flow table corresponding to the third data message through the software module to obtain a target flow table; wherein the flow table merge condition includes: the matching fields of the two flow tables are provided with repeated fields, and the space occupied by the flow tables obtained after combination is smaller than the space occupied by the preset single flow table;
the transmitting, by the software module, the flow table of the second format corresponding to the first data packet to the hardware module includes:
transmitting, by the software module, the target flow table to the hardware module;
the transmitting, by the hardware module, the data flow to which the first data packet belongs according to the flow table of the second format corresponding to the first data packet includes:
and transmitting the data stream to which the first data message or the third data message belongs through the hardware module according to the target flow table.
5. The method of claim 4, wherein an action field of the target flow table includes a barrier flag, and wherein transmitting, by the hardware module, the data flow to which the first datagram or the third datagram belongs according to the target flow table comprises:
under the condition of receiving a fourth data message, determining, by the hardware module, a service type of the fourth data message and an effective matching field of the fourth data message, where a data stream to which the fourth data message belongs is the same as a data stream to which the first data message belongs or a data stream to which the third data message belongs;
searching a flow table stored in the hardware module according to the service type of the fourth data message, wherein the flow table stored in the hardware module comprises the target flow table;
determining the target flow table as a flow table matched with the fourth data message;
under the condition that the effective matching field of the fourth data message is completely the same as the matching field included in the matching field in the target flow table, corresponding operation is executed on the fourth data message according to the action field in the target flow table;
and under the condition that the effective matching field of the fourth data message is partially the same as the matching field included in the matching field in the target flow table, determining a target action from the action field of the target flow table according to the effective matching field of the fourth data message, the matching field of the target flow table and the separation mark, and executing the operation corresponding to the target action on the fourth data message, wherein the separation mark is used for distinguishing the actions corresponding to the first data message and the third data message respectively.
6. The method of claim 5, wherein the match field and the action field of the target flow table each include two separate flags, and wherein determining the target action from the action field of the target flow table based on the valid match field of the fourth datagram, the match field of the target flow table, and the separate flags comprises:
if the valid matching field of the fourth data packet includes the first matching field and the second matching field in the matching field of the target flow table, but does not include the third matching field, determining the action before the second separation flag in the action field of the target flow table as the target action; wherein the first match field comprises a field before a first separation flag of the match domain, the second match field comprises a field after the first separation flag and before a second separation flag of the match domain, and the third match field comprises a field after the second separation flag of the match domain;
if the valid matching field of the fourth data packet includes the first matching field and the third matching field in the matching field of the target flow table, but does not include the second matching field, determining the action before the first separation flag and the action after the second separation flag in the action field of the target flow table as the target action.
7. A message transmission apparatus, comprising:
a receiving unit, configured to receive a first data packet through a hardware module;
a first determining unit, configured to determine a service type of the first data packet;
a sending unit, configured to send, by the hardware module, the first data packet and a service type of the first data packet to a software module when it is determined that a flow table entry matching the first data packet does not exist in a flow table stored by the hardware module;
the acquiring unit is used for acquiring a flow table of a first format corresponding to the first data message through the software module;
a second determining unit, configured to determine, according to a service type of the first data packet, an effective matching field of the first data packet, where a size of a space occupied by a first matching field of the flow table in the first format is a preset value;
a conversion unit, configured to convert, by the software module, the flow table in the first format into a flow table in a second format according to the valid matching field of the first data packet, where a second matching field of the flow table in the second format includes a service type of the first data packet and the valid matching field of the first data packet, and a space occupied by the second matching field is smaller than a space occupied by the first matching field;
the transmission unit is used for transmitting the flow table of the second format corresponding to the first data message to the hardware module through the software module;
and the message transmission unit is used for transmitting the data stream to which the first data message belongs through the hardware module according to the flow table of the second format corresponding to the first data message.
8. The message transmission device according to claim 7, further comprising:
a merging unit, configured to merge, by the software module, the flow table in the second format corresponding to the first data packet and the flow table corresponding to the third data packet in the software module to obtain a target flow table when it is determined that the flow table in the second format corresponding to the first data packet and the flow table corresponding to the third data packet in the software module satisfy a flow table merging condition; wherein the flow table merge condition includes: the matching fields of the two flow tables are provided with repeated fields, and the space occupied by the flow tables obtained after combination is smaller than the space occupied by the preset single flow table;
the transmission unit is specifically configured to:
transmitting, by the software module, the target flow table to the hardware module;
the message transmission unit is specifically configured to:
and transmitting the data stream to which the first data message or the third data message belongs through the hardware module according to the target flow table.
9. An electronic device, comprising: a memory, a processor, and a network interface, wherein the memory, the processor, and the network interface are communicatively connected to one another; wherein the memory stores program instructions; the program instructions, when executed by the processor, cause the processor to perform the steps of the method of any one of claims 1-6.
10. A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium; the steps of the method according to any of claims 1-6 are performed when the computer program is run on one or more processors.
CN202210484748.8A 2022-05-06 2022-05-06 Message transmission method applied to DPU and related device Active CN114726788B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210484748.8A CN114726788B (en) 2022-05-06 2022-05-06 Message transmission method applied to DPU and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210484748.8A CN114726788B (en) 2022-05-06 2022-05-06 Message transmission method applied to DPU and related device

Publications (2)

Publication Number Publication Date
CN114726788A true CN114726788A (en) 2022-07-08
CN114726788B CN114726788B (en) 2024-02-02

Family

ID=82230629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210484748.8A Active CN114726788B (en) 2022-05-06 2022-05-06 Message transmission method applied to DPU and related device

Country Status (1)

Country Link
CN (1) CN114726788B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115099978A (en) * 2022-08-25 2022-09-23 深圳星云智联科技有限公司 Data processing method and device
CN115150203A (en) * 2022-09-02 2022-10-04 珠海星云智联科技有限公司 Data processing method and device, computer equipment and storage medium
CN115460145A (en) * 2022-08-15 2022-12-09 阿里云计算有限公司 Forwarding rule issuing method, intelligent network card and storage medium
CN117812159A (en) * 2023-12-08 2024-04-02 中科驭数(北京)科技有限公司 Message transmission method, device, equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702509A (en) * 2015-03-31 2015-06-10 杭州华三通信技术有限公司 Method and device for isolating SDN protocol message from data message
CN105515965A (en) * 2014-09-25 2016-04-20 杭州华为数字技术有限公司 Data flow transmission method and transmission device
US20170111259A1 (en) * 2014-06-30 2017-04-20 Huawei Technologies Co.,Ltd. Flow entry configuration method, apparatus, and system
CN109962832A (en) * 2017-12-26 2019-07-02 华为技术有限公司 The method and apparatus of Message processing
CN111510329A (en) * 2020-04-10 2020-08-07 全球能源互联网研究院有限公司 Method for processing message in electric SDN controller and flow table matching module
CN111740909A (en) * 2020-06-19 2020-10-02 联想(北京)有限公司 Message processing method and device, network transmission equipment and message processing system
CN112866111A (en) * 2019-11-28 2021-05-28 北京京东尚科信息技术有限公司 Flow table management method and device
CN113542125A (en) * 2018-03-31 2021-10-22 华为技术有限公司 Method and device for forwarding message based on integrated flow table

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170111259A1 (en) * 2014-06-30 2017-04-20 Huawei Technologies Co.,Ltd. Flow entry configuration method, apparatus, and system
CN105515965A (en) * 2014-09-25 2016-04-20 杭州华为数字技术有限公司 Data flow transmission method and transmission device
CN104702509A (en) * 2015-03-31 2015-06-10 杭州华三通信技术有限公司 Method and device for isolating SDN protocol message from data message
CN109962832A (en) * 2017-12-26 2019-07-02 华为技术有限公司 The method and apparatus of Message processing
CN113542125A (en) * 2018-03-31 2021-10-22 华为技术有限公司 Method and device for forwarding message based on integrated flow table
CN112866111A (en) * 2019-11-28 2021-05-28 北京京东尚科信息技术有限公司 Flow table management method and device
CN111510329A (en) * 2020-04-10 2020-08-07 全球能源互联网研究院有限公司 Method for processing message in electric SDN controller and flow table matching module
CN111740909A (en) * 2020-06-19 2020-10-02 联想(北京)有限公司 Message processing method and device, network transmission equipment and message processing system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115460145A (en) * 2022-08-15 2022-12-09 阿里云计算有限公司 Forwarding rule issuing method, intelligent network card and storage medium
WO2024037366A1 (en) * 2022-08-15 2024-02-22 阿里云计算有限公司 Forwarding rule issuing method, and intelligent network interface card and storage medium
CN115099978A (en) * 2022-08-25 2022-09-23 深圳星云智联科技有限公司 Data processing method and device
CN115150203A (en) * 2022-09-02 2022-10-04 珠海星云智联科技有限公司 Data processing method and device, computer equipment and storage medium
CN115150203B (en) * 2022-09-02 2022-11-15 珠海星云智联科技有限公司 Data processing method and device, computer equipment and storage medium
CN117812159A (en) * 2023-12-08 2024-04-02 中科驭数(北京)科技有限公司 Message transmission method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN114726788B (en) 2024-02-02

Similar Documents

Publication Publication Date Title
CN114726788A (en) Message transmission method applied to DPU and related device
CN102104541B (en) Header processing engine
CN103139253B (en) Realize the method for network interface card offloading functions, network interface card, host computer system and the network equipment
US20160218975A1 (en) Information processing system, information processing apparatus and control method of information processing system
EP3291089A1 (en) Data processing method and apparatus
CN107295036A (en) A kind of data transmission method for uplink and data merge equipment
CN113746749A (en) Network connection device
CN114285781B (en) SRV6 service flow statistics method, device, electronic equipment and medium
EP3744066B1 (en) Method and device for improving bandwidth utilization in a communication network
CN111294235A (en) Data processing method, device, gateway and readable storage medium
CN111740910A (en) Message processing method and device, network transmission equipment and message processing system
CN114363256B (en) Message parsing method based on network card and related device
CN112702254B (en) Message processing method and device and electronic equipment
CN116074253B (en) Message chained forwarding method and device
CN116886789A (en) Data transmission method, device, equipment and medium
CN113259271B (en) Message switching method and message switching system
CN113596038B (en) Data packet parsing method and server
CN112367261B (en) Message forwarding method and device and distributed equipment
CN112866208B (en) Table item configuration method, message processing method, device, equipment and storage medium
CN115460145A (en) Forwarding rule issuing method, intelligent network card and storage medium
CN115277641A (en) Address sharing method and device, electronic equipment and storage medium
CN115278395A (en) Network switching equipment, data stream processing control method and related equipment
CN114143385A (en) Network traffic data identification method, device, equipment and medium
CN112543142B (en) Method and device for realizing RSTP ring network protocol based on FPGA
CN114363273A (en) Method and chip for processing message

Legal Events

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