[go: up one dir, main page]

CN101986271A - Method and device for dispatching TCAM (telecommunication access method) query and refresh messages - Google Patents

Method and device for dispatching TCAM (telecommunication access method) query and refresh messages Download PDF

Info

Publication number
CN101986271A
CN101986271A CN2010105265388A CN201010526538A CN101986271A CN 101986271 A CN101986271 A CN 101986271A CN 2010105265388 A CN2010105265388 A CN 2010105265388A CN 201010526538 A CN201010526538 A CN 201010526538A CN 101986271 A CN101986271 A CN 101986271A
Authority
CN
China
Prior art keywords
query messages
formation
query
fpga
refresh
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
CN2010105265388A
Other languages
Chinese (zh)
Other versions
CN101986271B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201010526538.8A priority Critical patent/CN101986271B/en
Publication of CN101986271A publication Critical patent/CN101986271A/en
Priority to PCT/CN2011/080616 priority patent/WO2012055319A1/en
Application granted granted Critical
Publication of CN101986271B publication Critical patent/CN101986271B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

The invention discloses a method and a device for dispatching TCAM (telecommunication access method) query and refresh messages, wherein the method comprises the following steps: an FPGA (field-programmable gate array) is used for placing a query message into a query message queue after receiving the query message; the FPGA is used for placing a refresh message into a refresh message queue after receiving the refresh message; and the FPGA is further used for respectively dispatching the query message in the query message queue and the refresh message in the refresh message queue. According to the invention, the problem of slow query response due to the situation that the refresh priority is higher than the query priority can be solved, functions of high-speed table search, forwarding and table item refreshing can be provided, fast forwarding can be realized, the throughput capacity of a network device can be upgraded and the performances of the network device can be further improved.

Description

The method and apparatus of scheduling TCAM inquiry and refresh message
Technical field
The present invention relates to network communications technology field, relate in particular to the method and apparatus of a kind of scheduling TCAM (Ternary Content Addressable Memory, three-state content addressing memory) inquiry and refresh message.
Background technology
TCAM is mainly used in and searches list items such as ACL (AccessControl List, access control chained list), route when network equipment message is transmitted fast.Search and refresh technique provides entry updating and query scheduling based on the TCAM of FPGA (FieldProgrammable Gate Array, field programmable gate array), wherein FPGA plays the transfer effect between processor or CPU and TCAM.On interconnect equipments such as router and switch, to transmit in order to realize fast zoom table, the application of TCAM is more and more general.
Along with developing rapidly of broadband network, the application of polycaryon processor also more and more widely, a plurality of processor cores gather the processing power that can provide very high, in order to make full use of the resource of each single core processor, processing with message during forwarding is distributed to each processor unit, single processor unit all needs message is carried out ACL, searching of list items such as route, CPU need carry out refresh operation to list item clauses and subclauses among the TCAM and the contents in table in the processor peripheral hardware simultaneously, a plurality of processors need the single TCAM peripheral hardware of common access, how to make a plurality of processors realize that the fast zoom table of TCAM is transmitted and the list item clauses and subclauses refresh, and make the balancing performance of each processor, the problem that Here it is need solve based on TCAM inquiry and the refreshing apparatus of FPGA.
Show correlation technique based on the TCAM inquiry of FPGA and the structured flowchart of updating system as Fig. 1, it comprises processor, cpu i/f, FPGA, TCAM unit and SSRAM (serial static RAM), and SSRAM is used to deposit routing table.The FPGA of this technology is placed on TCAM inquiry and CPU in the same formation to the refresh requests of list item, based on the priority of inquiring about and refresh the request in the formation is dispatched, wherein, CPU is higher than the priority of processor to the TCAM inquiry to the priority that refreshes of list item.The method of this minute priority scheduling makes that inquiry and the lotus root of refreshing are right tightr, and when a large amount of entry updating, the response speed of inquiry will be very low, easily cause the obstruction of message in the network, influence the handling capacity of the network equipment.
Summary of the invention
Fundamental purpose of the present invention is to provide the method and apparatus (comprising the FPGA device and the network equipment) of a kind of TCAM of scheduling inquiry and refresh message, above-mentionedly is higher than the slower problem of inquiry response that priority causes of inquiring about because of refreshing priority to solve at least.
According to an aspect of the present invention, provide the method for a kind of TCAM of scheduling inquiry and refresh message, having comprised: after FPGA receives query messages, this query messages is put into the query messages formation; After FPGA receives refresh message, this refresh message is put into the refresh message formation; FPGA dispatches the refresh message in query messages in the query messages formation and the refresh message formation respectively.
According to a further aspect in the invention, provide a kind of FPGA device, having comprised: the query messages module of joining the team, after being used to receive query messages, this query messages is put into the query messages formation; The refresh message module of joining the team after being used to receive refresh message, is put into the refresh message formation with this refresh message; The query scheduling module is used for the query messages of query messages formation is dispatched; Refresh scheduler module, be used for the refresh message of refresh message formation is dispatched.
According to another aspect of the invention, a kind of network equipment is provided, comprise above-mentioned FPGA device, this network equipment also comprises: processor, be used for sending query messages to the FPGA device, and receive the Query Result that the FPGA device returns, and obtain routing iinformation according to Query Result, carry out message according to routing iinformation and transmit; CPU is used for sending refresh message to the FPGA device, and this refresh message carries the indication information that scheduling three-state content addressing memory TCAM is carried out refresh operation.
By the present invention, adopt on the FPGA two branches are set, be query processing branch and refresh process branch, two branches are adopted handle separately, do not disturb mutually, solved because of refreshing priority and be higher than the slower problem of inquiry response that priority causes of inquiring about, tabling look-up and transmit and list item refreshes at a high speed can be provided, realize transmitting fast, promoted the handling capacity of the network equipment, and then improve the performance of the network equipment.
Description of drawings
Accompanying drawing described herein is used to provide further understanding of the present invention, constitutes the application's a part, and illustrative examples of the present invention and explanation thereof are used to explain the present invention, do not constitute improper qualification of the present invention.In the accompanying drawings:
Fig. 1 is the structured flowchart based on the TCAM of FPGA inquiry and updating system according to correlation technique;
Fig. 2 is according to the scheduling TCAM inquiry of the embodiment of the invention 1 and the method flow diagram of refresh message;
Fig. 3 is the buffer queue structural drawing that provides according to the embodiment of the invention 1;
Fig. 4 is the structured flowchart according to the network equipment of the embodiment of the invention 2;
Fig. 5 joins the team and goes out the method flow diagram of team scheduling according to the query messages of the embodiment of the invention 2;
Fig. 6 joins the team and goes out the synoptic diagram of team scheduling according to the query messages of the embodiment of the invention 2;
Fig. 7 is the method flow diagram according to the TCAM inquiry list item of the embodiment of the invention 2;
Fig. 8 is the method flow diagram that the CPU according to the embodiment of the invention 2 refreshes list item;
Fig. 9 is the structured flowchart according to the FPGA device of the embodiment of the invention 3;
Figure 10 is the structured flowchart according to the network equipment of the embodiment of the invention 4.
Embodiment
Hereinafter will describe the present invention with reference to the accompanying drawings and in conjunction with the embodiments in detail.Need to prove that under the situation of not conflicting, embodiment and the feature among the embodiment among the application can make up mutually.
Embodiment 1
Fig. 2 shows according to a kind of TCAM of the scheduling inquiry of the embodiment of the invention and the method flow diagram of refresh message, and this method may further comprise the steps:
Step S102 after on-site programmable gate array FPGA is received query messages, puts into the query messages formation with query messages;
Step S104 after FPGA receives refresh message, puts into the refresh message formation with this refresh message;
Step S106, FPGA dispatch the refresh message in query messages in the query messages formation and the refresh message formation respectively.
Above-mentioned FPGA adopts shunt to deposit to inquiry and the refresh message of TCAM, and the scheduling that can realize walking abreast is inquired about and refreshed.
In order to realize for polycaryon processor, the equilibrium treatment of each processor TCAM inquiry, preferably, above-mentioned FPGA is provided with a plurality of query messages formations, and the query messages formation is corresponding one by one with processor; Correspondingly, step S102 comprises: FPGA puts into the corresponding query messages formation of processor numbering that query messages carries with query messages; FPGA among the step S106 dispatches the query messages in the query messages formation and comprises: FPGA adopts polling mode to dispatch a plurality of query messages formations, the query messages in the query messages formation that is scheduled is carried out dequeue handle.
So-called polling dispatching refers to that in a period of time, the number of times that each query messages formation is scheduled is basic identical to each query messages formation scheduling successively in a certain order.
Preferably, FPGA carries out the dequeue processing to the query messages in the query messages formation that is scheduled and comprises: FPGA adopts the mode of first in first out (FIFO, First In First Out) that the query messages in the query messages formation that is scheduled is carried out dequeue and handles.
FPGA dispatches the refresh message in the refresh message formation and comprises: FPGA adopts the mode of fifo fifo that the refresh message in the refresh message formation is dispatched.
After above-mentioned FPGA dispatched the query messages in the query messages formation, method also comprised: FPGA receives the Query Result of query messages, Query Result is returned to the processor of query messages correspondence; Processor obtains routing iinformation according to Query Result, E-Packets according to routing iinformation.
In actual applications, it is general when Link State changes in user's configuration change or the network, TCAM list item clauses and subclauses just can refresh, and the frequency of these changes is lower, this just makes the score priority scheduling somewhat unnecessary, so present embodiment is not provided with priority for refreshing scheduling and query scheduling, but the two is left in respectively in the different formations, and the formation of depositing is dispatched respectively.
Referring to Fig. 3, be the buffer queue structural drawing that the embodiment of the invention provides, buffer queue comprises a plurality of query messages formations and a refresh message formation, and wherein, s1-s5 represents query messages, and u1-u5 represents refresh message, specifically is described below:
The query messages formation is a plurality of, corresponding each processor is provided with, a query messages formation is used for the query messages that buffer memory sends from same processor, and the query messages of the embodiment of the invention can comprise: the size and the query contents of processor numbering, list item type, the query contents inquired about.Wherein, processor numbering is used for the queue number of determining that query messages is gone into, and the processor that returns of Query Result; The list item type identification is the inquiry of which kind of list item, is ACL or route, or other list items; The size of query contents represents it is the inquiry of how many positions, such as 144/256; Query contents is the condition that input is searched, and is purpose IP such as the content of looking into the route input, and the content of acl lookup input is the IP five-tuple of message, and this IP five-tuple comprises IP location, source, purpose IP address, source port number, destination slogan, and protocol type.When query messages being put into corresponding query messages formation, can message numbering be set for this query messages, to identify the sequencing that query messages enters in this query messages formation.
The refresh message formation, the shared FIFO buffer queue of a plurality of processors, only establishing a buffer queue is because CPU is lower to the refresh operation frequency of TCAM clauses and subclauses in actual applications, generally is just to refresh list item under the situation of user's configuration change.The data structure of refresh message comprises the refresh message numbering, refreshes type, the refreshing content of clauses and subclauses.
The length of buffer queue is got 2 integer power, the low level that can directly number with query messages numbering or refresh message finds message in the position in buffer queue, such as length of buffer queue is 32, is 25 powers, and then the binary number of cancellation breath numbering hangs down 5 as its position in buffer queue, for example, message numbering is 57, and its binary number is 111001, and low 5 is 11001, the decimal system is 25, and then this message is gone into the position of buffer queue 25.
Said method can be applied to polycaryon processor or a plurality of processor carries out in TCAM inquiry and the refresh process with the FPGA transfer, owing on its FPGA two branches are set, be query processing branch and refresh process branch, two branches' employings are handled separately, do not disturb mutually, solved because of refreshing priority and be higher than the slower problem of inquiry response that inquiry priority causes, tabling look-up and transmit and list item refreshes at a high speed can be provided, realize transmitting fast, promote the handling capacity of the network equipment, and then improved the performance of the network equipment.
Embodiment 2
Present embodiment provides the method for a kind of TCAM of scheduling inquiry and refresh message, and this method describes to be embodied as example on the network equipment shown in Figure 4, and the network equipment shown in Figure 4 comprises following functional unit:
1) processor unit, processor unit links to each other with FPGA by the inquiry passage, its inside comprises a plurality of processors, use respectively processor 1, processor 2 ..., processor n represents that a plurality of single core processor or a plurality of processor can send the TCAM query requests to different list items simultaneously.The inquiry passage is responsible for transmitting query requests of sending from each processor and the Query Result that returns from FPGA, processor is according to the result of this inquiry, visit is stored in the list item in the processor peripheral hardware, obtains message and transmits required information, to realize message forwarding.
2) CPU, CPU links to each other with FPGA by refreshing passage, and CPU increases, deletes, upgrades operation by FPGA to list item clauses and subclauses among the TCAM, simultaneously list item in the processor peripheral hardware is carried out corresponding modify.
3) processor peripheral hardware, comprise SRAM (Static Random Access Memory, static RAM), DRAM (Dynamic Random Access Memory, dynamic RAM) and DDR (Double Data Rate, double message transmission rate storer) peripheral hardware such as, the result that above-mentioned processor inquiry TCAM obtains is pointer or the index that a sensing is stored in the concrete list item address in the peripheral hardware, reads corresponding list item information according to this pointer or index processor from peripheral hardware.When CPU upgraded operation to TCAM list item clauses and subclauses, corresponding list item carried out corresponding modification in the peripheral hardware to being stored in.
4) FPGA, FPGA comprises query processing unit and refresh process unit, and it is inquiry and the refresh requests sent of answer processor and CPU respectively, and query processing and refresh process independently operate, when CPU refreshed TCAM list item clauses and subclauses, processor still can carry out the TCAM inquiry.
Wherein, the query processing unit is provided with a plurality of FIFO query caching formation (corresponding to the query messages formation among the embodiment 1) according to the number of single core processor, the corresponding fifo queue of each processor, the principle of employing polling dispatching between the formation.The query processing unit is distributed to query messages in the corresponding query request according to the processor numbering.The function of refresh process unit is to respond fast the update command of CPU, and list item among the TCAM is upgraded.
5) TCAM unit is used to respond the refresh message that CPU sends by FPGA, upgrades the list item clauses and subclauses; And be used for the query messages that answer processor is sent by FPGA, and return Query Result.
Based on the network equipment shown in Figure 4, present embodiment provides a kind of query messages to join the team and has gone out the method for team's scheduling, a quene state vector is safeguarded in the query processing unit of the FPGA of present embodiment, the quene state vector is a binary numerical value, relevant position 1 this formation of expression has message, for example: formation adds up to 8, there is message need go out team in 00001001 expression formation 1 of quene state vector and the formation 4, and do not have message need go out team in other 6 formations, referring to Fig. 5, this method may further comprise the steps:
Step S502, query messages is joined the team, and is specially: after the query processing unit receives query messages, processor numbering according to query messages is joined the team respectively, to the query messages numbering,, represent that this formation has message need go out team according to the relevant position 1 of the queue number of joining the team with the quene state vector;
Step S504, the query processing unit adopts the mode round-robin scheduling of poll, every query messages of taking turns in formation of scheduling to individual queue; Specific as follows:
Step 1, initialization scheduling queue number are n=1, begin scheduling from first formation;
Step 2, if n greater than the formation sum, then is provided with n=1, i.e. last formation begins round-robin scheduling from first formation after having carried out scheduling again; Otherwise the epicycle scheduling queue is n;
Step 3 judges whether the corresponding positions of quene state vector puts 1, if put 1, represents that this formation has query messages need go out team, and then execution in step 4; Otherwise, represent that this formation does not have query messages to need scheduling, carry out the scheduling of next formation, promptly execution in step 5;
Step 4, the scheduling of inner queue goes out team according to the query messages number order, if all query messages of this formation all are scheduled away, with the position clear 0 in this formation corresponding queues vector.
Step 5, n=n+1 carries out the scheduling of next formation, jumps to step 3.
Join the team and go out the synoptic diagram of team scheduling referring to query messages shown in Figure 6, FPGA puts into corresponding queues according to the processor numbering of query messages with query messages, adopts polling mode that the query messages of individual queue is gone out team and handles.
Based on the network equipment shown in Figure 4, Fig. 7 shows the process flow diagram according to a kind of TCAM list item querying method of present embodiment, and this method may further comprise the steps:
Step S702, processor 1, processor 2 ..., processor n sends query messages as required, comprise processor numbering, the type of the list item of inquiring about, the size of query contents, query contents in the query messages, query messages is given FPGA by the inquiry channel transfer;
Step S704, FPGA identifies query messages, and query messages is joined the team by the processor numbering;
A plurality of query messages formations are safeguarded in the query processing unit of FPGA, the corresponding formation of each processor, according to the processor numbering query messages is joined the team, mode according to poll is dispatched a plurality of query messages formations, each inner queue is pressed the principle scheduling of FIFO, carry out the TCAM inquiry, and Query Result is returned to requesting processor.
Step S706, the query processing unit goes out team with query messages, enters the TCAM inquiry, and the result that will inquire about returns to corresponding processor by the processor numbering;
Step S708, processor be according to the result of TCAM inquiry, i.e. the particular content of list item is read in the address of list item information in the processor peripheral hardware;
Step S710, processor carry out message according to the content that inquires list item and transmit.
Based on the network equipment shown in Figure 4, Fig. 8 shows the method flow diagram that a kind of CPU according to present embodiment refreshes list item, and this method may further comprise the steps:
Step S802, CPU send the list item refresh message, comprise the type of list item and the content that refreshes in the refresh message, and refresh message is given FPGA by refreshing channel transfer;
Step S804, FPGA identifies refresh message, and refresh message is joined the team;
Step S806 dispatches out team according to the principle of first in first out with refresh message;
Step S808, TCAM receive that refresh message then upgrades the list item clauses and subclauses, comprise increase, deletion, retouching operation;
Step S810, CPU upgrades the clauses and subclauses in the processor peripheral hardware list item, comprise increase, deletion, retouching operation.
Processor in the said method carries out the queried access of TCAM with the FPGA transfer, and FPGA returns pointer or the index that points to list item address in the peripheral hardware, and processor is according to the result who returns, the list item in the read processor peripheral hardware; In addition, CPU carries out the refresh operation renewal of TCAM list item clauses and subclauses (be operation) of TCAM with the FPGA transfer, simultaneously the corresponding list item information in the new processor peripheral hardware more.
The dispatching method support inquiry that present embodiment provides and the parallel processing of refresh operation can be carried out the renewal of list item clauses and subclauses in inquiry, also can inquire about when the list item clauses and subclauses are upgraded.Simultaneously, said method adopts the query messages formation corresponding with the processor number is set on FPGA, can solve correlation technique and only support the inquiry of single processor, problem to the query processing scarce capacity of the parallel query of a plurality of processors or multithreading and multiple list item, if the multiple list item of a plurality of single core processor parallel queries is arranged, the efficient of searching will be than higher; And because of adopting the mode of polling dispatching, the performance of each single core processor is also relatively more balanced.
Embodiment 3
Fig. 9 shows the structured flowchart according to a kind of FPGA device of the embodiment of the invention, and this device comprises:
The query messages module 92 of joining the team after being used to receive query messages, is put into the query messages formation with query messages;
The refresh message module 94 of joining the team after being used to receive refresh message, is put into the refresh message formation with refresh message;
Query scheduling module 96 links to each other with the query messages module 92 of joining the team, and is used for the query messages of query messages formation is dispatched;
Refresh scheduler module 98, link to each other, be used for the refresh message of refresh message formation is dispatched with the refresh message module 94 of joining the team.
The query messages module 92 of joining the team comprises: the formation determining unit, after being used to receive query messages, determine corresponding query messages formation according to the processor numbering that query messages carries; Wherein, the FPGA device is provided with a plurality of query messages formations, and the query messages formation is corresponding one by one with processor; The unit of joining the team is used for query messages is put into the query messages formation that the formation determining unit is determined;
Query scheduling module 96 comprises: the polling dispatching unit is used to adopt polling mode to dispatch a plurality of query messages formations; Go out group unit, be used for query messages to the query messages formation of polling dispatching cell scheduling and carry out dequeue and handle.
Preferably, go out group unit and comprise: go out group subelement, the mode that is used for adopting fifo fifo is carried out dequeue to the query messages of the query messages formation of above-mentioned polling dispatching cell scheduling and is handled.
Refreshing scheduler module 98 comprises: refresh scheduling unit, be used for adopting the mode of fifo fifo that the refresh message of refresh message formation is dispatched.
Wherein, above-mentioned query messages comprises: the size and the query contents of processor numbering, list item type, the query contents inquired about.Processor numbering is used for the queue number of determining that query messages is gone into, and the processor that returns of Query Result; The list item type identification is the inquiry of which kind of list item, is ACL or route, or other list items; The size of query contents represents it is the inquiry of how many positions, such as 144/256; Query contents is the condition that input is searched, and is purpose IP such as the content of looking into the route input, and the content of acl lookup input is the IP five-tuple of message, and this IP five-tuple comprises IP location, source, purpose IP address, source port number, destination slogan, and protocol type.When query messages being put into corresponding query messages formation, can message numbering be set for this query messages, to identify the sequencing that query messages enters in this query messages formation.
The refresh message formation, the shared FIFO buffer queue of a plurality of processors of present embodiment, it is because CPU is lower to the refresh operation frequency of TCAM clauses and subclauses in actual applications that present embodiment is only established a refresh message formation, generally is just to refresh list item under the situation of user's configuration change.The data structure of refresh message comprises the refresh message numbering, refreshes type, the refreshing content of clauses and subclauses.
Above-mentioned FPGA device can be applied to polycaryon processor or a plurality of processor carries out in TCAM inquiry and the refresh process with the FPGA transfer, owing on the FPGA device two branches are set, be query processing branch and refresh process branch, two branches' employings are handled separately, do not disturb mutually, solved because of refreshing priority and be higher than the slower problem of inquiry response that inquiry priority causes, tabling look-up and transmit and list item refreshes at a high speed can be provided, realize transmitting fast, promote the handling capacity of the network equipment, and then improved the performance of the network equipment.
Embodiment 4
Figure 10 shows the structured flowchart according to a kind of network equipment of the embodiment of the invention, this network equipment comprises FPGA device 102, processor 104 and CPU 106, FPGA device 102 links to each other with CPU 106 with processor 104 respectively, wherein, FPGA device 102 can be realized according to the mode among the embodiment 3, no longer describes in detail here.
Processor 104 is used for sending query messages to FPGA device 102, and receives the Query Result that described FPGA device returns, and obtains routing iinformation according to this Query Result, carries out message according to this routing iinformation and transmits;
CPU 106, are used for sending refresh message to FPGA device 102, and wherein, this refresh message carries the indication information that scheduling TCAM is carried out refresh operation.
The network equipment of present embodiment can also realize that concrete function is identical with it, repeats no more here according to the network equipment shown in Figure 4 among the embodiment 2.
The network equipment of present embodiment is by being provided with two branches on the FPGA device, be query processing branch and refresh process branch, two branches' employings are handled separately, do not disturb mutually, solved because of refreshing priority and be higher than the slower problem of inquiry response that causes of inquiry priority, tabling look-up and transmit and list item refreshes at a high speed can be provided, realized forwarding fast, promote the handling capacity of the network equipment, and then improved the performance of the network equipment.
Compared with prior art, the technology that above embodiment provides by the separate processes to inquiring about and refreshing, makes inquiry and the processing that refreshes not disturb mutually, has improved inquiry and the efficient that refreshes; The query messages of different processor is separately joined the team, realized parallel query, the query request polling dispatching of each single core processor makes the balancing performance of each single core processor.And answer processor is realized transmitting fast to the inquiry of TCAM and refreshing of list item fast, has improved network equipment handling capacity, and then has promoted the performance of the network equipment.
Obviously, those skilled in the art should be understood that, above-mentioned each module of the present invention or each step can realize with the general calculation device, they can concentrate on the single calculation element, perhaps be distributed on the network that a plurality of calculation element forms, alternatively, they can be realized with the executable program code of calculation element, thereby, they can be stored in the memory storage and carry out by calculation element, and in some cases, can carry out step shown or that describe with the order that is different from herein, perhaps they are made into each integrated circuit modules respectively, perhaps a plurality of modules in them or step are made into the single integrated circuit module and realize.Like this, the present invention is not restricted to any specific hardware and software combination.
The above is the preferred embodiments of the present invention only, is not limited to the present invention, and for a person skilled in the art, the present invention can have various changes and variation.Within the spirit and principles in the present invention all, any modification of being done, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (10)

1. a method of dispatching three-state content addressing memory TCAM inquiry and refresh message is characterized in that, comprising:
After on-site programmable gate array FPGA is received query messages, described query messages is put into the query messages formation;
After described FPGA receives refresh message, described refresh message is put into the refresh message formation;
Described FPGA dispatches the refresh message in query messages in the described query messages formation and the described refresh message formation respectively.
2. method according to claim 1 is characterized in that, described FPGA is provided with a plurality of query messages formations, and described query messages formation is corresponding one by one with processor;
Described FPGA puts into the query messages formation with described query messages and comprises: described FPGA puts into the corresponding query messages formation of processor numbering that described query messages carries with described query messages;
Described FPGA dispatches the query messages in the described query messages formation and comprises: described FPGA adopts polling mode to dispatch described a plurality of query messages formation, the query messages in the query messages formation that is scheduled is carried out dequeue handle.
3. method according to claim 2 is characterized in that, described FPGA carries out the dequeue processing to the query messages in the query messages formation that is scheduled and comprises:
Described FPGA adopts the mode of fifo fifo that the query messages in the described query messages formation that is scheduled is carried out dequeue and handles.
4. method according to claim 1 is characterized in that, described FPGA dispatches the refresh message in the described refresh message formation and comprises:
Described FPGA adopts the mode of fifo fifo that the refresh message in the described refresh message formation is dispatched.
5. according to each described method of claim 1-4, it is characterized in that after described FPGA dispatched the query messages in the described query messages formation, described method also comprised:
Described FPGA receives the Query Result of described query messages, described Query Result is returned to the processor of described query messages correspondence;
Described processor obtains routing iinformation according to described Query Result, E-Packets according to described routing iinformation.
6. an on-site programmable gate array FPGA device is characterized in that, comprising:
The query messages module of joining the team after being used to receive query messages, is put into the query messages formation with described query messages;
The refresh message module of joining the team after being used to receive refresh message, is put into the refresh message formation with described refresh message;
The query scheduling module is used for the query messages of described query messages formation is dispatched;
Refresh scheduler module, be used for the refresh message of described refresh message formation is dispatched.
7. device according to claim 6 is characterized in that,
The described query messages module of joining the team comprises: the formation determining unit, be used to receive described query messages after, determine corresponding query messages formation according to the processor numbering that described query messages carries; Wherein, described FPGA device is provided with a plurality of query messages formations, and described query messages formation is corresponding one by one with processor; The unit of joining the team is used for described query messages is put into the described query messages formation that described formation determining unit is determined;
Described query scheduling module comprises: the polling dispatching unit is used to adopt polling mode to dispatch described a plurality of query messages formation; Go out group unit, be used for query messages to the described query messages formation of described polling dispatching cell scheduling and carry out dequeue and handle.
8. device according to claim 7 is characterized in that, describedly goes out group unit and comprises:
Go out group subelement, the mode that is used for adopting fifo fifo is carried out dequeue to the query messages of the described query messages formation of described polling dispatching cell scheduling and is handled.
9. device according to claim 6 is characterized in that, the described scheduler module that refreshes comprises:
Refresh scheduling unit, be used for adopting the mode of fifo fifo that the refresh message of described refresh message formation is dispatched.
10. a network equipment is characterized in that, comprises each described on-site programmable gate array FPGA device of claim 6-9, and the described network equipment also comprises:
Processor is used for sending query messages to described FPGA device, and receives the Query Result that described FPGA device returns, and obtains routing iinformation according to described Query Result, carries out message according to described routing iinformation and transmits;
CPU is used for sending refresh message to described FPGA device, and described refresh message carries the indication information that scheduling three-state content addressing memory TCAM is carried out refresh operation.
CN201010526538.8A 2010-10-29 2010-10-29 Method and device for dispatching TCAM (telecommunication access method) query and refresh messages Active CN101986271B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010526538.8A CN101986271B (en) 2010-10-29 2010-10-29 Method and device for dispatching TCAM (telecommunication access method) query and refresh messages
PCT/CN2011/080616 WO2012055319A1 (en) 2010-10-29 2011-10-10 Method and device for dispatching tcam (telecommunication access method) query and refreshing messages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010526538.8A CN101986271B (en) 2010-10-29 2010-10-29 Method and device for dispatching TCAM (telecommunication access method) query and refresh messages

Publications (2)

Publication Number Publication Date
CN101986271A true CN101986271A (en) 2011-03-16
CN101986271B CN101986271B (en) 2014-11-05

Family

ID=43710620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010526538.8A Active CN101986271B (en) 2010-10-29 2010-10-29 Method and device for dispatching TCAM (telecommunication access method) query and refresh messages

Country Status (2)

Country Link
CN (1) CN101986271B (en)
WO (1) WO2012055319A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012055319A1 (en) * 2010-10-29 2012-05-03 中兴通讯股份有限公司 Method and device for dispatching tcam (telecommunication access method) query and refreshing messages
CN102662888A (en) * 2012-03-20 2012-09-12 大连梯耐德网络技术有限公司 A control system and control method for multi-user parallel operation TCAM
CN102880680A (en) * 2012-09-11 2013-01-16 大连梯耐德网络技术有限公司 A Multi-user Statistical Method Based on Random Access Memory
CN103023782A (en) * 2012-11-22 2013-04-03 北京星网锐捷网络技术有限公司 Method and device for accessing ternary content addressable memory (TCAM)
CN104239337A (en) * 2013-06-19 2014-12-24 中兴通讯股份有限公司 TCAM (ternary content addressable memory) based table look-up processing method and device
WO2016101490A1 (en) * 2014-12-26 2016-06-30 中兴通讯股份有限公司 Update processing method and device
WO2016101551A1 (en) * 2014-12-26 2016-06-30 中兴通讯股份有限公司 Method and device for writing data into ternary content addressable memory
WO2016197607A1 (en) * 2015-06-12 2016-12-15 中兴通讯股份有限公司 Method and apparatus for realizing route lookup
CN107301353A (en) * 2017-06-27 2017-10-27 徐萍 A kind of streaming Method on Dense Type of Data Using desensitization method and its data desensitization equipment
CN114356418A (en) * 2022-03-10 2022-04-15 之江实验室 Intelligent table entry controller and control method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150278297A1 (en) * 2014-03-28 2015-10-01 Caradigm Usa Llc Methods, apparatuses and computer program products for providing a speed table for analytical models

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1631008A (en) * 2001-07-13 2005-06-22 艾利森公司 Method and apparatus for scheduling message processing
CN1655534A (en) * 2005-02-25 2005-08-17 清华大学 A dual-stack compatible route finder that supports the access control list function on the core router
CN1798088A (en) * 2004-12-30 2006-07-05 中兴通讯股份有限公司 Dispatching method and equipment for searching and updating routes based on FPGA
CN101840374A (en) * 2010-04-28 2010-09-22 福建星网锐捷网络有限公司 Processing device, information searching system and information searching method
CN101866357A (en) * 2010-06-11 2010-10-20 福建星网锐捷网络有限公司 Method and device for updating items of three-state content addressing memory

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986271B (en) * 2010-10-29 2014-11-05 中兴通讯股份有限公司 Method and device for dispatching TCAM (telecommunication access method) query and refresh messages

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1631008A (en) * 2001-07-13 2005-06-22 艾利森公司 Method and apparatus for scheduling message processing
CN1798088A (en) * 2004-12-30 2006-07-05 中兴通讯股份有限公司 Dispatching method and equipment for searching and updating routes based on FPGA
CN1655534A (en) * 2005-02-25 2005-08-17 清华大学 A dual-stack compatible route finder that supports the access control list function on the core router
CN101840374A (en) * 2010-04-28 2010-09-22 福建星网锐捷网络有限公司 Processing device, information searching system and information searching method
CN101866357A (en) * 2010-06-11 2010-10-20 福建星网锐捷网络有限公司 Method and device for updating items of three-state content addressing memory

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012055319A1 (en) * 2010-10-29 2012-05-03 中兴通讯股份有限公司 Method and device for dispatching tcam (telecommunication access method) query and refreshing messages
CN102662888A (en) * 2012-03-20 2012-09-12 大连梯耐德网络技术有限公司 A control system and control method for multi-user parallel operation TCAM
CN102880680A (en) * 2012-09-11 2013-01-16 大连梯耐德网络技术有限公司 A Multi-user Statistical Method Based on Random Access Memory
CN102880680B (en) * 2012-09-11 2015-08-12 大连梯耐德网络技术有限公司 A Multi-user Statistical Method Based on Random Access Memory
CN103023782A (en) * 2012-11-22 2013-04-03 北京星网锐捷网络技术有限公司 Method and device for accessing ternary content addressable memory (TCAM)
CN103023782B (en) * 2012-11-22 2016-05-04 北京星网锐捷网络技术有限公司 A kind of method and device of accessing three-state content addressing memory
CN104239337A (en) * 2013-06-19 2014-12-24 中兴通讯股份有限公司 TCAM (ternary content addressable memory) based table look-up processing method and device
CN104239337B (en) * 2013-06-19 2019-03-26 中兴通讯股份有限公司 Processing method and processing device of tabling look-up based on TCAM
WO2016101551A1 (en) * 2014-12-26 2016-06-30 中兴通讯股份有限公司 Method and device for writing data into ternary content addressable memory
CN105791163A (en) * 2014-12-26 2016-07-20 中兴通讯股份有限公司 Updating method and device
CN105791125A (en) * 2014-12-26 2016-07-20 中兴通讯股份有限公司 Method and device for writing data in ternary content addressable memory (TCAM)
WO2016101490A1 (en) * 2014-12-26 2016-06-30 中兴通讯股份有限公司 Update processing method and device
CN105791125B (en) * 2014-12-26 2020-03-17 中兴通讯股份有限公司 Method and device for writing data in ternary content addressable memory
WO2016197607A1 (en) * 2015-06-12 2016-12-15 中兴通讯股份有限公司 Method and apparatus for realizing route lookup
CN106302174A (en) * 2015-06-12 2017-01-04 中兴通讯股份有限公司 A kind of method and device realizing route querying
CN107301353A (en) * 2017-06-27 2017-10-27 徐萍 A kind of streaming Method on Dense Type of Data Using desensitization method and its data desensitization equipment
CN114356418A (en) * 2022-03-10 2022-04-15 之江实验室 Intelligent table entry controller and control method

Also Published As

Publication number Publication date
WO2012055319A1 (en) 2012-05-03
CN101986271B (en) 2014-11-05

Similar Documents

Publication Publication Date Title
CN101986271B (en) Method and device for dispatching TCAM (telecommunication access method) query and refresh messages
US7039914B2 (en) Message processing in network forwarding engine by tracking order of assigned thread in order group
CN105975433B (en) A kind of message processing method and device
US9853906B2 (en) Network prioritization based on node-level attributes
US8626955B2 (en) Directing packets to a processor unit
CN102843426B (en) Based on Web cache resources shared system and the method for intelligent father node
KR100379342B1 (en) Intelligent memory-based input/output system
WO2014139450A1 (en) System and method for distributed sql join processing in shared-nothing relational database clusters using stationary tables
CN110166570A (en) Service conversation management method, device, electronic equipment
CN103081434A (en) Smart memory
CN101019385A (en) Port aggregation across stack of devices
Batalla et al. ID-based service-oriented communications for unified access to IoT
CN105791381A (en) Access control method and apparatus
CN111382114A (en) Data transmission method and device for network on chip and electronic equipment
CN110392002A (en) Message processing method, device, equipment and readable storage medium
US9692809B2 (en) Maximizing data transfer through multiple network devices
CN101599910B (en) Method and device for sending messages
CN101803289A (en) Route based on grade of fit
CN104363177A (en) Rule table entry optimization method and device used for message processing
JP2013062680A (en) Node device, system and packet processing method
US20120265801A1 (en) Out of order assembling of data packets
US11314711B2 (en) Network switch with network analysis data producer-consumer shared memory
US11563715B2 (en) Pattern matching by a network device for domain names with wildcard characters
Challenger et al. A Hybrid Distributed Mutual Exclusion Algorithm for Cluster‐Based Systems
KR101137570B1 (en) Apparatus and Method for Priority Based Message Scheduling for Multi Agent System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant