IP Library › Granted Patent US 9,077,562
Granted Patent B2
US 9,077,562 · App. 13/492,383 · Granted Jul 7, 2015

System and method for layer-2 multicast multipathing

Inventors: Santosh Rajagopalan (San Jose, CA); Sanjay Sane (Fremont, CA); Leonard T. Tracy (Vancouver, WA); Ayan Banerjee (Fremont, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L12/4641H04L45/7453H04L45/02H04L45/16
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 9,077,562
App. No.
13/492,383
Granted
Jul 7, 2015
Kind
B2
Abstract

An example method is provided and includes a multicast data message from a data source, the message in a first virtual local area network and being associated with a multicast group. The method also includes calculating a hash value based on the virtual local area network, the data source, and the multicast group, determining a port for a designated router in a Layer-2 network based on the hash value, and switching the multicast data message to the port that was determined.

Claims (66)

1. A method, comprising:

receiving a multicast data message from a data source, the message being in a first virtual local area network and being associated with a multicast group;

calculating a hash value based on the virtual local area network, the data source, and the multicast group, wherein the hash value designates a unique combination of a forwarding tree on which the multicast data message is to be forwarded and a router of the forwarding tree;

determining a port for the router designated by the hash value in a Layer-2 network;

switching the multicast data message to the port that was determined; and

forwarding the multicast data message on the designated forwarding tree.

2. The method of claim 1 , further comprising:

determining a port for a data receiver designated by the hash value in the Layer-2 network; and

switching the multicast data message to the port that was determined.

3. The method of claim 1 , further comprising:

determining whether a designated router has been removed from the Layer-2 network; and

adjusting a port identifier for a multicast group assigned to the designated router to identify ports for other designated routers in the Layer-2 network.

4. The method of claim 3 , further comprising:

selecting one of the other designated routers to be the designated router for the multicast group assigned to the removed router; and

adjusting the port identifier for the multicast group assigned to the removed router to point to a port for the selected one of the other designated routers.

5. The method of claim 1 , further comprising:

identifying an added designated router that has been added to the Layer-2 network;

identifying a particular multicast group to assign to the added designated router; and

adjusting a port identifier for the particular multicast group to point to a port for the added designated router.

6. A network node, comprising:

a memory element configured for storing instructions; and

a processor coupled to the memory element and configured to execute the instructions such that the network node is configured to:

determine whether a multicast data message from a data source has been received, the message being in a first virtual local area network and being associated with a multicast group;

calculate a hash value based on the virtual local area network, the data source, and the multicast group, wherein the hash value designates a unique combination of a forwarding tree on which the multicast data message is to be forwarded and a router of the forwarding tree;

determine a port for the router designated by the hash value in a Layer-2 network;

switch the multicast data message to the port that was determined; and

forward the multicast data message on the designated forwarding tree.

7. The network node of claim 6 , wherein the network node is further configured to:

determine a port for a data receiver designated by the hash value in a Layer-2 network; and

switch the multicast data message to the port that was determined.

8. The network node of claim 6 , wherein the network node is further configured to:

determine whether a designated router has been removed from the Layer-2 network; and

adjust a port identifier for a multicast group assigned to the designated router to identify ports for other designated routers in the Layer-2 network.

9. The network node of claim 8 , wherein the network node is further configured to:

select one of the other designated routers to be the designated router for the multicast group assigned to the removed router; and

adjust the port identifier for the multicast group assigned to the removed router to point to a port for the selected one of the other designated routers.

10. The network node of claim 6 , wherein the network node is further configured to:

identifying an added designated router that has been added to the Layer-2 network;

identify a particular multicast group to assign to the added designated router; and

adjust a port identifier for the particular multicast group to point to a port for the added designated router.

11. The network node of claim 6 , wherein the network node is further configured to:

construct an outgoing interface (OIF) list to be referenced by a particular hash value.

12. The network node of claim 11 , wherein the OIF list is constructed based on group join requests from a plurality of data sources.

13. Logic encoded on one or more non-transitory tangible computer readable media for execution and when executed operable to:

receive a multicast data message from a data source, the message being in a first virtual local area network and being associated with a multicast group;

calculate a hash value based on the virtual local area network, the data source, and the multicast group, wherein the hash value designates a unique combination of a forwarding tree on which the multicast data message is to be forwarded and a router of the forwarding tree;

determine a port for the router designated by the hash value in a Layer-2 network;

switch the multicast data message to the port that was determined; and

forward the multicast data message on the designated forwarding tree.

14. The logic of claim 13 , wherein the logic is further operable to:

determine a port for a data receiver designated by the hash value in a Layer-2 network; and

switch the multicast data message to the port that was determined.

15. The logic of claim 13 , wherein the logic is further operable to:

determine whether a designated router has been removed from the Layer-2 network; and

switch a port identifier for a multicast group assigned to the designated router to identify ports for other designated routers in the Layer-2 network.

16. The logic of claim 15 , wherein the logic is further operable to:

select one of the other designated routers to be the designated router for the multicast group assigned to the removed router; and

adjust the port identifier for the multicast group assigned to the removed router to point to a port for the selected one of the other designated routers.

17. The logic of claim 13 , wherein the logic is further operable to:

identify an added designated router that has been added to the Layer-2 network;

identify a particular multicast group to assign to the added designated router; and

adjust a port identifier for the particular identified multicast group to point to a port for the added designated router.

18. The logic of claim 13 , wherein the logic is further operable to:

construct a designated router list, which identifies available designated routers in the Layer-2 network, wherein the router list is constructed based on registration messages received from a plurality of network nodes of the Layer-2 network.

19. The logic of claim 13 , wherein the logic is further operable to:

construct an outgoing interface (OIF) list to be referenced by a particular hash value, wherein the OIF list is constructed based on group join requests from a plurality of data sources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2012
From: RAJAGOPALAN, SANTOSH; SANE, SANJAY; TRACY, LEONARD T.; BANERJEE, AYAN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 028346/0522 →
Continuity (1)
Related Publication 20130329727A1 · Dec 12, 2013