CN108055202A - A kind of message processor and method - Google Patents

A kind of message processor and method Download PDF

Info

Publication number
CN108055202A
CN108055202A CN201711288346.6A CN201711288346A CN108055202A CN 108055202 A CN108055202 A CN 108055202A CN 201711288346 A CN201711288346 A CN 201711288346A CN 108055202 A CN108055202 A CN 108055202A
Authority
CN
China
Prior art keywords
list item
message
fpga
cpu
unit
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
CN201711288346.6A
Other languages
Chinese (zh)
Other versions
CN108055202B (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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201711288346.6A priority Critical patent/CN108055202B/en
Publication of CN108055202A publication Critical patent/CN108055202A/en
Application granted granted Critical
Publication of CN108055202B publication Critical patent/CN108055202B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/66Layer 2 routing, e.g. in Ethernet based MAN's
    • 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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

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

Abstract

The invention discloses a kind of message processor and method, for the processing by carrying out message based on CPU+FPGA heterogeneous systems.The equipment includes central processor CPU and at least one on-site programmable gate array FPGA;The list item configuration information for configuring the list item for configuring list item for FPGA, and is sent to the FPGA by the CPU;The storage address of the list item is carried in the list item configuration information;At least one FPGA, for receiving the list item configuration information and clear text, intercept the header field of the clear text, and the keyword tabled look-up is extracted from header field, it is tabled look-up according to the list item that the keyword and the storage address store, the clear text is handled according to checking result, it will treated message is sent to equipment corresponding with treated the message;Wherein, the keyword is corresponding with the list item that the storage address stores.

Description

A kind of message processor and method
Technical field
The present invention relates to network technique field, more particularly to a kind of message processor and method.
Background technology
At present, the framework of the network equipment is mainly integrated circuit (Application Specific Integrated Circuit, ASIC) framework or for based on special network processor (Network Processor, NP) framework or be base In multi-core central processing unit (Central Processing Unit, CPU) framework.
Wherein, ASIC frameworks are since just for specific business scenario, function is comparatively fixed, therefore performance is higher, But also just because of the relatively cured characteristic of function, the programmability of ASIC frameworks is not high, can not meet the needs of changeable business. And NP frameworks are made of multiple microcode processors and multiple hardware co-processors, multiple microcode processors are in internal parallel fortune Row by microcode (microcode) prepared in advance come control process flow, therefore has stronger programmability, but valency Lattice are costly.In addition, multiple nuclear CPU framework can realize business function on multi-core CPU using software programming, have very strong Programmability, but the performance of multiple nuclear CPU framework compares other frameworks and is in inferior position.Therefore, the frame of the current network equipment Structure it is more or less all there are this some defect so that being based on field programmable gate array (Field- Programmable Gete Array, FPGA) framework gradually starts to be used.Wherein, FPGA has extremely strong programmability, And also there is very strong advantage in time delay, throughput etc..But at present for the network equipment of FPGA architecture, there is no one The general development model of kind or relatively fixed network message processing method, so it is all to redesign to develop ninety-nine times out of a hundred, And module interface is different, and reusability is low, only when developer is familiar with processing frame, Message processing logic Energy complete design, and for only needing to verify some algorithm, the agreement even developer of some cell processing logic, Building complete network message processing frame needs to consume the substantial amounts of time, and development efficiency is low.
The content of the invention
The embodiment of the present invention provides a kind of message processor and method, for by be based on CPU+FPGA heterogeneous systems into The processing of row message.
In a first aspect, providing a kind of message processor, which includes central processor CPU and at least one scene can Program gate array FPGA;
The list item configuration information for configuring the list item for configuring list item for the FPGA, and is sent to institute by the CPU State FPGA;The storage address of the list item is carried in the list item configuration information;
At least one FPGA, for receiving the list item configuration information and clear text, interception is described pending The header field of message, and extracted from the header field for the keyword tabled look-up, according to the keyword And the list item of the storage address storage is tabled look-up, and the clear text is handled according to checking result, will be located Message after reason is sent to equipment corresponding with treated the message;Wherein, the keyword is deposited with the storage address The list item of storage is corresponding.
Optionally, any one FPGA includes multiple functional units, the multiple function list at least one FPGA Member specifically includes:
Message receives RX units, for receiving clear text;
Message bag splits Decap units, for intercepting the header field of the clear text, and waits to locate by described Other fields in reason message in addition to the header field are sent to the packet buffer that the FPGA includes PacketBuffer units are stored;
Packet parsing Parser units, for determining the type of the clear text according to the header field, When it is protocol massages that definitive result, which shows the clear text, then transmitted to CPU mark is added in the header field Will;Wherein, the transmitted to CPU mark demonstrates the need for the clear text being sent to the CPU;
Keyword extraction Fetch units, for extracting the keyword in the header field;
It tables look-up engine unit, for being tabled look-up according to the list item of the keyword and storage address storage, and It is modified according to the checking result to the header field;
Message encapsulates Encap units, for determining the need for waiting to locate by described according to amended header field Reason message is packaged;If it is determined that it needs the clear text being packaged, then by the amended header word Other in section and the PacketBuffer units in the clear text that stores in addition to the header field Field is packaged;
Message sends TX units, for determining whether include the transmitted to CPU mark in the message after encapsulation;If it is determined that knot Fruit is yes, then by CPU described in the message up sending after the encapsulation.
Optionally, the engine unit of tabling look-up includes at least one engine of tabling look-up, and each engine of tabling look-up includes:
Match subelements are matched, the keyword root for the keyword extraction Fetch units to be extracted is tabled look-up described in The form that the list item Table subelements that engine includes can identify is formatted;
The list item Table subelements, for the table according to formatted keyword and storage address storage Item is tabled look-up, and exports the checking result;Wherein, store to table look-up in the list item Table subelements tables look-up Algorithm;
Action subelements are changed, for modifying according to the checking result to the header field.
Optionally, each described engine of tabling look-up further includes:
List item manages TableMng subelements, for configuring the table in same query engine according to the list item configuration information The list item that item Table subelements can be inquired about.
Optionally, the CPU includes main management Host Main units and the first control unit, the multiple functional unit The second control unit is further included,
The main management Host Main units, for generating control signal;The multiple work(is carried in the control signal The ID for one of functional unit that energy unit includes;Wherein, the difference at least one FPGA in any one FPGA The ID of functional unit is different;
First control unit, for the control signal to be sent to second control unit;
Second control unit for receiving the control signal, and the control signal is transmitted to and the ID Corresponding functional unit;Wherein, at least one FPGA can be based on the control signal and control work(corresponding with the ID The unlatching of energy unit realization of functions and/or parameter setting.
Optionally, the CPU further includes packet sending and receiving unit;The multiple functional unit further includes direct memory access list Member, the direct memory access unit receives RX units with the message and the message sends TX units and is connected;
The packet sending and receiving unit, for clear text to be stored in memory, and to the direct memory access list Member sends the storage address of the clear text;Alternatively, it receives in the carrying that the direct memory access unit is sent The storage address of the message of CPU marks is sent, and is taken according to obtaining the storage address of the message of the carrying transmitted to CPU mark Message with transmitted to CPU mark;
The direct memory access unit, for receiving the storage address of the clear text, according to described pending The storage address of message reads the clear text, and read clear text is sent to the message to receive RX mono- Member;Alternatively, receiving the message that the message sends the carrying transmitted to CPU mark that TX units are sent, will be sent in the carrying The packet storage of CPU marks is sent to the report in memory, and by the storage address of the message of the carrying transmitted to CPU mark Literary Transmit-Receive Unit.
Optionally, the CPU further includes the first list item dispensing unit;The multiple functional unit further includes the second list item and matches somebody with somebody Unit is put, the second list item dispensing unit manages TableMng subelement phases with the list item in each engine of tabling look-up Even;
The main management Host Main units are additionally operable to generation list item configuration information;
The first list item dispensing unit configures list for the list item configuration information to be sent to second list item Member;
The second list item dispensing unit, for receiving the list item configuration information, and according to the list item configuration information The list item configuration information is transmitted to main management TableMng subelements corresponding with the type by the type of the list item of configuration.
Optionally, the CPU further includes message source MAC address learning unit;
The message source MAC address learning unit, for the pass included to the message for carrying the transmitted to CPU mark Key word is stored, and storage address is sent to the second list item dispensing unit.
Optionally, any one FPGA is further included at least one FPGA:
Message transmissions passage, is used for transmission message;
Header transmission channel is used for transmission header field;
Header control field transmission channel, is used for transmission header control field;
List item configuration information transmission channel is used for transmission the list item configuration information;
Req/ack signal paths are used for transmission req/ack signals;
Wherein, any one functional unit in the multiple functional unit carries out data transmission to other functional units When, any one described functional unit can call passage corresponding with the type of the data to be transmitted to be transmitted.
Second aspect provides a kind of message processing method, and the method is applied in message processor, at the message Managing equipment includes CPU and at least one FPGA, the described method includes:
At least one FPGA receives the list item configuration information for the list item that CPU is itself configuration;The list item matches somebody with somebody confidence The storage address of the list item is carried in breath;
At least one FPGA receives the list item configuration information and clear text, intercepts the clear text Header field, and extracted from the header field for the keyword tabled look-up, according to the keyword and institute The list item for stating storage address storage is tabled look-up, and the clear text is handled according to checking result, by treated Message is sent to equipment corresponding with treated the message;Wherein, the keyword and the table of storage address storage Item is corresponding.
Optionally, the method further includes:
At least one FPGA receives clear text;
At least one FPGA intercepts the header field of the clear text, and will be in the clear text Other fields in addition to the header field are stored;
At least one FPGA determines the type of the clear text according to the header field, is determining knot Fruit show the clear text be protocol massages when, then in the header field add transmitted to CPU mark;Wherein, The transmitted to CPU mark demonstrates the need for the clear text being sent to the CPU;
At least one FPGA extracts the keyword in the header field;
At least one FPGA tables look-up according to the list item that the keyword and the storage address store, and root It modifies according to the checking result to the header field;
At least one FPGA is determined the need for according to amended header field by the clear text It is packaged;If it is determined that it needs the clear text being packaged, then by the amended header field and institute State other fields in the clear text stored in PacketBuffer units in addition to the header field into Row encapsulation;
At least one FPGA determines whether include the transmitted to CPU mark in the message after encapsulation;If it is determined that result It is yes, then by CPU described in the message after the encapsulation.
Optionally, at least one FPGA is looked into according to the list item that the keyword and the storage address store Table, and modified according to the checking result to the header field, including:
At least one FPGA carries out the form that the keyword root of extraction can be identified according at least one FPGA It formats;
At least one FPGA is looked into according to the list item that formatted keyword and the storage address store Table, and export the checking result;Wherein, at least one FPGA stores the inquiring arithmetic tabled look-up;
At least one FPGA modifies to the header field according to the checking result.
Optionally, the method further includes:
The table that at least one FPGA can be inquired about according to list item configuration information configuration at least one FPGA .
Optionally, the method further includes:
At least one FPGA receives the control signal that the CPU is sent;Wherein, at least one FPGA includes more A functional unit, and the ID of the different function units in any one FPGA is different;It is carried in the control signal the multiple The ID for one of functional unit that functional unit includes;
The control signal is sent to functional unit corresponding with the ID by least one FPGA;Wherein, it is described FPGA can control the unlatching of functional unit realization of functions corresponding with the ID and/or parameter to set based on the control signal It puts.
Optionally, the method further includes:
At least one FPGA receives the storage address for the clear text that the CPU is sent;And it waits to locate according to described The storage address for managing message reads the clear text;
Alternatively,
At least one FPGA carries the packet storage of transmitted to CPU mark in memory, and by the carrying transmitted to CPU The storage address of the message of mark is sent to the CPU.
Optionally, the method further includes:
At least one FPGA receives the list item configuration information that the CPU is sent;
At least one FPGA configures list item according to the list item configuration information.
Optionally, any one FPGA is further included at least one FPGA:
Message transmissions passage, is used for transmission message;
Header transmission channel is used for transmission header field;
Header control field transmission channel, is used for transmission header control field;
List item configuration information transmission channel is used for transmission the list item configuration information;
Req/ack signal paths are used for transmission req/ack signals;
Wherein, any one functional unit in the multiple functional unit carries out data transmission to other functional units When, any one described functional unit can call passage corresponding with the type of the data to be transmitted to be transmitted.
The third aspect provides a kind of message processing method, and the method is applied in message processor, at the message Managing equipment includes CPU and FPGA, the described method includes:
The CPU generates list item configuration information;The list item configuration information is used to configure list item for the FPGA, and described The storage address of the list item is carried in list item configuration information;
The list item configuration information for configuring the list item is sent to the FPGA by the CPU.
Optionally, the method further includes:
The CPU generates control signal;One of functional unit that the FPGA includes is carried in the control signal ID;
The control signal is sent to the FPGA by the CPU, is believed so that the FPGA can be based on the control The unlatching of number corresponding with the ID functional unit realization of functions of control and/or parameter setting.
Optionally, the method further includes:
Clear text is stored in memory by the CPU, and the storage of the clear text is sent to the FPGA Address;
Alternatively,
The CPU receives the storage address of the message for the carrying transmitted to CPU mark that the FPGA is sent, and according to institute It states storage address and reads the message for carrying transmitted to CPU mark.
Optionally, the message for carrying transmitted to CPU mark is being read according to the storage address, the method is also afterwards Including:
The keyword that the CPU includes the message for carrying the transmitted to CPU mark stores;
Storage address is sent to the FPGA by the CPU.
In embodiments of the present invention, message processor is the equipment based on CPU+FPGA heterogeneous systems, wherein, CPU is used Controlled and managed in function to FPGA etc., and FPGA is used to carry out the specific processing and forwarding of message, by CPU and The collaborative work of FPGA realizes the processing to universal network message, disclosure satisfy that the verification of network message Processing Algorithm, network association The requirement of the application scenarios such as view unloading realization, and the embodiment of the present invention has built a kind of CPU+ for Message processing FPGA heterogeneous systems provide frame foundation for subsequent exploitation, save the time of subsequent development.
Description of the drawings
In order to illustrate the technical solution of the embodiments of the present invention more clearly, it will make below to required in the embodiment of the present invention Attached drawing is briefly described, it should be apparent that, attached drawing described below is only some embodiments of the present invention, for For those of ordinary skill in the art, without creative efforts, other are can also be obtained according to these attached drawings Attached drawing.
Fig. 1 is a kind of structure diagram of message processor provided in an embodiment of the present invention;
Fig. 2 is a kind of structure of the message processor provided in an embodiment of the present invention including CPU and FPGA Schematic diagram;
Fig. 3 is a kind of structural representation of the message processor provided in an embodiment of the present invention for being used to handle two layer message Figure;
Fig. 4 is the flow diagram of message processing method provided in an embodiment of the present invention.
Specific embodiment
To make the purpose, technical scheme and advantage of the embodiment of the present invention clearer, below in conjunction with the embodiment of the present invention In attached drawing, the technical solution in the embodiment of the present invention is clearly and completely described.
The technical background of the embodiment of the present invention is described below.
At present, due to the extremely strong programmability of FPGA, and also there are very strong advantage, base in time delay, throughput etc. Gradually start to be used in the network equipment of FPGA architecture.But at present for the network equipment of FPGA architecture, there is no a kind of General development model or relatively fixed network message processing method, so it is all to redesign to develop ninety-nine times out of a hundred, and And module interface is different, reusability is low, could only when developer is familiar with processing frame, Message processing logic Complete design, and for only needing to verify some algorithm, the agreement even developer of some cell processing logic, it takes Building complete network message processing frame needs to consume the substantial amounts of time, and development efficiency is low.
In consideration of it, the embodiment of the present invention provides a kind of message processor, which is based on CPU+FPGA heterogeneous systems Equipment, wherein, CPU is for being controlled and managed to function of FPGA etc., and FPGA is used to carry out the specific processing of message And forwarding, by the collaborative work of CPU and FPGA, the processing to universal network message is realized, disclosure satisfy that at network message The requirement of the application scenarios such as proof of algorithm, procotol unloading realization is managed, and the embodiment of the present invention has built a kind of use In the CPU+FPGA heterogeneous systems of Message processing, frame foundation is provided for subsequent exploitation, saves the time of subsequent development.
Technical solution provided in an embodiment of the present invention is introduced below in conjunction with the accompanying drawings.
Fig. 1 is referred to, one embodiment of the invention provides a kind of message processor 10, which includes CPU and at least one A FPGA, CPU are total by external equipment interconnection (Peripheral Component Interconnect express, PCIe) Line is connected with the FPGA.Wherein, due to the process that Message processing is carried out in each FPGA be it is identical, below will be with It is illustrated exemplified by one of FPGA, and one of FPGA can be any one in above-mentioned at least one FPGA, One of FPGA is referred to as FPGA directly below.
In embodiments of the present invention, FPGA can be used for the forwarding capability for carrying data surface, i.e., for message It manages and forwards.Specifically, the clear text that FPGA can receive other equipment or CPU is sent, and extract clear text Header field and header field is parsed, tabled look-up according to header field, and according to tabling look-up As a result message is handled, and then message is sent to corresponding equipment by treated.
In embodiments of the present invention, CPU can be used for the function of carrying control plane and chain of command, that is, be used to configure for FPGA List item and the opening and closing of the function of FPGA are managed and parameter during to the work of FPGA is configured. Wherein, list item when list item is tabled look-up for the FPGA keywords included according to message, such as can be media access control (Media Access Control, MAC) address list item, address resolution protocol (Address Resolution Protocol, ARP) list item and Internet protocol address (Internet Protocol Address, IP) address list item etc., it is, of course, also possible to Including other possible list items, the embodiment of the present invention is without limitation.
Fig. 2 is referred to, is a kind of structure diagram of FPGA provided in an embodiment of the present invention and CPU.Wherein, FPGA can be with Including multiple functional units.The functional unit included for FPGA is described in detail below, meanwhile, in following description In, it can also be related to each functional unit that CPU includes.
Message receives (Receiver, RX) unit, and message receives RX units and can be used for receiving clear text.Specifically , when clear text reaches message processor, typically connect by the physics Ethernet interface on the message processor Clear text is received, therefore message reception RX units then can receive clear text from the physics Ethernet interface.In addition, CPU The interface of a reception clear text is can also be used as, therefore, after CPU receives clear text, message receives RX Unit can also receive the clear text that CPU is forwarded.
Message bag splits (Decap) unit, and message bag splits Decap units and can be used for receiving the reception of RX units in message To after clear text, message receives the clear text that RX units are sent.Since in a message, the head word of message Section has contained all information for message forward process, then only needs to handle header field. Therefore, after message bag splits Decap units reception clear text, the header word of the clear text can be intercepted Section, using header field as the object of Message processing, and other in clear text in addition to header field Field need not be handled, therefore can be stored in the buffer.Therefore, FPGA can also include packet buffer (PacketBuffer) unit, for storing other fields in above-mentioned clear text in addition to header field.It is logical For often, the preceding 128B of a message includes all information for message forward process, therefore message bag is split here Decap units can be using the preceding 128B in clear text as header field, and in clear text after 128B Other fields are then stored in packet buffer PacketBuffer units.
Packet parsing (Parser) unit, can be used for the type that clear text is determined according to header field.Tool Body, when clear text is protocol massages, then transmitted to CPU mark is added in header field, then will be amended Header field is sent to keyword extraction (Fetch) unit and is handled, and transmitted to CPU mark is demonstrated the need for the pending report Text is sent to CPU;When clear text is not protocol massages, then header field is routed directly to keyword extraction Fetch units are handled.In addition, packet parsing Parser units can also record the quantity of different type of messages.
Keyword extraction Fetch units can be used for receiving the amended message that packet parsing Parser units are sent Header fields or header field, and extract including keyword, and the keyword of extraction feeding is tabled look-up engine Unit.Wherein, for keyword for tabling look-up, keyword for example can be the MAC Address, source MAC, destination IP carried in message Address, source IP address or virtual LAN (Virtual Local Area Network, VLAN) mark (Identity, ID) etc..
It tables look-up engine unit, for the keyword that is extracted according to keyword extraction Fetch units and is the engine list of tabling look-up The list item of member configuration is tabled look-up, and is modified according to the checking result to the header field.
Specifically, engine unit of tabling look-up can also include multiple engines of tabling look-up, and each engine of tabling look-up can also include Multiple subelements.Wherein, multiple engines of tabling look-up can be sequentially connected, and each content that engine is tabled look-up of tabling look-up can be not Together.Such as engine unit of tabling look-up includes two engines of tabling look-up, one of them tables look-up engine for being looked by two layer MAC address Table, and another engine of tabling look-up can be used for tabling look-up by three layers of IP address.Although the content that engine of tabling look-up is tabled look-up can be with Difference, but each is tabled look-up, the structure of engine can be similar, thus below by taking the structure of an engine of tabling look-up as an example into Row description.
Specifically, engine of tabling look-up can include:
(Match) subelement is matched, for the keyword root that extracts keyword extraction Fetch units it is investigated that table engine bag The form that list item (Table) subelement included can identify is formatted.Wherein, keyword extraction Fetch units extract Keyword is only to extract keyword from header field, but may not be list item Table subelement energy The form enough identified, therefore matching Match subelements then need keyword being combined, then again by the keyword after combination It is sent to list item Table subelements.For example, when carrying out MAC Address entry lookup, what list item Table subelements can identify The form of keyword is preceding according to VLAN ID, and the posterior order of target MAC (Media Access Control) address is combined, then keyword extraction After Fetch units extract VLAN ID and target MAC (Media Access Control) address respectively, then matching Match subelements needs according to VLAN Preceding, the posterior form of target MAC (Media Access Control) address is combined ID, then the keyword after combination is sent to list item Table subelements.
List item Table subelements, for tabling look-up according to formatted keyword, obtain checking result.Wherein, table A variety of inquiring arithmetics can be encapsulated in item Table subelements, and list item Table subelements can also access storage in memory List item, then list item Table subelements formatted keyword can be looked into list item by corresponding inquiring arithmetic Table.Specifically, the inquiring arithmetic encapsulated in list item Table subelements can include direct index algorithm, Hash (Hash) algorithm, More hash algorithms, Hi-Cuts algorithms and longest prefix match (Long Prefix Matching, LPM) algorithm etc..Certainly, also It can include other possible algorithms, the embodiment of the present invention is without limitation.The list item that Table subelements can access is logical Cross what CPU was configured, this is described in detail in rear extended meeting, and details are not described herein.Memory mentioned here can be static Random access memory (Static random access memory, SRAM);It can also be the storage of Double Data Rate synchronous dynamic random Device (Double Data Rate, DDR), it is of course also possible to be other possible memories, the embodiment of the present invention does not limit this System.
(Action) subelement is changed, for being modified according to checking result to header field, then will be after modification Header field be sent to subsequent engine or the subsequent functional unit of tabling look-up.In addition, also may be used in header field To carry lookup result.For example, when being tabled look-up by target MAC (Media Access Control) address and source MAC, if source MAC is tabled look-up During miss, then Action subelements can add transmitted to CPU mark in header field, so as to the message is sent Message study is carried out to CPU;If target MAC (Media Access Control) address is hit, then the addition forwarding (Forward, FW) in header field Mark, and by checking result message forwarding outlet addition in message control field, if but target MAC (Media Access Control) address do not order In, then it is directly added in header field and abandons (Drop) mark.
In the embodiment of the present invention, engine of tabling look-up can also include list item management (TableMng) subelement, list item management TableMng subelements are in list item Table of same engine of tabling look-up for configuring with list item management TableMng subelements The list item that unit can access.
After header field after engine unit output modifications of tabling look-up, amended header field can input (Encap) unit is encapsulated to message.Wherein, message encapsulation Encap units are used to be determined according to amended header field Whether need the clear text being packaged.Specifically, if Drop is not carried in amended header field Indicate, then message encapsulation Encap units take out the remaining field being stored in packet buffer PackeBuffer units, and will The residue field is packaged with amended header field, and the message after encapsulation is sent to message and is sent (Transmitter, TX) unit;If Drop marks are carried in amended header field, then by the amended report Literary header fields directly abandon, and delete the remaining field being stored in packet buffer PackeBuffer units.
Message sends (TX) unit, after the message after encapsulation is received, is carried according in the message after encapsulation Mark, the message after this is encapsulated is sent to corresponding equipment.If specifically, encapsulation after message in carry transmitted to CPU Mark, then be sent to CPU by the message after encapsulating;If in the message after the encapsulation carry FW mark, then according to encapsulation after Message in carry message outlet the message after encapsulating is forwarded.
In the embodiment of the present invention, except being used for the functional unit to Message processing in FPGA, some special work(are further included Energy unit, correspondingly, also including corresponding functional unit in CPU, for completing the interaction of PFGA and CPU, to assist to complete Message processing flow.
Wherein, packet sending and receiving unit can be included in CPU, correspondingly, internal storage access (Direct can also be included in FPGA Memory Access, DMA) unit, which can be connected with above-mentioned multiple functional units, such as can It is connected with receiving RX units with message transmission TX units and message.Specifically, packet sending and receiving unit can receive new treat in CPU After handling message, clear text storage in memory, then by the storage address of the clear text is sent in FPGA Direct memory access unit, direct memory access unit can then receive the storage address, and be read according to the storage address The clear text stored in memory, then the message that clear text is sent in FPGA receive RX units, follow-up to carry out Message processing.
In addition, when carrying transmitted to CPU mark during message sends the message after TX units determine encapsulation, this can also be encapsulated Message afterwards is sent to direct memory access unit, direct memory access unit again by the packet storage after encapsulation in memory, And storage address is sent to the packet sending and receiving unit in CPU, packet sending and receiving unit then can be according to carrying transmitted to CPU mark The storage address of message obtains the message for carrying transmitted to CPU mark.
After message after the packet sending and receiving unit in CPU receives encapsulation, the message after the encapsulation can also be determined The reason for middle carrying transmitted to CPU mark, such as reason can be that the message is protocol massages or the message for miss of tabling look-up.Its In, protocol massages are used to carry out the transmission of agreement, it is therefore desirable to be sent to CPU processing;The message needs for miss of tabling look-up The message source MAC address learning unit being forwarded in CPU carries out the study of message.Such as if source MAC is not when tabling look-up Hit, then message source MAC address learning unit can then learn the source MAC, and the list item for learning generation is deposited It is stored in memory, while also needs to the information of newly-generated list item being sent to FPGA, so that FPGA energy when tabling look-up next time Enough successful hits.
Main management (Host Main) unit is further included in the embodiment of the present invention, in CPU, for according to message source MAC The learning outcome generation list item configuration information of unit.For example, new table is generated in message source MAC address learning modular learning , it is necessary to notify the relevant information of newly-generated list item to FPGA after, then then needed at this time through main management Host Main units generate list item configuration information, and the storage address of newly-generated list item is carried in list item configuration information.
In order to which list item configuration information is sent to FPGA, the first list item configuration (Table can also be included in CPU Config) unit, the first list item dispensing unit can be used for above-mentioned list item configuration information being sent to FPGA.First list item configures Unit can also be initialized except the list item configuration information of the newly-increased list item learnt is sent to FPGA in message processor When, the list item configuration information for forwarding the packet relevant list item is sent to FPGA;Furthermore it is also possible to it is used for FPGA transmissions Delete the list item configuration information of part list item.
It is corresponding, in FPGA can also include the second list item dispensing unit, the second list item dispensing unit can with it is each The management TableMng subelements of the list item in engine of tabling look-up are connected.Wherein, the second list item dispensing unit can receive the first list item The list item configuration information that dispensing unit is sent to can carry the class for being used to indicate newly-generated list item in the list item configuration information The type information of type, then the list item configuration information can be sent to accordingly by the second list item dispensing unit according to the type information List item management TableMng subelements.In addition, when list item is larger, the second list item dispensing unit can also be responsible for removing for list item Fortune, such as list item is carried in batches from the DMA cachings of CPU.
In the embodiment of the present invention, CPU can also control the function and parameter of FPGA.Specifically, the supervisor in CPU Reason Host Main units can be also used for generation control signal (Control Signal), which is then used for FPGA The dynamic configuration of functional unit, real-time management, register read-write etc. controlled.Specifically, in order to which FPGA is receiving the control After signal processed, can correctly control the specific functional unit in the FPGA achieved function carry out control and/ Or parameter setting, therefore the control signal can carry the ID for the functional unit that FPGA includes, in this way, receiving control letter in FPGA After number, then can more accurately it be controlled.Wherein, the ID of the different functional units in FPGA is different.
In order to send control signals to FPGA, the first control unit can also be included in CPU, the first control unit can For sending control signals to FPGA.
Certainly, main management Host Main cell processings can be generated outside control signal and list item configuration information, can be with The other information of generation, such as can also be that a functional unit in generation scheduling FPGA performs the scheduling letter of corresponding function Breath etc., the embodiment of the present invention is without limitation.Correspondingly, other information can also be transmitted to by the first control unit FPGA。
In order to receive the control signal of CPU transmissions, the second control unit can also be included in FPGA, the second control unit can For receiving control signal, and the control signal is transmitted to by function corresponding with the ID according to the ID carried in control signal Unit, so that corresponding functional unit is able to carry out the action of control signal instruction.For example, control signal can be used In the receiving velocity that message is set to receive RX units, then message is received after RX units receive the control signal, then can be according to The receiving velocity of control signal instruction carries out the reception of clear text;Alternatively, control signal can also be for control table The message learning functionality of item Table subelements is turned on or off, wherein, CPU can open list item by control signal The message learning functionality of Table subelements, in this way, FPGA then can directly learn the message for miss of tabling look-up, and nothing CPU need to be sent to;Correspondingly, CPU can also close the message learning functionality of list item Table subelements by control signal.
In the embodiment of the present invention, what the interaction between CPU and FPGA can be provided by the production firm of FPGA opens fortune It realizes main channel (Host Channel) in language (Open Computing Language, the OpenCL) system of calculation.Such as When the second control unit that the first control unit in CPU wants into FPGA sends control signal, then it can pass through the first control Cell call Host Channel processed are sent.
In addition, some configurable functional units can also be reserved in CPU, needs other functions in CPU are used to implement Some functions that unit does not possess, these units can configured during practice.Such as control Message processing Unit, for handling control message.
In the embodiment of the present invention, in FPGA, data below transmission channel can be included:
(1) message transmissions passage is used for transmission message;
(2) header transmission (pkt) passage, is used for transmission header field;
(3) header control field transmission (packet head control, phc) passage, is used for transmission header Control field;Message forwarding control information, such as the head bias value or IP of MAC layer are carried in header control field The deviant on head be either used to indicate the information for the mark whether message abandons or be used to indicate message whether mirror image The information of mark.
(4) message transmission (message, msg) passage, is used for transmission the information such as the list item configuration information;
(5) req/ack signal paths are used for transmission req/ack signals;Req/ack signals are between two functional units Handshake, between two functional units according to the two functional units arrange protocol mode communicate.
Above-mentioned data transmission channel can be realized by Channel that OpenCL systems provide.Wherein, message transmissions The bit wide of passage and pkt passages can use 128B, i.e., the transmission when carrying out message transmissions or header transmits can per beat Transmit 128B;The bit wide of phc passages can use 64B or 32B;The bit wide of msg passages can use 32B or 16B;Req/ack signals The bit wide of passage can use 8B or 4B.Certainly, other possible data transmission channels can also be included in FPGA, the present invention is implemented Example is without limitation.
Wherein, when the two of which functional unit in the FPGA needs to carry out data transmission, it can call and want The corresponding passage of type of the data of transmission is transmitted.Specifically, above-mentioned data transmission channel can also possess data buffer storage Ability, when carrying out data transmission, if the beat of the functional unit at both ends is not meanwhile, it is capable to play buffer action.For example, work as When message receives rate that RX units receive and splits Decap units to the processing capacity of message higher than message bag, then message connects The message that receipts RX units pass to message bag fractionation Decap units can not then be processed in time, then then message be needed to connect at this time The data transmission channel that RX units and message bag are split between Decap units is received not locate message bag fractionation Decap units in time The message of reason is cached.
Be shown in FIG. 2 the data transmission channel that may be called between functional unit, for example, message receive RX units and Message bag split between Decap units may transmitting message header fields, message either header control field or other Information, therefore message receives RX units and pkt passages, phc passages or msg passages can be called mono- to message bag fractionation Decap Member sends data.Wherein, the second list item dispensing unit is in forwarding-table item configuration information, and when list item is smaller, the second list item is matched somebody with somebody Putting unit can be by calling req/ack signal paths to be configured;When list item is larger, then can be configured by the second list item Unit directly invokes msg passages and is configured.The method of calling of remaining functional unit is similar, is then no longer repeated one by one at this. Certainly, the calling of passage shown in Fig. 2 is only used for illustrating, therefore it is also possible to there are other possible calling situations, this hairs Bright embodiment is without limitation.
Fig. 3 is referred to, for the message processor provided in an embodiment of the present invention for the processing of Ethernet two layer message Structure diagram.It is described by below with the Message processing flow of message processor shown in Fig. 3.
In the embodiment of the present invention, CPU can send message by the second control unit of first control unit into FPGA Receiving velocity (Packet Rate Limit) signal, and the message carried in the signal in FPGA receives the ID of RX units, The signal can be then transmitted to message reception RX units by the second control unit after receiving Packet Rate Limit signals, Message receives RX units also will receive message according to the message receiving velocity of Packet Rate Limit signal designations.
After RX units have received clear text, then message can be sent to message bag and split Decap units.Message Bag splits header field of the preceding 128B fields as clear text in Decap units interception clear text, then will Header field is sent to packet parsing Parser units, and the remaining field in addition to this 128B is stored in message buffering In PacketBuffer units.
Packet parsing Parser units judge the type of message according to header field, if it is judged that showing that this is treated Processing message is protocol massages, then transmitted to CPU mark is added in header field, then by amended header field It is sent to MAC Address extraction Fetch units;If it is judged that showing that the clear text is not protocol massages, then directly will Header field is sent to MAC Fetch units.Wherein, MAC Address extraction Fetch units are the spies in two layer message processing Order member.Packet parsing Parser units can also count the quantity of the message of oneself processing and different types of message Quantity, and pass through the second control unit and be sent to CPU.
MAC Address extraction Fetch units extract target MAC (Media Access Control) address and source MAC in header field, are sent into ground Location forwarding table (Forwarding DataBase, FDB) engine of tabling look-up.
The matching Match subelements that FDB tables look-up in engine to hash table Hash Table subelements with sending purpose MAC Location inquiry request and source MAC inquiry request.Hash table Hash Table subelements show to be looked by hash algorithm Table.Hash table Hash Table subelements calculate cryptographic Hash according to target MAC (Media Access Control) address and source MAC, further according to cryptographic Hash It tables look-up, and checking result is sent to modification Action subelements.When source MAC miss, if CPU passes through One control unit is configured with source MAC for hash table Hash Table subelements and learns (Auto Learn) function automatically, Then hash table Hash Table subelements can automatically save source MAC, if closing Auto Learn functions, then change Action subelements add transmitted to CPU mark in header field.When checking result shows target MAC (Media Access Control) address miss, Action subelements then add Drop marks for header field, when checking result shows target MAC (Media Access Control) address hit, modification Message is then exported deposit message control field by Action subelements, and in header field addition FW marks.
Message encapsulate Encap units receive amended header field that modification Action subelements send it Afterwards, if the amended header field includes Drop marks, then the header field is directly abandoned, and emptied The corresponding remaining field for being stored in message buffering PacketBuffer units of the header field.If the amended report Drop marks are not carried in literary header fields, then from the remaining field in message buffering PacketBuffer units, then this are remained Remaining field and header field are packaged, and the message after encapsulation is sent to message and sends TX units.
If carrying transmitted to CPU mark in the message after encapsulation, then message sends TX units and passes through the message after encapsulation Direct memory access unit is sent to CPU;If carrying FW marks in the message after encapsulation, then message sends TX units and will encapsulate Message afterwards is sent to corresponding equipment by the message outlet carried in the message after encapsulation.
In the embodiment of the present invention, after the message of source MAC miss is sent to CPU by FPGA, the message in CPU Transmit-Receive Unit receives the message, and the message is sent to master management unit, and master management unit forwards the packet to message source MAC address learning unit is learnt, and the list item of message source MAC address learning modular learning generation is sent to master management unit, Master management unit stores list item into memory, and generates list item configuration information, by the first list item dispensing unit by list item Configuration information is sent to the second list item dispensing unit in FPGA.
List item configuration information is transmitted to hash table management Hash TableMng subelements by the second list item dispensing unit, And then hash table management Hash TableMng subelements can manage Hash according to the list item configuration information for hash table Table subelements configure list item.
In conclusion message processor is the equipment based on CPU+FPGA heterogeneous systems, wherein, CPU is used for FPGA Function etc. controlled and managed, and FPGA is used to carry out the specific processing and forwarding of message, passes through the collaboration of CPU and FPGA Work, realizes the processing to universal network message, disclosure satisfy that the verification of network message Processing Algorithm, procotol unloading are realized The requirement of application scenarios is waited, and the embodiment of the present invention has built a kind of CPU+FPGA isomeries system for Message processing System provides frame foundation for subsequent exploitation, saves the time of subsequent development.
Fig. 4 is referred to, based on same inventive concept, one embodiment of the invention provides a kind of message processing method, this method Applied in message processor, message processor, which includes CPU and at least one FPGA, this method, to be included:
Step 401:At least one FPGA receives the list item configuration information for the list item that CPU is itself configuration;List item matches somebody with somebody confidence The storage address of list item is carried in breath;
Step 402:At least one FPGA receives list item configuration information and clear text, intercepts the message of clear text Header fields, and extraction for the keyword tabled look-up, is stored according to keyword and storage address from header field List item is tabled look-up, and clear text is handled according to checking result, will treated that message is sent to and treated The corresponding equipment of message;Wherein, keyword is corresponding with the list item that storage address stores.
One embodiment of the invention also provides a kind of message handling system, which includes CPU and at least one FPGA;Wherein, any one FPGA at least one FPGA for example can be the FPGA in embodiment shown in Fig. 2, CPU Such as can be the CPU in embodiment shown in Fig. 2.Specifically, FPGA can be used in carrying out the processing of message, CPU can be right Each functional unit that FPGA includes is scheduled, and the parameter of each functional unit is configured and managed, with to FPGA The process for carrying out Message processing is controlled.
In the embodiment of the present invention, each functional unit in CPU can be based on Thread, then the function list in CPU The realization of member can be the Thread codes write by C++;Each functional unit in FPGA can be based on Kernel, Realizing for each functional unit in so FPGA can be by Kernel codes that OpenCL language is write.In both sides generation After the completion of code is all write, Kernel codes can be compiled by OpenCL compilers, and Thread codes can be compiled by GCC It translates device to be compiled, then the Kernel codes after compiling is burnt in FPGA, and Thread codes are loaded by CPU, so as to Function more than realization.
In embodiments of the present invention, it should be understood that disclosed device and method, it can be real by another way It is existing.For example, apparatus embodiments described above are only schematical, for example, the division of the unit or unit, is only A kind of division of logic function, can there is an other dividing mode in actual implementation, for example, multiple units or component can combine or Person is desirably integrated into another system or some features can be ignored or does not perform.Another, shown or discussed is mutual Between coupling, direct-coupling or communication connection can be INDIRECT COUPLING or communication link by some interfaces, equipment or unit It connects, can be electrical or other forms.
Each functional unit in embodiments of the present invention can be integrated in a processing unit or unit also may be used To be independent physical module.
If the integrated unit is realized in the form of SFU software functional unit and is independent production marketing or use When, it can be stored in a computer read/write memory medium.Based on such understanding, the technical solution of the embodiment of the present invention All or part can be embodied in the form of software product, which is stored in a storage medium In, it is used including some instructions so that a computer equipment, such as can be personal computer, server or network are set Standby etc. or processor (processor) performs all or part of the steps of the method according to each embodiment of the present invention.It is and foregoing Storage medium includes:General serial bus USB (Universal Serial Bus flash drive), mobile hard disk, only Read memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disc Or the various media that can store program code such as CD.
The above, above example are only described in detail to the technical solution to the application, but above implementation The explanation of example is only intended to help the method for understanding the embodiment of the present invention, should not be construed as the limitation to the embodiment of the present invention.This The change or replacement that those skilled in the art can readily occur in, should all cover the embodiment of the present invention protection domain it It is interior.

Claims (10)

1. a kind of message processor, which is characterized in that including central processor CPU and at least one field programmable gate array FPGA;
The CPU for configuring list item at least one FPGA, and the list item configuration information for configuring the list item is sent To at least one FPGA;The storage address of the list item is carried in the list item configuration information;
At least one FPGA for receiving the list item configuration information and clear text, intercepts the clear text Header field, and extracted from the header field for the keyword tabled look-up, according to the keyword and The list item of the storage address storage is tabled look-up, and the clear text is handled according to checking result, after processing Message be sent to equipment corresponding with treated the message;Wherein, the keyword and storage address storage List item is corresponding.
2. equipment as described in claim 1, which is characterized in that any one FPGA includes multiple at least one FPGA Functional unit, the multiple functional unit specifically include:
Message receives RX units, for receiving clear text;
Message bag splits Decap units, for intercepting the header field of the clear text, and by the pending report Other fields in text in addition to the header field are sent to the packet buffer in the multiple functional unit PacketBuffer units are stored;
Packet parsing Parser units, for determining the type of the clear text according to the header field, true Determine the result shows that when the clear text is protocol massages, then to add transmitted to CPU mark in the header field;Its In, the transmitted to CPU mark demonstrates the need for the clear text being sent to the CPU;
Keyword extraction Fetch units, for extracting the keyword in the header field;
It tables look-up engine unit, for being tabled look-up according to the list item of the keyword and storage address storage, and according to The checking result modifies to the header field;
Message encapsulates Encap units, for being determined the need for according to amended header field by the pending report Text is packaged;If it is determined that need the clear text is packaged, then will the amended header field with Other fields in the clear text stored in the PacketBuffer units in addition to the header field It is packaged;
Message sends TX units, for determining whether include the transmitted to CPU mark in the message after encapsulation;If it is determined that result is It is, then by CPU described in the message up sending after the encapsulation.
3. equipment as claimed in claim 2, which is characterized in that the engine unit of tabling look-up includes at least one engine of tabling look-up, And each engine of tabling look-up includes:
Match subelements are matched, for tabling look-up engine described in the keyword root evidence of extract the keyword extraction Fetch units Including the form that can identify of list item Table subelements be formatted;
The list item Table subelements, for according to formatted keyword and the storage address storage list item into Row is tabled look-up, and exports the checking result;Wherein, the inquiring arithmetic tabled look-up is stored in the list item Table subelements;
Action subelements are changed, for modifying according to the checking result to the header field.
4. equipment as claimed in claim 3, which is characterized in that each described engine of tabling look-up further includes:
List item manages TableMng subelements, for configuring the list item in same query engine according to the list item configuration information The list item that Table subelements can be inquired about.
5. equipment as claimed in claim 4, which is characterized in that the CPU includes main management Host Main units and the first control Unit processed, the multiple functional unit further include the second control unit,
The main management Host Main units, for generating control signal;The multiple function list is carried in the control signal The ID for one of functional unit that member includes;Wherein, the difference in functionality at least one FPGA in any one FPGA The ID of unit is different;
First control unit, for the control signal to be sent to second control unit;
Second control unit for receiving the control signal, and the control signal is transmitted to corresponding with the ID Functional unit;Wherein, at least one FPGA can be based on the control signal and control function list corresponding with the ID The unlatching of first realization of functions and/or parameter setting.
6. equipment as claimed in claim 3, which is characterized in that the CPU further includes packet sending and receiving unit;The multiple function Unit further includes direct memory access unit, and the direct memory access unit receives RX units and the message with the message TX units are sent to be connected;
The packet sending and receiving unit for clear text to be stored in memory, and is sent out to the direct memory access unit Send the storage address of the clear text;Alternatively, receive the carrying transmitted to CPU that the direct memory access unit is sent The storage address of the message of mark, and obtained according to the storage address of the message of the carrying transmitted to CPU mark in the carrying The message that CPU is sent to indicate;
The direct memory access unit, for receiving the storage address of the clear text, according to the clear text Storage address read the clear text, and read clear text is sent to the message and receives RX units; Alternatively, the message that the message sends the carrying transmitted to CPU mark that TX units are sent is received, by the carrying transmitted to CPU The packet storage of mark is sent to the message in memory, and by the storage address of the message of the carrying transmitted to CPU mark Transmit-Receive Unit.
7. equipment as claimed in claim 5, which is characterized in that the CPU further includes the first list item dispensing unit;It is the multiple Functional unit further includes the second list item dispensing unit, the second list item dispensing unit with it is described in each engine of tabling look-up List item management TableMng subelements are connected;
The main management Host Main units are additionally operable to generation list item configuration information;
The first list item dispensing unit, for the list item configuration information to be sent to the second list item dispensing unit;
The second list item dispensing unit for receiving the list item configuration information, and is configured according to the list item configuration information The type of list item the list item configuration information be transmitted to corresponding with type list item manage TableMng subelements.
8. equipment as claimed in claim 6, which is characterized in that any one FPGA is further included at least one FPGA:
Message transmissions passage, is used for transmission message;
Header transmission channel is used for transmission header field;
Header control field transmission channel, is used for transmission header control field;
List item configuration information transmission channel is used for transmission the list item configuration information;
Req/ack signal paths are used for transmission req/ack signals;
Wherein, any one functional unit in the multiple functional unit to other functional units carry out data transmission when, Any one described functional unit can call passage corresponding with the type of the data to be transmitted to be transmitted.
9. a kind of message processing method, which is characterized in that the method is applied in message processor, and the Message processing is set It is standby to include CPU and at least one FPGA;Including:
At least one FPGA receives the list item configuration information for the list item that CPU is itself configuration;In the list item configuration information Carry the storage address of the list item;
At least one FPGA receives the list item configuration information and clear text, intercepts the message of the clear text Header fields, and being extracted from the header field for the keyword tabled look-up according to the keyword and described are deposited The list item of storage address storage is tabled look-up, and the clear text is handled according to checking result, will treated message It is sent to equipment corresponding with treated the message;Wherein, the list item phase that the keyword is stored with the storage address It is corresponding.
10. method as claimed in claim 9, which is characterized in that at least one FPGA is according to the keyword and institute The list item for stating storage address storage is tabled look-up, and the clear text is handled according to checking result, including:
At least one FPGA is by the keyword root of extraction according to the form that at least one FPGA can be identified into row format Change;
At least one FPGA tables look-up according to the list item that formatted keyword and the storage address store, and Export the checking result;Wherein, at least one FPGA stores the inquiring arithmetic tabled look-up;
At least one FPGA modifies to the header field according to the checking result.
CN201711288346.6A 2017-12-07 2017-12-07 Message processing equipment and method Active CN108055202B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711288346.6A CN108055202B (en) 2017-12-07 2017-12-07 Message processing equipment and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711288346.6A CN108055202B (en) 2017-12-07 2017-12-07 Message processing equipment and method

Publications (2)

Publication Number Publication Date
CN108055202A true CN108055202A (en) 2018-05-18
CN108055202B CN108055202B (en) 2020-11-20

Family

ID=62122382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711288346.6A Active CN108055202B (en) 2017-12-07 2017-12-07 Message processing equipment and method

Country Status (1)

Country Link
CN (1) CN108055202B (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848202A (en) * 2018-06-21 2018-11-20 Oppo(重庆)智能科技有限公司 electronic device, data transmission method and related product
CN109032982A (en) * 2018-08-02 2018-12-18 郑州云海信息技术有限公司 A kind of data processing method, device, equipment, system, FPGA board and combinations thereof
CN109657463A (en) * 2018-12-18 2019-04-19 北京东土军悦科技有限公司 A kind of defence method and device of message flood attack
CN110061992A (en) * 2019-04-22 2019-07-26 杭州迪普科技股份有限公司 A kind of method and Network Security Device of dynamic configuration FPGA
CN110113265A (en) * 2019-05-16 2019-08-09 济南浪潮高新科技投资发展有限公司 More I2C interface interconnected methods and module based on FPGA
CN110413464A (en) * 2019-07-12 2019-11-05 杭州迪普科技股份有限公司 A kind of configuration list item test method, system
CN110535847A (en) * 2019-08-23 2019-12-03 北京无极芯动科技有限公司 The stacking processing method of network processing unit and network data
CN110611625A (en) * 2018-11-27 2019-12-24 新华三技术有限公司 Network device and virtual device
CN111031044A (en) * 2019-12-13 2020-04-17 浪潮(北京)电子信息产业有限公司 Message analysis hardware device and message analysis method
CN111221759A (en) * 2020-01-17 2020-06-02 深圳市风云实业有限公司 Data processing system and method based on DMA
CN111917735A (en) * 2020-07-12 2020-11-10 中信银行股份有限公司 Communication message generation and processing method and device and electronic equipment
CN112632340A (en) * 2020-12-28 2021-04-09 盛科网络(苏州)有限公司 Table lookup method and device, storage medium and electronic equipment
CN113114569A (en) * 2020-01-10 2021-07-13 北京京东尚科信息技术有限公司 Method and device for unloading data stream
CN113542445A (en) * 2021-05-28 2021-10-22 新华三信息安全技术有限公司 Address translation method, device, equipment and machine readable storage medium
CN114296815A (en) * 2021-12-15 2022-04-08 杭州迪普科技股份有限公司 Configuration table item issuing method and device
CN114979236A (en) * 2022-05-12 2022-08-30 山石网科通信技术股份有限公司 Data transmission method, data transmission device, storage medium and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348716A (en) * 2013-07-23 2015-02-11 杭州华三通信技术有限公司 Message processing method and equipment
US20150172422A1 (en) * 2013-11-23 2015-06-18 William A. FLANAGAN Systems and methods of header compression in a software defined network
CN105515995A (en) * 2015-12-01 2016-04-20 华为技术有限公司 Message processing method and apparatus, and flow table generation method and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348716A (en) * 2013-07-23 2015-02-11 杭州华三通信技术有限公司 Message processing method and equipment
US20150172422A1 (en) * 2013-11-23 2015-06-18 William A. FLANAGAN Systems and methods of header compression in a software defined network
CN105515995A (en) * 2015-12-01 2016-04-20 华为技术有限公司 Message processing method and apparatus, and flow table generation method and apparatus

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848202A (en) * 2018-06-21 2018-11-20 Oppo(重庆)智能科技有限公司 electronic device, data transmission method and related product
CN108848202B (en) * 2018-06-21 2021-05-04 Oppo(重庆)智能科技有限公司 Electronic device, data transmission method and related product
CN109032982A (en) * 2018-08-02 2018-12-18 郑州云海信息技术有限公司 A kind of data processing method, device, equipment, system, FPGA board and combinations thereof
US11765102B2 (en) 2018-11-27 2023-09-19 New H3C Technologies Co., Ltd. Network device and conversion apparatus
CN110611625A (en) * 2018-11-27 2019-12-24 新华三技术有限公司 Network device and virtual device
CN110611625B (en) * 2018-11-27 2020-11-06 新华三技术有限公司 Network equipment and logic device applied to same
CN109657463A (en) * 2018-12-18 2019-04-19 北京东土军悦科技有限公司 A kind of defence method and device of message flood attack
CN109657463B (en) * 2018-12-18 2021-08-20 北京东土军悦科技有限公司 Method and device for defending message flooding attack
CN110061992A (en) * 2019-04-22 2019-07-26 杭州迪普科技股份有限公司 A kind of method and Network Security Device of dynamic configuration FPGA
US11568092B2 (en) 2019-04-22 2023-01-31 Hangzhou Dptech Technologies Co., Ltd. Method of dynamically configuring FPGA and network security device
CN110061992B (en) * 2019-04-22 2021-12-24 杭州迪普科技股份有限公司 Method for dynamically configuring FPGA and network security equipment
CN110113265A (en) * 2019-05-16 2019-08-09 济南浪潮高新科技投资发展有限公司 More I2C interface interconnected methods and module based on FPGA
CN110413464A (en) * 2019-07-12 2019-11-05 杭州迪普科技股份有限公司 A kind of configuration list item test method, system
CN110413464B (en) * 2019-07-12 2023-10-27 杭州迪普科技股份有限公司 Configuration table item testing method and system
CN110535847B (en) * 2019-08-23 2021-08-31 极芯通讯技术(南京)有限公司 Network processor and stack processing method of network data
CN110535847A (en) * 2019-08-23 2019-12-03 北京无极芯动科技有限公司 The stacking processing method of network processing unit and network data
CN111031044A (en) * 2019-12-13 2020-04-17 浪潮(北京)电子信息产业有限公司 Message analysis hardware device and message analysis method
CN113114569A (en) * 2020-01-10 2021-07-13 北京京东尚科信息技术有限公司 Method and device for unloading data stream
CN111221759B (en) * 2020-01-17 2021-05-28 深圳市风云实业有限公司 Data processing system and method based on DMA
CN111221759A (en) * 2020-01-17 2020-06-02 深圳市风云实业有限公司 Data processing system and method based on DMA
CN111917735A (en) * 2020-07-12 2020-11-10 中信银行股份有限公司 Communication message generation and processing method and device and electronic equipment
CN112632340A (en) * 2020-12-28 2021-04-09 盛科网络(苏州)有限公司 Table lookup method and device, storage medium and electronic equipment
CN112632340B (en) * 2020-12-28 2024-04-16 苏州盛科通信股份有限公司 Lookup method and device, storage medium and electronic equipment
CN113542445A (en) * 2021-05-28 2021-10-22 新华三信息安全技术有限公司 Address translation method, device, equipment and machine readable storage medium
CN114296815A (en) * 2021-12-15 2022-04-08 杭州迪普科技股份有限公司 Configuration table item issuing method and device
CN114979236A (en) * 2022-05-12 2022-08-30 山石网科通信技术股份有限公司 Data transmission method, data transmission device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN108055202B (en) 2020-11-20

Similar Documents

Publication Publication Date Title
CN108055202A (en) A kind of message processor and method
US10122629B2 (en) Systems and methods for externalizing network functions via packet trunking
KR102402176B1 (en) Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in software-defined network engine
WO2019128817A1 (en) Message processing method and device
US9203750B2 (en) Ethernet frame translation to internet protocol over infiniband
CN100358280C (en) A network security appliance and realizing method thereof
US20200007472A1 (en) Service insertion in basic virtual network environment
CN104704778A (en) Method and system for virtual and physical network integration
US9160659B2 (en) Paravirtualized IP over infiniband bridging
CN101278521A (en) Stateless bi-directional proxy
Pontarelli et al. Stateful openflow: Hardware proof of concept
CN110505244A (en) Long-range tunnel access technique gateway and server
CN107222496A (en) The security strategy matching process and field layer equipment of message based on field layer equipment
CN106209637A (en) From message forwarding method and the equipment of virtual expansible LAN to VLAN
Mühlbach et al. Malcobox: Designing a 10 gb/s malware collection honeypot using reconfigurable technology
Pacífico et al. Application layer packet classifier in hardware
CN106209554B (en) message forwarding method and device for crossing virtual extensible local area network
Steinert et al. Hardware and software components towards the integration of network-attached accelerators into data centers
WO2023104054A1 (en) Network processing module, data processing method, network node and storage medium
US20220394062A1 (en) Aggregated networking subsystem station move control system
Mariño et al. Loopback strategy for in-vehicle network processing in automotive gateway network on chip
CN106789706A (en) A kind of network shunt system based on TCAM
US11425036B1 (en) Pipelined match-action circuitry
WO2023207278A1 (en) Message processing method and apparatus
CN106656810B (en) MAC address learning method and device

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