CN101286866A - Multicast implementing method and system based on switching network of high-speed peripheral extended interface - Google Patents

Multicast implementing method and system based on switching network of high-speed peripheral extended interface Download PDF

Info

Publication number
CN101286866A
CN101286866A CNA2008101140827A CN200810114082A CN101286866A CN 101286866 A CN101286866 A CN 101286866A CN A2008101140827 A CNA2008101140827 A CN A2008101140827A CN 200810114082 A CN200810114082 A CN 200810114082A CN 101286866 A CN101286866 A CN 101286866A
Authority
CN
China
Prior art keywords
veneer
multicast
fpga
message
formation
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
CNA2008101140827A
Other languages
Chinese (zh)
Other versions
CN101286866B (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008101140827A priority Critical patent/CN101286866B/en
Publication of CN101286866A publication Critical patent/CN101286866A/en
Application granted granted Critical
Publication of CN101286866B publication Critical patent/CN101286866B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a method, a system and FPGA for realizing multicast based on PCIe exchange network. The method comprises the steps that: the FPGA is arranged on a exchange network board, and a link between the FPGA and a PCIe exchanger on the exchange network board is a PCIe link; when source singleboards send multicast messages to destination singleboards, identification information of the destination singleboards is put into the multicast messages which are sent to the FPGA; the FPGA copies the messages according to the identification information of the destination singleboards in the multicast messages and sends each multicast message to each destination singleboard after copying. The method shifts the work of copying the multicast messages to the FPGA, thus greatly reducing the processing load of the singleboards.

Description

Method of realizing group broadcasting and system based on switching network of high-speed peripheral extended interface
Technical field
The present invention relates to technical field of multicast, be specifically related to a kind of based on high-speed peripheral extended interface (PCIe, Peripheral Component Interconnect Express) method of realizing group broadcasting, system and the field programmable gate array of switching network (FPGA, Field Programable Gate Array).
Background technology
Multicast is meant at Internet Protocol (IP, Internet Protocol) in the network packet is sent to certain node set of determining promptly with the form that transmits as possible: multicast group, its basic thought is: source host promptly: multicast source only sends a piece of data, and its destination address is a multicast group address; All hosts in the multicast group all can be received same data copy, and has only the main frame in the multicast group can receive these data, and other main frame then can not be received.
Multicasting technology has solved the problem that single-point transmission, multiple spot receive effectively, has realized the efficient data transmission of IP network mid point to multiple spot, in a large number conserve network bandwidth, reduction offered load.The more important thing is, can utilize the multicast feature of network that some new value-added services are provided easily, comprise the information service field of the Internets such as online live, Web TV, long-distance education, tele-medicine, network radio station, real-time video meeting.
The function that commercial at present PCIe exchange chip does not all provide multicast to transmit, system based on the PCIe bussing technique all realizes that by software the multicast of data transmits, its basic process as shown in Figure 1, veneer 0 is resolved this message after receiving packet, judge whether this message needs multicast to send, confirming that needing multicast transmission and purpose veneer is 1,2, after 3, in veneer 0, can message be copied as 3 parts by software, to duplicate the message that finishes subsequently and go into output queue, send by the message of the PCIe link between veneer 0 and PCIe interchanger with 3 parts of various objectives addresses, the similar clean culture of process of transmitting this moment sends.If each veneer is divided into a plurality of professional outgoing interfaces again, such as veneer 1 20 outgoing interfaces are arranged, and the message that veneer 0 is received not only will arrive veneer 1, also to send from 15 outgoing interfaces of veneer 1, if be chosen in copy packet in the veneer 0 like this, just mean the message that need duplicate greater number by software.
Realize that by software mainly there are following two problems in multicast mode as can be seen:
1, needs the veneer processor to participate in the message replication work, increased the processing burden of veneer, reduce the performance of whole plate.
2, because many parts of messages that duplicate all need to send by the PCIe link between veneer and the PCIe interchanger, this can greatly reduce the bandwidth availability ratio between veneer and the PCIe interchanger.
3, need repeatedly send by the PCIe link between veneer and the PCIe interchanger owing to multicast message, promptly increase of the delay of this multicast message by this port, this makes the unicast message after the multicast message also can not get timely transmission, causes the message of this port to postpone increase even congested.
Summary of the invention
The invention provides the method, system and the FPGA that realize multicast based on the PCIe switching network, to alleviate the processing burden of veneer.
Technical scheme of the present invention is achieved in that
A kind of method of realizing group broadcasting based on the PCIe switching network is characterized in that, FPGA is set on network board, and the link between the PCIe interchanger on FPGA and the network board is the PCIe link, and method comprises:
The source veneer will send multicast message to the purpose veneer, purpose veneer sign information is put into multicast message, this multicast message is mail to FPGA, FPGA is according to the purpose veneer sign information reproduction message in the multicast message, duplicate and finish, each multicast message is mail to each purpose veneer.
Described FPGA further comprises after each multicast message is mail to each purpose veneer: the purpose veneer is received multicast message, resolve this message, judge whether this message will mail to the outgoing interface of self, if, count copy packet according to the outgoing interface that will mail to, duplicate and finish, each multicast message is sent from each outgoing interface.
On FPGA,, each veneer goes into formation in advance for being provided with one,
Described source veneer is put into purpose veneer sign information after the multicast message, further comprised before multicast message is mail to FPGA: the source veneer judges that whether the free space of going into formation of this source veneer correspondence on the FPGA is greater than preset first threshold value, if greater than, then carry out described action of multicast message being mail to FPGA; Otherwise, when waiting for that the free space of going into formation to source veneer correspondence is greater than preset first threshold value, carry out described action of multicast message being mail to FPGA again.
A Status Flag is set on each veneer, whether the free space of going into formation that is used to indicate this veneer correspondence on the FPGA is greater than preset first threshold value, this Status Flag is initialized as " sky ", and, the free space of going into formation of finding a veneer correspondence as FPGA is when becoming less than preset first threshold value greater than preset first threshold value, Status Flag on this veneer is changed to " expiring ", the free space of going into formation of finding a veneer correspondence as FPGA is when becoming greater than preset first threshold value less than preset first threshold value, Status Flag on this veneer is changed to " sky "
Described source veneer judges that whether the free space of going into formation that FPGA goes up this source veneer correspondence greater than preset first threshold value is: the source veneer judges whether the Status Flag of self is " sky ", if the free space of going into formation of determining source veneer correspondence is greater than preset first threshold value.
Describedly joining the team and classifying as for each veneer is provided with one on the FPGA in advance: be that each veneer distributes the go into formation of a memory headroom as this veneer in advance on FPGA,
Described source veneer is put into multicast message with purpose veneer sign information and comprised: the source veneer adds a PCIe packet header at multicast message, destination address in the packet header is the memory address of going into formation that FPGA goes up this source veneer correspondence, and purpose veneer sign is set in destination address
Described source veneer with multicast message mail to after the FPGA, FPGA further comprises according to before the purpose veneer sign information reproduction message in the multicast message: the source veneer is resolved the purpose veneer sign in the destination address in PCIe packet header of this multicast message, obtain each purpose veneer sign, and obtain purpose veneer number.
A multicast is set on each veneer in advance receives formation,
Further comprise before mailing to each purpose veneer after the described FPGA copy packet, with each multicast message: FPGA judges that respectively whether the multicast of each purpose veneer receives the free space of formation greater than default second threshold value, if greater than, then carry out the described action that multicast message is sent to the purpose veneer; Otherwise, when waiting for the free space that receives formation to the multicast of purpose veneer, carry out the described action that multicast message is sent to the purpose veneer again greater than default second threshold value.
On FPGA, a Status Flag is set in advance for each veneer, be respectively applied for the multicast that indicates on each veneer and whether receive the free space of formation greater than default second threshold value, this Status Flag is initialized as " sky ", and, when veneer finds that free space that the multicast of self receives formation is from becoming greater than default second threshold value when presetting second threshold value, the Status Flag of FPGA being gone up this veneer correspondence is changed to " expiring ", when veneer finds that free space that the multicast of self receives formation is from becoming less than default second threshold value when presetting second threshold value, the Status Flag of FPGA being gone up this veneer correspondence is changed to " sky "
Described FPGA judges that respectively whether the free space that the multicast of each purpose veneer receives formation greater than default second threshold value is: whether the Status Flag that FPGA is judged as each purpose veneer setting respectively is " sky ", if determine that the multicast of purpose veneer receives the free space of formation greater than default second threshold value.
A kind of multicast based on the PCIe switching network is realized system, comprising: veneer, PCIe interchanger, FPGA, wherein:
Veneer when will when the purpose veneer sends multicast message purpose veneer sign information being put into multicast message, mails to FPGA with this multicast message by the PCIe interchanger;
FPGA, the purpose veneer sign information reproduction message in the multicast message of sending according to veneer duplicates and finishes, and each multicast message is mail to each purpose veneer.
Described veneer comprises:
Multicast sends processing unit, for multicast message to be sent adds PCIe packet header, comprises purpose veneer sign information in this packet header, and multicast message is put into the multicast transmit queue, takes out multicast message from the multicast transmit queue, sends to FPGA by the PCIe interchanger;
Multicast receives processing unit, and finding has the multicast message that newly writes in the multicast reception formation, resolves this message, judge whether this message needs to mail to the outgoing interface of this veneer, if count copy packet according to the outgoing interface that need mail to, duplicate and finish, each message is sent from each outgoing interface.
Described veneer further comprises: go into the formation state setting module, the formation of going into that is used to FPGA to go up this veneer correspondence is provided with a Status Flag, and init state is masked as " sky ", and changes this Status Flag according to the write operation to this Status Flag of FPGA,
And described multicast sends processing unit and is further used for, when will be when the multicast transmit queue takes out multicast message, to going into formation state setting module query State sign, if Status Flag be " sky ", then from multicast transmit queue taking-up multicast message; Otherwise, continue to going into formation state setting module query State sign, when Status Flag is " sky ", take out multicast message from the multicast transmit queue.
Described veneer further comprises: multicast receives the quene state maintenance module, be used for finding free space that multicast receives formation when becoming greater than default second threshold value less than default second threshold value, with FPGA upward the Status Flag of this veneer correspondence be changed to " expiring "; Finding free space that multicast receives formation when becoming less than default second threshold value, the Status Flag of this veneer correspondence on the FPGA is being changed to " sky " greater than default second threshold value.
FPGA in a kind of PCIe switching network comprises:
Multicast receives processing unit, receive the multicast message that veneer is sent by the PCIe interchanger, resolve the destination address in PCIe packet header of this message, obtain the source single board information, the formation of going into multicast message is put into source veneer correspondence sends to copied cells with the destination address in the PCIe packet header;
Copied cells, according to the destination address in the PCIe packet header, parse the address of multicast message in going into formation and each purpose veneer sign, count copy packet according to the purpose veneer, duplicate and finish, the address of multicast message in going into formation put into the dequeue of each purpose veneer correspondence;
Multicast sends processing unit, takes out multicast message from the dequeue of purpose veneer, and message is mail to each purpose veneer.
Described FPGA further comprises: the flow-control administration unit, on this FPGA, a Status Flag is set respectively for the multicast on each veneer receives formation, each Status Flag of initialization is " sky ", and according to the Status Flag of the write operation change veneer of the change Status Flag of veneer
Described multicast transmitting element is further used for, and in the time will getting message from the dequeue of purpose veneer correspondence, inquires about the Status Flag of this purpose veneer to the flow-control administration unit, if Status Flag be " sky ", then from dequeue taking-up message; Otherwise, continue to inquire about the Status Flag of this purpose veneer to the flow-control administration unit, be " sky " until Status Flag, from dequeue, take out message again.
Described flow-control administration unit is further used for, and detects the Status Flag change of going into formation of a veneer correspondence, changes Status Flag on this veneer by write operation.
Compared with prior art, the present invention is by being provided with FPGA on network board, link between the PCIe interchanger on FPGA and the network board is the PCIe link, when the source veneer will be when the purpose veneer sends multicast message, purpose veneer sign information is put into multicast message, this multicast message is mail to FPGA, FPGA is according to the purpose veneer sign information reproduction message in the multicast message, duplicate and finish, each multicast message is mail to each purpose veneer.The present invention transfers to the work of duplicated multicast message on the FPGA and finishes, and greatly reduces the processing burden of veneer, has improved whole plate performance, and has improved the bandwidth availability ratio between veneer and the PCIe interchanger; Simultaneously, since need be in veneer the duplicated multicast message, be that the source veneer only needs to send a multicast message to network board, this makes the message after multicast message on the veneer of source, can in time obtain sending such as unicast message, reduced the link delay of subsequent packet, thereby reduced congested.
Description of drawings
Fig. 1 is existing by the schematic diagram of software realization based on the multicast transmission of PCIe switching network;
The schematic diagram that Fig. 2 provides for the embodiment of the invention based on PCIe switching network realization multicast;
The flow chart that Fig. 3 provides for the embodiment of the invention based on PCIe switching network realization multicast;
System's composition diagram that Fig. 4 provides for the embodiment of the invention based on PCIe switching network realization multicast;
The structural representation of the veneer that Fig. 5 provides for the embodiment of the invention;
The structural representation of the FPGA that Fig. 6 provides for the embodiment of the invention.
Embodiment
The present invention is further described in more detail below in conjunction with drawings and the specific embodiments.
Fig. 2 as shown in Figure 2, in embodiments of the present invention, is provided with a FPGA for the schematic diagram based on PCIe switching network realization multicast that the embodiment of the invention provides on network board, the link between FPGA and the PCIe interchanger is the PCIe link.When a veneer as: veneer 0 will to the purpose veneer as: when veneer 1,2,3 sends multicast message M, veneer 0 is issued FPGA with multicast message M by the PCIe interchanger earlier, FPGA is again according to purpose veneer number, copy packet M, be distributed to veneer 1,2,3 with duplicating message M1, the M2, the M3 that obtain by the PCIe interchanger, the N among Fig. 2 is the veneer number.
The flow chart that Fig. 3 provides for the embodiment of the invention based on PCIe switching network realization multicast, as shown in Figure 3, its concrete steps are as follows:
Step 301: a multicast transmit queue is set when initialization each veneer and a multicast receives formation; FPGA goes into formation and a dequeue for each veneer is provided with one respectively when initialization, and goes into formation for each and distribute a memory base address and offset address, and FPGA sends to each veneer respectively with the memory base address of going into formation and the offset address of each veneer.
For the multicast transmit queue on each veneer is provided with a Status Flag, being used to indicate FPGA goes up corresponding with this veneer go into formation whether enough free spaces are arranged, this Status Flag is initialized as " 1 ", go into formation a when not having enough free spaces as the last veneer a of FPGA, FPGA is by the Status Flag reset of PCIe write operation with the multicast transmit queue on the veneer a, after this, go into formation a when enough free spaces are arranged again when what FPGA went up veneer a correspondence, then FPGA is by the Status Flag set of PCIe write operation with the multicast transmit queue on the veneer a.
The dequeue that goes up each veneer correspondence for FPGA is provided with a Status Flag, whether the multicast reception formation that is used to indicate on this veneer has enough free spaces, this Status Flag is initialized as " 1 ", when the reception of the multicast on veneer a formation does not have enough free spaces, veneer a goes up FPGA by the PCIe write operation Status Flag reset of the dequeue a of this veneer a correspondence, when the reception of the multicast on veneer a formation had enough free spaces again again, veneer a went up FPGA by the PCIe write operation Status Flag set of the dequeue a of veneer a correspondence.
Particularly, can be the formation of going into that FPGA goes up each veneer correspondence a first threshold is set, if the free space of going into formation, is thought then that this is joined the team greater than this first threshold and shown enough free spaces; Equally, the multicast reception formation that can be on each veneer is provided with one second threshold value, if this multicast receives the free space of formation greater than this second threshold value, thinks that then multicast receives formation enough free spaces are arranged.
Because PCIe is based on the address route, therefore, have only for what FPGA went up each veneer correspondence and go into formation location distributively, could make and correctly join the team from the multicast message of veneer.The address of going into formation is the address of memory headroom.For example: among the FPGA, the memory base address of going into formation 1 of veneer 1 correspondence is 0xA1000000, offset address is 0xFF, then, when veneer 1 will send multicast message, the destination address in the PCIe packet header of multicast message need be arranged between 0xA1000000~0xA10000FF, like this, when FPGA receives this multicast message, just can message be sent to into formation 1 according to this destination address.
Step 302: a veneer a receives a message, resolve this message, find that this message is a multicast message, and obtain purpose veneer that this message mails to number, for message adds PCIe packet header, the destination address in the PCIe packet header is set to: an address going into formation a of the last veneer a of FPGA correspondence, simultaneously, make this destination address can indicate purpose veneer number, multicast message is gone into the multicast transmit queue.
Can preestablish destination address in the PCIe packet header from last 1, from back to front, each represents a purpose veneer, if this is that 1 this veneer of expression is the purpose veneer of message, is not the purpose veneer of message if this is 0 this veneer of expression.For example: among the FPGA, the memory base address of going into formation 1 of veneer 1 correspondence is 0xA1000000, offset address is 0xFF, after veneer 1 is received a multicast message, the purpose veneer of finding message is a veneer 1,2,3, and then the destination address of veneer 1 in need the PCIe packet header of multicast message is set to satisfy condition: 1, between 0xA1000000~0xA10000FF; 2, last 2~4 is 1, and then this destination address can be 0xA100000E, and as can be seen, this address satisfies condition 1, and simultaneously, because 0Xe=0b1110, promptly the 2nd~4 reciprocal is 1, and therefore, as can be known: the purpose veneer of multicast message is a veneer 1,2,3.
Step 303: veneer a will send a multicast message, and whether the Status Flag of inquiring about the multicast transmit queue of this veneer is " 1 ", if, execution in step 304; Otherwise, return this step and carry out whether the Status Flag of the multicast transmit queue of this veneer of inquiry is the action of " 1 ".
Step 304: veneer a sends to FPGA with multicast message by the PCIe interchanger.
Step 305:FPGA receives the multicast message that veneer a sends, and resolves the PCIe packet header of this message, according to the destination address in the PCIe packet header, goes into formation a with what message deposited this destination address correspondence in, and the destination address in the PCIe packet header is sent to copied cells.
The copied cells of step 306:FPGA receives the destination address in the PCIe packet header, resolve this destination address, obtain the memory address of multicast message in going into formation a, and obtain the purpose veneer number of multicast message, according to purpose veneer number, copy packet duplicates and finishes, and multicast message is sent to the dequeue of each purpose veneer correspondence respectively.
Copied cells is actually the dequeue of the memory address of message in going into formation a being put into each purpose veneer correspondence respectively with the dequeue that multicast message is sent to each purpose veneer correspondence respectively,
Step 307:FPGA determines to send a multicast message in the dequeue, and whether the Status Flag of inquiring about this dequeue is " 1 ", if, execution in step 308; Otherwise, return this step and carry out whether the Status Flag of this dequeue of inquiry is the action of " 1 ".
Step 308:FPGA receives formation with multicast message by the multicast that the PCIe write operation writes each purpose veneer.
Step 309: the purpose veneer finds that multicast receives formation and newly receives a message, resolves this message.
Step 310: the purpose veneer judges whether multicast message needs to send from the outgoing interface of self, if, execution in step 311; Otherwise the purpose veneer is made subsequent treatment to message, and this flow process finishes.
Step 311: the purpose veneer is according to the outgoing interface number copy packet that need mail to, and duplicates to finish, and multicast message is sent by each outgoing interface, and this flow process finishes.
In actual applications, often run into by more and make a call to one promptly: a plurality of veneers send message and cause congested situation to a veneer simultaneously, in the system based on the PCIe switching network, make a call to one usually in two kinds of situation more, and one, only make a call to one by what multicast message caused more; What cause when two, clean culture and multicast message all exist makes a call to one more.The technical scheme that realizes multicast that the embodiment of the invention provides can effectively reduce make a call to one cause congested, specific as follows:
For first kind of situation, the purpose veneer of the multicast message that sends such as veneer 0 is 1 and 2, the purpose veneer of the multicast message that veneer 2 sends is 1 and 3, the purpose veneer of the multicast message that veneer 3 sends is 0 and 1, this moment, veneer 0,2,3 was all to 1 dozen of flow of veneer, if the bandwidth of each veneer is impartial and do not take any congested measure that prevents, then veneer 1 will inevitably be congested.And according to the embodiment of the invention, purpose veneer 1 is made a call under one the situation more, the multicast of veneer 1 receives the very fast meeting of free space of formation less than default second threshold value, at this moment, veneer 1 can be notified FPGA, FPGA can suspend to veneer 1 transmission multicast message, but FPGA still can continue to receive from the multicast message of source veneer up to the free space of going into formation of source veneer less than preset first threshold value, this moment, FPGA can suspend the transmission multicast message by the notification source veneer, thereby finish from the purpose veneer to FPGA again the Flow Control step by step of source veneer, only realize the not packet losses of beating for the moment in the switching network that cause by multicast message more.
For second kind of situation, the purpose veneer of the multicast message that sends such as veneer 0 is 1 and 2, the purpose veneer of the unicast message that veneer 2 sends is 1, the purpose veneer of the unicast message that veneer 3 sends is 1, this moment, veneer 0,2,3 was all to 1 flow of veneer, if the bandwidth of each veneer is impartial and do not take any congested measure that prevents, veneer 1 will inevitably be congested.And in the purpose veneer, usually can receive formation for each veneer is provided with a clean culture, promptly total N-1 clean culture receives formation (N is the veneer number), for being provided with 1 multicast jointly, all veneers receive formation, the technical scheme that provides according to the embodiment of the invention, multicast and clean culture be Flow Control respectively, when promptly the free space that receives formation when the multicast of purpose veneer is less than default second threshold value, FPGA can suspend to purpose veneer transmission multicast message, and at the free space of going into formation during less than preset first threshold value, the notification source veneer suspends and sends multicast message; The free space that receives formation when the clean culture of certain source veneer on the purpose veneer is during less than predetermined threshold value, and directly the notification source veneer suspends the transmission unicast message.As seen, by from the purpose veneer to FPGA again to the Flow Control of multicast step by step of source veneer and clean culture Flow Control from the purpose veneer to the source veneer, can realize that all there are the caused not packet loss of beating for the moment in the switching network in clean culture and multicast message more
Fig. 4 realizes system for the multicast based on the PCIe switching network that the embodiment of the invention provides, as shown in Figure 4, it mainly comprises: veneer 0~N-1 (N is the veneer sum), PCIe interchanger and FPGA, wherein, PCIe interchanger and FPGA are positioned on the network board, and the link between PCIe interchanger and the FPGA is the PCIe link.
As shown in Figure 5, in actual applications, veneer can be formed by going into formation state setting module 411, multicast transmission processing unit 412, multicast reception quene state maintenance module 413 and multicast reception processing unit 414, wherein:
Go into formation state setting module 411: the formation of going into that is used to FPGA to go up this veneer correspondence is provided with a Status Flag, and init state is masked as " sky ", and changes this Status Flag according to the write operation to this Status Flag of FPGA.
Multicast transmitting element 412: in the time will sending a multicast message, according to the memory base address of going into formation and the offset address of FPGA for the setting of this veneer, for multicast message to be sent adds PCIe packet header, the destination address in this packet header is a described address going into formation, and this destination address comprises purpose veneer information, and multicast message is put into the multicast transmit queue.In the time will sending multicast message,,, then take out multicast message and send to FPGA by the PCIe interchanger from the multicast transmit queue if Status Flag is " sky " to going into formation state setting module 411 query State signs; Otherwise, continue to going into formation state setting module 411 query State signs, when Status Flag is " sky ", takes out multicast message and send to FPGA by the PCIe interchanger from the multicast transmit queue.
Multicast receives quene state maintenance module 413: the free space that is used for receiving formation at the multicast of finding this veneer when becoming greater than default second threshold value less than default second threshold value, with FPGA upward the Status Flag of this veneer correspondence be changed to " expiring "; The free space that receives formation at the multicast of finding this veneer is changed to " sky " with the Status Flag of this veneer correspondence on the FPGA when becoming greater than default second threshold value less than default second threshold value.
Multicast receives processing unit 414: the multicast of finding this veneer receives in the formation the multicast message that newly writes, resolve this message, judge whether this message needs to mail to the outgoing interface of this veneer, if, count copy packet according to the outgoing interface that need mail to, duplicate and finish, each message is sent from each outgoing interface.
As shown in Figure 6, in actual applications, FPGA can receive processing unit 421, copied cells 422 by multicast, multicast sends processing unit 423 and flow-control administration unit 424 is formed, wherein:
Multicast receives processing unit 421: receive the multicast message that veneer is sent by the PCIe interchanger, resolve the destination address in PCIe packet header of this message, obtain source veneer number, the formation of going into multicast message is put into source veneer correspondence sends to copied cells 422 with the destination address in the PCIe packet header.
Copied cells 422: according to the destination address in the PCIe packet header, parse the memory address of multicast message in going into formation and each purpose veneer number, count copy packet according to the purpose veneer, duplicate and finish, the memory address of multicast message in going into formation put into the dequeue of each purpose veneer correspondence.
Multicast sends processing unit 423: when will be when a purpose veneer sends multicast message, Status Flag to flow-control administration unit 424 these purpose veneers of inquiry, if Status Flag is " sky ", then takes out message and send to the purpose veneer from the dequeue of this purpose veneer correspondence; Otherwise, continue Status Flag to flow-control administration unit 424 these purpose veneers of inquiry, be " sky " until Status Flag, from the dequeue of this purpose veneer correspondence, take out message again and send to the purpose veneer.
Flow-control administration unit 424: on this FPGA, a Status Flag is set respectively for the multicast on each veneer receives formation, each Status Flag of initialization is " sky ", and according to the Status Flag of PCIe write operation change veneer that is used to change Status Flag of veneer; When Status Flag when change of going into formation that detects a veneer correspondence, change Status Flag on this veneer by the PCIe write operation.
The above only is process of the present invention and method embodiment, in order to restriction the present invention, all any modifications of being made within the spirit and principles in the present invention, is not equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (14)

1, a kind of method of realizing group broadcasting based on high-speed peripheral extended interface PCIe switching network, it is characterized in that, on-site programmable gate array FPGA is set on network board, and the link between the PCIe interchanger on FPGA and the network board is the PCIe link, and method comprises:
The source veneer will send multicast message to the purpose veneer, purpose veneer sign information is put into multicast message, this multicast message is mail to FPGA, FPGA is according to the purpose veneer sign information reproduction message in the multicast message, duplicate and finish, each multicast message is mail to each purpose veneer.
2, the method for claim 1, it is characterized in that, described FPGA further comprises after each multicast message is mail to each purpose veneer: the purpose veneer is received multicast message, resolve this message, judge whether this message will mail to the outgoing interface of self, if count copy packet according to the outgoing interface that will mail to, duplicate and finish, each multicast message is sent from each outgoing interface.
3, method as claimed in claim 1 or 2 is characterized in that, goes into formation for each veneer is provided with one in advance on FPGA,
Described source veneer is put into purpose veneer sign information after the multicast message, further comprised before multicast message is mail to FPGA: the source veneer judges that whether the free space of going into formation of this source veneer correspondence on the FPGA is greater than preset first threshold value, if greater than, then carry out described action of multicast message being mail to FPGA; Otherwise, when waiting for that the free space of going into formation to source veneer correspondence is greater than preset first threshold value, carry out described action of multicast message being mail to FPGA again.
4, method as claimed in claim 3, it is characterized in that, a Status Flag is set on each veneer, whether the free space of going into formation that is used to indicate this veneer correspondence on the FPGA is greater than preset first threshold value, this Status Flag is initialized as " sky ", and, the free space of going into formation of finding a veneer correspondence as FPGA is when becoming less than preset first threshold value greater than preset first threshold value, Status Flag on this veneer is changed to " expiring ", the free space of going into formation of finding a veneer correspondence as FPGA is when becoming greater than preset first threshold value less than preset first threshold value, Status Flag on this veneer is changed to " sky "
Described source veneer judges that whether the free space of going into formation that FPGA goes up this source veneer correspondence greater than preset first threshold value is: the source veneer judges whether the Status Flag of self is " sky ", if the free space of going into formation of determining source veneer correspondence is greater than preset first threshold value.
5, as claim 3 or 4 described methods, it is characterized in that, describedly joining the team and classify as for each veneer is provided with one on the FPGA in advance: be that each veneer distributes the go into formation of a memory headroom as this veneer in advance on FPGA,
Described source veneer is put into multicast message with purpose veneer sign information and comprised: the source veneer adds a PCIe packet header at multicast message, destination address in the packet header is the memory address of going into formation that FPGA goes up this source veneer correspondence, and purpose veneer sign is set in destination address
Described source veneer with multicast message mail to after the FPGA, FPGA further comprises according to before the purpose veneer sign information reproduction message in the multicast message: the source veneer is resolved the purpose veneer sign in the destination address in PCIe packet header of this multicast message, obtain each purpose veneer sign, and obtain purpose veneer number.
6, method as claimed in claim 1 or 2 is characterized in that, a multicast is set on each veneer in advance receives formation,
Further comprise before mailing to each purpose veneer after the described FPGA copy packet, with each multicast message: FPGA judges that respectively whether the multicast of each purpose veneer receives the free space of formation greater than default second threshold value, if greater than, then carry out the described action that multicast message is sent to the purpose veneer; Otherwise, when waiting for the free space that receives formation to the multicast of purpose veneer, carry out the described action that multicast message is sent to the purpose veneer again greater than default second threshold value.
7, method as claimed in claim 6, it is characterized in that, on FPGA, a Status Flag is set in advance for each veneer, be respectively applied for the multicast that indicates on each veneer and whether receive the free space of formation greater than default second threshold value, this Status Flag is initialized as " sky ", and, when veneer finds that free space that the multicast of self receives formation is from becoming greater than default second threshold value when presetting second threshold value, the Status Flag of FPGA being gone up this veneer correspondence is changed to " expiring ", when veneer finds that free space that the multicast of self receives formation is from becoming less than default second threshold value when presetting second threshold value, the Status Flag of FPGA being gone up this veneer correspondence is changed to " sky "
Described FPGA judges that respectively whether the free space that the multicast of each purpose veneer receives formation greater than default second threshold value is: whether the Status Flag that FPGA is judged as each purpose veneer setting respectively is " sky ", if determine that the multicast of purpose veneer receives the free space of formation greater than default second threshold value.
8, a kind of multicast based on the PCIe switching network is realized system, it is characterized in that, comprising: veneer, PCIe interchanger, FPGA, wherein:
Veneer when will when the purpose veneer sends multicast message purpose veneer sign information being put into multicast message, mails to FPGA with this multicast message by the PCIe interchanger;
FPGA, the purpose veneer sign information reproduction message in the multicast message of sending according to veneer duplicates and finishes, and each multicast message is mail to each purpose veneer.
9, system as claimed in claim 8 is characterized in that, described veneer comprises:
Multicast sends processing unit, for multicast message to be sent adds PCIe packet header, comprises purpose veneer sign information in this packet header, and multicast message is put into the multicast transmit queue, takes out multicast message from the multicast transmit queue, sends to FPGA by the PCIe interchanger;
Multicast receives processing unit, and finding has the multicast message that newly writes in the multicast reception formation, resolves this message, judge whether this message needs to mail to the outgoing interface of this veneer, if count copy packet according to the outgoing interface that need mail to, duplicate and finish, each message is sent from each outgoing interface.
10, system as claimed in claim 9, it is characterized in that, described veneer further comprises: go into the formation state setting module, the formation of going into that is used to FPGA to go up this veneer correspondence is provided with a Status Flag, and init state is masked as " sky ", and change this Status Flag according to the write operation of FPGA to this Status Flag
And described multicast sends processing unit and is further used for, when will be when the multicast transmit queue takes out multicast message, to going into formation state setting module query State sign, if Status Flag be " sky ", then from multicast transmit queue taking-up multicast message; Otherwise, continue to going into formation state setting module query State sign, when Status Flag is " sky ", take out multicast message from the multicast transmit queue.
11, system as claimed in claim 9, it is characterized in that, described veneer further comprises: multicast receives the quene state maintenance module, be used for finding free space that multicast receives formation when becoming greater than default second threshold value, the Status Flag of this veneer correspondence on the FPGA is changed to " expiring " less than default second threshold value; Finding free space that multicast receives formation when becoming less than default second threshold value, the Status Flag of this veneer correspondence on the FPGA is being changed to " sky " greater than default second threshold value.
12, the FPGA in a kind of PCIe switching network is characterized in that, comprising:
Multicast receives processing unit, receive the multicast message that veneer is sent by the PCIe interchanger, resolve the destination address in PCIe packet header of this message, obtain the source single board information, the formation of going into multicast message is put into source veneer correspondence sends to copied cells with the destination address in the PCIe packet header;
Copied cells, according to the destination address in the PCIe packet header, parse the address of multicast message in going into formation and each purpose veneer sign, count copy packet according to the purpose veneer, duplicate and finish, the address of multicast message in going into formation put into the dequeue of each purpose veneer correspondence;
Multicast sends processing unit, takes out multicast message from the dequeue of purpose veneer, and message is mail to each purpose veneer.
13, FPGA as claimed in claim 12, it is characterized in that, described FPGA further comprises: the flow-control administration unit, on this FPGA, a Status Flag is set respectively for the multicast on each veneer receives formation, each Status Flag of initialization is " sky ", and according to the Status Flag of the write operation change veneer of the change Status Flag of veneer
Described multicast transmitting element is further used for, and in the time will getting message from the dequeue of purpose veneer correspondence, inquires about the Status Flag of this purpose veneer to the flow-control administration unit, if Status Flag be " sky ", then from dequeue taking-up message; Otherwise, continue to inquire about the Status Flag of this purpose veneer to the flow-control administration unit, be " sky " until Status Flag, from dequeue, take out message again.
14, FPGA as claimed in claim 12 is characterized in that, described flow-control administration unit is further used for, and detects the Status Flag change of going into formation of a veneer correspondence, changes Status Flag on this veneer by write operation.
CN2008101140827A 2008-05-30 2008-05-30 Multicast implementing method and system based on switching network of high-speed peripheral extended interface Active CN101286866B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101140827A CN101286866B (en) 2008-05-30 2008-05-30 Multicast implementing method and system based on switching network of high-speed peripheral extended interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101140827A CN101286866B (en) 2008-05-30 2008-05-30 Multicast implementing method and system based on switching network of high-speed peripheral extended interface

Publications (2)

Publication Number Publication Date
CN101286866A true CN101286866A (en) 2008-10-15
CN101286866B CN101286866B (en) 2010-12-15

Family

ID=40058848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101140827A Active CN101286866B (en) 2008-05-30 2008-05-30 Multicast implementing method and system based on switching network of high-speed peripheral extended interface

Country Status (1)

Country Link
CN (1) CN101286866B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299857A (en) * 2011-09-15 2011-12-28 福建星网锐捷网络有限公司 Multicast message processing method, line card and communication equipment
CN102347890A (en) * 2010-08-04 2012-02-08 杭州华三通信技术有限公司 Processing method and device of multicast message
CN103546386A (en) * 2013-10-24 2014-01-29 迈普通信技术股份有限公司 Method and system for flow control over data message sent by router
CN104009876A (en) * 2014-06-17 2014-08-27 成都广达电子股份有限公司 OAM client-side batch upgrading method
CN104660521A (en) * 2013-11-20 2015-05-27 华为技术有限公司 Method and device for controlling multicast traffic
CN106453137A (en) * 2016-09-20 2017-02-22 北京航空航天大学 Dynamic multicast enqueue algorithm for relieving HOL Blocking
CN113676421A (en) * 2021-10-25 2021-11-19 之江实验室 Multi-port network message receiving and transmitting method based on PCIe

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102347890A (en) * 2010-08-04 2012-02-08 杭州华三通信技术有限公司 Processing method and device of multicast message
CN102347890B (en) * 2010-08-04 2014-03-26 杭州华三通信技术有限公司 Processing method and device of multicast message
CN102299857A (en) * 2011-09-15 2011-12-28 福建星网锐捷网络有限公司 Multicast message processing method, line card and communication equipment
CN102299857B (en) * 2011-09-15 2014-10-29 福建星网锐捷网络有限公司 Multicast message processing method, line card and communication equipment
CN103546386A (en) * 2013-10-24 2014-01-29 迈普通信技术股份有限公司 Method and system for flow control over data message sent by router
CN104660521A (en) * 2013-11-20 2015-05-27 华为技术有限公司 Method and device for controlling multicast traffic
CN104660521B (en) * 2013-11-20 2019-03-05 华为技术有限公司 A kind of method and apparatus of flux of multicast control
CN104009876A (en) * 2014-06-17 2014-08-27 成都广达电子股份有限公司 OAM client-side batch upgrading method
CN106453137A (en) * 2016-09-20 2017-02-22 北京航空航天大学 Dynamic multicast enqueue algorithm for relieving HOL Blocking
CN106453137B (en) * 2016-09-20 2019-04-05 北京航空航天大学 It is a kind of to be joined the team method using alleviating HOL Blocking as the dynamic multicast of target
CN113676421A (en) * 2021-10-25 2021-11-19 之江实验室 Multi-port network message receiving and transmitting method based on PCIe

Also Published As

Publication number Publication date
CN101286866B (en) 2010-12-15

Similar Documents

Publication Publication Date Title
CN101286866B (en) Multicast implementing method and system based on switching network of high-speed peripheral extended interface
CN100442776C (en) Method for realizing multicast translation in three-layer switching unit
US6654371B1 (en) Method and apparatus for forwarding multicast data by relaying IGMP group membership
EP2356775B1 (en) Central controller for coordinating multicast message transmissions in distributed virtual network switch environment
CN100433730C (en) Method and system of multicast and video-on-demand
US8010696B2 (en) Passing information from a forwarding plane to a control plane
US20050195817A1 (en) Switching device and multicast packet processing method therefor
CN100531038C (en) System and method for implementing communication between distributed system boards
CN100396058C (en) IP group broadcasting method for supporting different service quality in specification service network domain
CN1988507B (en) Method, system and router for repeating multicast data
CN100550849C (en) Grouping transmission control method and system
CN1946040A (en) Protective method and device for multicast service
CN100479433C (en) Base station in wide-band wireless access-in system and method for realizing multi-cast business
CN101123526B (en) An implementation method for large-scale stream media transmission structure
CN101094510B (en) Device and method for distributing seeking request to mobile communication system
CN101175068B (en) Multi-version multicast protocol amalgamation method
CN101009669B (en) A method and system and route device for transmitting the multicast message
CN100499583C (en) Method for realizing simplified IGMP multicast surrogate
CN102185776A (en) Method for rapid convergence of layer 2 multicast of Ethernet and Ethernet system
JP2002507857A (en) Method, apparatus and medium for minimal time multicast graft join restoration
CN101247541B (en) Method for implementing multimedia multicast service of mobile communications network
CN108111323B (en) Realization system of igmpsnooping protocol under vxworks system
CN109787903B (en) Non-collision multicast data feedback method in centralized network
CN102934394B (en) Method and apparatus for particular source transcoding multicast
CN100421410C (en) Method for realizing mobile communication network multimedia enhancement service

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
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address