Patent ID: 9083607
Filing Date: 2015-07-14
Classification: H04L,Y02D

Abstract:
1. A method for processing data cells, comprising: configuring a unicast routing table and a multicast routing table, wherein, the unicast routing table includes a corresponding relation between unicast destination addresses and port trunking groups (Trunks), and the multicast routing table includes a corresponding relation between multicast group addresses and Trunks; receiving data cells; determining a corresponding Trunk according to a type of the data cell, if the data cell is a unicast cell, extracting a destination address of the unicast cell, querying the unicast routing table, and obtaining a Trunk corresponding to the unicast cell; and if the data cell is a multicast cell, extracting a multicast group address of the multicast cell, querying the multicast routing table, and obtaining one or more Trunks corresponding to the multicast cell; and selecting an output link from each determined Trunk according to a preset load balancing policy, and sending the data cells through the selected output link; wherein, selecting an output link from each corresponding Trunks according to a preset load balancing policy comprises: (a) determining alternative ports from links to be selected according to the selection mask register, if an alternative port is unique, selecting the alternative port as a final output port; if there exist more than one alternative ports, executing step (b); and if there exists no alternative port, executing step (c); (b) selecting the output port from the alternative ports according to the depth of the virtual output queue, if a port with a minimum depth is unique, selecting an alternative port with the minimum depth as a final output port, and if the port with the minimum depth is not unique, randomly selecting one of the alternative ports with the minimum depth as the final output port; (c) selecting output ports from the links to be selected according to the depth of the virtual output queue, if a port with a minimum depth is unique, selecting the port with the minimum depth as a final output port, and if the port with the minimum depth is not unique, randomly selecting one of the ports with the minimum depth as the final output port; (d) flipping a mask corresponding to the final output port, and ending the flow.