IP Library Granted Patent US 8,873,554
Granted Patent B2
US 8,873,554 · App. 13/692,701 · Granted Oct 28, 2014

Data structure-less distributed fabric multicast

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,873,554
App. No.
13/692,701
Granted
Oct 28, 2014
Kind
B2
Abstract

A network device receives a packet with a multicast nexthop identifier, and creates a mask that includes addresses of egress packet forwarding engines, of the network device, to which to provide the packet. The network device divides the mask into two portions, generates two copies of the packet, provides a first portion of the mask in a first copy of the packet, and provides a second portion of the mask in a second copy of the packet. The network device also forwards the first copy of the packet to an address of a first egress packet forwarding engine provided in the first portion of the mask, and forwards the second copy of the packet to an address of a second egress packet forwarding engine provided in the second portion of the mask.

Claims (72)

1. A method comprising:

identifying, by a particular component of a network device, a packet;

determining, by the particular component of the network device, that a mask, associated with the packet, can be divided based on the mask including more than one index;

dividing, by the particular component of the network device, the mask into a first portion of the mask and a second portion of the mask after determining that the mask can be divided;

providing, by the particular component of the network device, a first copy of the packet with the first portion of the mask; and

providing, by the particular component of the network device, a second copy of the packet with the second portion of the mask.

2. The method of claim 1 , further comprising:

creating the mask based on addresses of other components that are to be reached based on the packet.

3. The method of claim 1 ,

where the mask identifies other components, of the network device, that are to be reached based on the packet, and

where the method further comprises:

forwarding the first copy of the packet to an address of a particular component, of the other components, that is identified in the first portion of the mask.

4. The method of claim 1 , further comprising:

selecting an index from the first portion of the mask;

removing the index from the first portion of the mask to create a new mask; and

forwarding, to another component associated with the index, the first copy of the packet with the new mask.

5. The method of claim 1 , further comprising:

identifying another packet;

determining that another mask, associated with the other packet, cannot be divided; and

providing, after determining that the other mask cannot be divided, the other packet to a different component associated with a single index included in the other mask.

6. The method of claim 5 , further comprising:

removing the other mask from the other packet before providing the other packet to the different component.

7. The method of claim 1 , further comprising:

generating, based on the packet, the first copy of the packet and the second copy of the packet.

8. The method of claim 1 ,

where the particular component includes an ingress component of the network device,

where the mask identifies other components, of the network device, that are to be reached based on the packet, and

where the other components include two or more egress components of the network device.

9. A non-transitory computer readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by at least one processor of a network device, cause the at least one processor to:

identify a packet,

determine that a mask, associated with the packet, can be divided based on the mask including more than one index,

divide, after determining that the mask can be divided, the mask into a first portion of the mask and a second portion of the mask,

provide a first copy of the packet with the first portion of the mask, and provide a second copy of the packet with the second portion of the mask.

10. The non-transitory computer readable medium of claim 9 ,

where the mask identifies components, of the network device, that are to be reached based on the packet, and

where the instructions further comprise:

one or more instructions that, when executed by the at least one processor, cause the at least one processor to:

create the mask based on addresses of the components.

11. The non-transitory computer readable medium of claim 9 ,

where the mask identifies components, of the network device, that are to be reached based on the packet, and

where the instructions further comprise:

one or more instructions that, when executed by the at least one processor, cause the at least one processor to:

forward the first copy of the packet to a first address of a first component, of the components, that is identified in the first portion of the mask, and

forward the second copy of the packet to a second address of a second component, of the components, that is identified in the second portion of the mask.

12. The non-transitory computer readable medium of claim 9 , the instructions further comprising:

one or more instructions that, when executed by the at least one processor, cause the at least one processor to:

select an index from the first portion of the mask,

remove the index from the first portion of the mask to create a new mask, and forward the first copy of the packet with the new mask.

13. The non-transitory computer readable medium of claim 9 , the instructions further comprising:

one or more instructions that, when executed by the at least one processor, cause the at least one processor to:

select an address from the first portion of the mask, and

forward the first copy of the packet to the address.

14. A device comprising:

one or more processors to:

determine that a mask, associated with a packet, includes multiple indices;

determine that the mask can be divided based on the mask including the multiple indices,

divide the mask into a first portion of the mask and a second portion of the mask after determining that the mask can be divided,

provide a first copy of the packet with the first portion of the mask, and provide a second copy of the packet with the second portion of the mask.

15. The device of claim 14 , where the one or more processors are further to:

determine that another mask, associated with another packet, cannot be divided, and

provide, after determining that the other mask cannot be divided, the other packet to a particular component associated with a single index included in the other mask.

16. The device of claim 15 , where the one or more processors are further to:

remove the other mask from the other packet before providing the other packet to the particular component.

17. The device of claim 14 ,

where the mask identifies two or more components, of the device, that are to be reached based on the packet, and

where the multiple indices that correspond to the two or more components.

18. The device of claim 14 , where the one or more processors are further to:

create the mask based on information associated with two or more components that are to be reached based on the packet.

19. The device of claim 14 , where the one or more processors are further to:

select an address from the first portion of the mask, and

forward the first copy of the packet to the address.

Assignments (1)
NUNC PRO TUNC ASSIGNMENT Recorded May 6, 2026
From: JUNIPER NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 075513/0034 →