This application is a non-provisional application of Ser. No. 61/732,903, titled “Multicast Spray Over LAG,” filed Dec. 3, 2012, which is incorporated herein by reference.
The invention relates to network devices, and more particularly to multicasting of packets.
Link Aggregation Protocol (LAG) is a mechanism used to combine multiple links and treat them as single link for layer 2 purposes. This is covered by IEEE 802.3ad and IEEE 802.1AX-2008.
A multicast packet is a multi-destination packet, as opposed to unicast packets which are intended for a single destination.
Referring to
Referring to
Embodiments according to the present invention use a hash operation based on selected information in the packet to select one of a set of enable vectors. The selected enable vector is then effectively ANDed with the link expansion vector to select the actual links to be used. The enable vectors vary by selecting a different link in the LAG port for each enable vector. Thus, the hash operation is used to change the link of the LAG port that is utilized to transmit a multicast packet.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of apparatus and methods consistent with the present invention and, together with the detailed description, serve to explain advantages and principles consistent with the invention.
Embodiments according to the present invention provide more efficient LAG port bandwidth usage by spraying multicast packets over the LAG port through hashing the flow information of the packets. This technique creates a single copy of the packet on the LAG port. Thus, packets belonging to the same flow are always sent on the same link in the LAG port to avoid out of order problems.
Referring to
In contrast to the prior art link bitmap 104 where only one of the links of the LAG port was enabled, in the link bitmap 308 bits for all of the corresponding links belonging to a LAG port are enabled. Each enable vector 306 has exactly the same number of bits as the link bitmap 308, but the bits are constructed differently. For non-LAG port links, the corresponding bit in the enable vector 308 should be a one (1) or enabled. For LAG port links, only one link should be enabled per enable vector entry in the hash spray table 304.
To create a copy of the packet on a link, corresponding bits in the link bitmap 308 and the enable vector 306 must be one (1), thus performing a logical AND operation. To achieve this, a combining logic 320 is used. The combining logic performs a logical AND between the link bitmap 308 and the enable vector 306.
While the enable vectors have been shown as including bits for all links, in an alternate embodiment of the present invention, the enable vectors only contain bits relating to the links in the LAG port and only those bits are combined with the link bitmap.
The above description is intended to be illustrative, and not restrictive. For example, the above-described embodiments may be used in combination with each other. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.”
Number | Name | Date | Kind |
---|---|---|---|
20120033668 | Humphries | Feb 2012 | A1 |
Number | Date | Country | |
---|---|---|---|
20140153570 A1 | Jun 2014 | US |
Number | Date | Country | |
---|---|---|---|
61732903 | Dec 2012 | US |