US 9,813,362 B2
Framework for scheduling packets with multiple destinations in a virtual output queue network switch
Arvind Srinivasan, San Jose, CA (US); and Shimon Muller, Sunnyvale, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood City, CA (US)
Filed on Dec. 16, 2014, as Appl. No. 14/572,428.
Prior Publication US 2016/0173365 A1, Jun. 16, 2016
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 12/879 (2013.01); H04L 12/931 (2013.01); H04L 12/935 (2013.01)
CPC H04L 49/901 (2013.01) [H04L 49/201 (2013.01); H04L 49/3018 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method for communicating a multi-destination packet through a network switch fabric with a plurality of input and output ports, comprising: receiving the multi-destination packet at an input port of the network switch fabric, wherein the multi-destination packet includes a multicast packet or a broadcast packet that is directed to multiple output ports, and wherein the network switch fabric has a virtual output queue (VOQ) architecture, wherein each input port maintains a separate VOQ for each output port; and sending the multi-destination packet from the input port to the multiple output ports by inserting the multi-destination packet into VOQs associated with the multiple output ports, wherein the multi-destination packet is inserted into the VOQs based on an ordering of the VOQs that is specified by a port order list maintained in the input port, wherein the multi-destination packet includes a portlist comprising a bit vector having a bit for each output port, wherein a bit that is set in the portlist indicates that the multi-destination packet still needs to be inserted into a VOQ for an output port; wherein while inserting the multi-destination packet in each of the VOQs, if a VOQ contains an end of a last complete packet received by the VOQ, the method comprises inserting the multi-destination packet into the VOQ at the end of the last complete packet.