IP Library Granted Patent US 9,774,543
Granted Patent B2
US 9,774,543 · App. 15/227,789 · Granted Sep 26, 2017

MAC address synchronization in a fabric switch

Inventor: Vardarajan Venkatesh (Santa Clara, CA)
Assignee: BROCADE COMMUNICATIONS SYSTEMS, INC.
H04L49/10H04L7/0037H04L7/0041H04L7/0337
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,774,543
App. No.
15/227,789
Granted
Sep 26, 2017
Kind
B2
Abstract

One embodiment of the present invention provides a system for facilitating synchronization of MAC addresses in a fabric switch. During operation, the system divides a number of media access control (MAC) addresses associated with devices coupled to an interface of the switch. The system then computes a checksum for a respective chunk of MAC addresses. In addition, the system broadcasts MAC address information of the chunk to facilitate MAC address synchronization in a fabric switch of which the switch is a member, and to manage the chunks and their corresponding checksum, thereby correcting an unsynchronized or race condition in the fabric switch.

Claims (56)

1. A switch, comprising:

chunking circuitry configured to maintain a local copy of a chunk comprising a plurality of media access control (MAC) addresses, wherein a respective MAC address in the local copy of the chunk is associated with an indicator indicating that the MAC address is learned at a remote switch, and wherein the switch and the remote switch are members of a network of interconnected switches;

MAC synchronization circuitry configured to:

obtain, from a message from the remote switch, a copy of the chunk and validation information associated with the chunk; and

determine whether to update the local copy of the chunk based on the validation information from the message.

2. The switch of claim 1 , wherein the plurality of media access control (MAC) addresses are associated with devices coupled to a virtual link aggregation group (VLAG), wherein the VLAG includes a plurality of links operating as a single logical link.

3. The switch of claim 1 , wherein the MAC synchronization circuitry is further configured to store a checksum with the local copy of the chunk.

4. The switch of claim 3 , wherein the MAC synchronization circuitry determines whether to update the local copy of the chunk by:

obtaining a checksum from the validation information; and

determining whether the obtained checksum is different than the stored checksum.

5. The switch of claim 4 , wherein the MAC synchronization circuitry is further configured to:

in response to determining that the obtained checksum is different than the stored checksum, construct a response message for the remote switch, wherein the response message indicates the difference;

determine, based on a confirmation message from the remote switch, that the difference is not a race condition; and

update the local copy of the chunk with the obtained copy of the chunk.

6. The switch of claim 1 , wherein updating the local copy of the chunk includes one or more of:

adding entries associated with a difference between the local copy of the chunk and the obtained copy of the chunk;

deleting entries associated with the difference between the local copy of the chunk and the obtained copy of the chunk; and

performing no operation for entries common to the local copy of the chunk and the obtained copy of the chunk.

7. The switch of claim 1 , wherein the message further comprises a chunk identifier, which identifies the chunk.

8. A method, comprising:

maintaining, by a switch, a local copy of a chunk comprising a plurality of media access control (MAC) addresses, wherein a respective MAC address of the chunk is associated with an indicator indicating that the MAC address is learned at a remote switch, and wherein the switch and the remote switch are members of a network of interconnected switches;

obtaining, from a message from the remote switch, a copy of the chunk and validation information associated with the chunk; and

determining whether to update the local copy of the chunk based on the validation information from the message.

9. The method of claim 8 , wherein the plurality of media access control (MAC) addresses are associated with devices coupled to a virtual link aggregation group (VLAG), wherein the VLAG includes a plurality of links operating as a single logical link.

10. The method of claim 8 , further comprising storing a checksum with the local copy of the chunk.

11. The method of claim 10 , wherein determining whether to update the local copy of the chunk comprises:

obtaining a checksum from the validation information; and

determining whether the obtained checksum is different than the stored checksum.

12. The method of claim 11 , further comprising:

in response to determining that the obtained checksum is different than the stored checksum, construct a response message for the remote switch, wherein the response message indicates the difference;

determine, based on a confirmation message from the remote switch, that the difference is not a race condition; and

update the local copy of the chunk with the obtained copy of the chunk.

13. The method of claim 10 , wherein updating the local copy of the chunk includes one or more of:

adding entries associated with a difference between the local copy of the chunk and the obtained copy of the chunk;

deleting entries associated with the difference between the local copy of the chunk and the obtained copy of the chunk; and

performing no operation for entries common to the local copy of the chunk and the obtained copy of the chunk.

14. The method of claim 8 , wherein the message further comprises a chunk identifier, which identifies the chunk.

15. A computing system, comprising:

a processor; and

a storage device storing instructions which when executed by the processor cause the processor to perform a method, the method comprising:

maintaining, by a switch, a local copy of a chunk comprising a plurality of media access control (MAC) addresses, wherein a respective MAC address of in the local copy the chunk is associated with an indicator indicating that the MAC address is learned at a remote switch, and wherein the switch and the remote switch are members of a network of interconnected switches;

obtaining, from a message from the remote switch, a copy of the chunk and validation information associated with the chunk; and

determining whether to update the local copy of the chunk based on the validation information from the message.

16. The computing system of claim 15 , wherein the method further comprises storing a checksum with the local copy of the chunk.

17. The computing system of claim 16 , wherein determining whether to update the local copy of the chunk comprises:

obtaining a checksum from the validation information; and

determining whether the obtained checksum is different than the stored checksum.

18. The computing system of claim 17 , wherein the method further comprises:

in response to determining that the obtained checksum is different than the stored checksum, construct a response message for the remote switch, wherein the response message indicates the difference;

determine, based on a confirmation message from the remote switch, that the difference is not a race condition; and

update the local copy of the chunk with the obtained copy of the chunk.

19. The computing system of claim 15 , wherein updating the local copy of the chunk includes one or more of:

adding entries associated with a difference between the local copy of the chunk and the obtained copy of the chunk;

deleting entries associated with the difference between the local copy of the chunk and the obtained copy of the chunk; and

performing no operation for entries common to the local copy of the chunk and the obtained copy of the chunk.

20. The computing system of claim 15 , wherein the message further comprises a chunk identifier, which identifies the chunk.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
Continuity (3)
Continuation 14154106 · Jan 13, 2014
Provisional Application 61751803 · Jan 11, 2013
Related Publication 20160344658A1 · Nov 24, 2016