# US 2014/0153570 A1 · Multicast spray over lag

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0153570 A1
- Document ID: US20140153570A1
- Status: Published application
- Kind: A1
- Application number: 13/789,906
- Filed: 2013-03-08
- Published: 2014-06-05
- Earliest claimed: 2012-12-03
- Assignees: Brocade Communications Systems, Inc.
- Inventors: Venkata Pramod Balakavi; Vipin Agrawal; Kung-Ling Ko; John Terry
- Web page: https://patentgrep.com/patent/US20140153570A1

## CPC

- H04L 45/7453: using hashing
- H04L 45/245: {Link aggregation, e.g. trunking}
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Use of 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 is used to vary the link of the LAG port used to transmit the packet for that multicast packet.

## Claims

### Claim 1

A network device comprising:
an input port for receiving multicast packets;
a plurality of output ports, a first number of said plurality of output ports configured to form a link aggregation protocol (LAG) port;
multicast spraying logic coupled to said input port and said plurality of output ports including said LAG port, said multicast spraying logic including:
a lookup engine coupled to said input port which examines the received multicast packet and develops a multicast group ID of the multicast packet;
a link expansion vector table coupled to said lookup engine and including a plurality of link bitmaps, the link bitmap indicating which of the plurality of output ports the packet is to be provided to, said link expansion table selecting one of the plurality of link bitmaps for each received multicast packet according to the received multicast group ID value;
a hash engine coupled to said input port which examines the received multicast packet and develops a hash from the received multicast packet;
a hash spray table coupled to said hash engine and containing a plurality of enable vectors, the enable vectors enabling a variety of output ports in the LAG port, said hash spray table selecting an enable vector according to the applied hash value; and
combining logic coupled to said link expansion vector table and said hash spray table to form a logical AND of said selected link bitmap and selected enable vector for at least the output ports of the LAG port, the output of said combining logic indicating which of the output ports of the LAG port is to be used for that packet.

### Claim 2 (depends on 1)

The network device of claim 1, wherein the number of hash values is a multiple of the number of output ports in the LAG port.

### Claim 3 (depends on 1)

The network device of claim 1, wherein said hash spray table includes an enable vector for each hash value.

### Claim 4 (depends on 3)

The network device of claim 3, wherein at least two of the enable vectors enable the same output port in the LAG port.

### Claim 5 (depends on 1)

The network device of claim 1, wherein the enable vectors form a set to evenly spray packets over the output ports of the LAG port.

### Claim 6 (depends on 1)

The network device of claim 1, wherein said multicast spraying logic is configured to expand the received multicast packet to a plurality of packets provided over selected of said plurality of output ports including said LAG port.

### Claim 7 (depends on 1)

The network device of claim 1, wherein the hash has at least the number of values as the number of output ports in the LAG port.

### Claim 8 (depends on 1)

The network device of claim 1, wherein the link expansion vector table includes one link bitmap each multicast group ID.

### Claim 9 (depends on 1)

The network device of claim 1, wherein if the LAG port is to be included in the selected output ports the packet should be provided to, the link bitmap indicates that the packet is to be provided to all of the output ports in the LAG port.

### Claim 10

A method comprising:
receiving a multicast packet;
developing a link bitmap indicating which of a series of output ports the multicast packet should be provided to, said link bitmap indicating each of the output ports in a link aggregation protocol (LAG) port;
developing a hash value for the multicast packet;
utilizing said hash value to select one of a set of enable vectors, the set of enable vectors evenly spraying packets over the output ports of the LAG port; and
combining said link bitmap and said selected enable vector to indicate which of the output ports of the LAG port to use for the packet.

### Claim 11 (depends on 10)

The method of claim 10, wherein the number of hash values is a multiple of the number of output ports in the LAG port.

### Claim 12 (depends on 10)

The method of claim 10, wherein there is one enable vector for each hash value.

### Claim 13 (depends on 12)

The method device of claim 12, wherein at least two of the enable vectors enable the same output port in the LAG port.

### Claim 14 (depends on 10)

The method device of claim 10, wherein the hash has at least the number of values as the number of output ports in the LAG port.

### Claim 15 (depends on 10)

The method device of claim 10, further comprising examining the received multicast packet and developing a multicast group ID for the multicast packet.

### Claim 16 (depends on 10)

The method device of claim 10, wherein one link bitmap is developed for each multicast group ID.

### Claim 17 (depends on 10)

The method device of claim 10, wherein combining said link bitmap and said selected enable vector comprises forming a logical AND of said link bitmap and said enable vector for at least the output ports of the LAG port.

### Claim 18 (depends on 17)

The method device of claim 17, wherein the output of said logical AND indicates which of the output ports of the LAG port is to be used for that packet.

### Claim 19 (depends on 10)

The method device of claim 10, further comprising expanding a received multicast packet to a plurality of packets.

### Claim 20 (depends on 10)

The method device of claim 10, wherein the plurality of packets are provided to selected of said output ports including said LAG port.
