IP Library › Granted Patent US 9,912,612
Granted Patent B2
US 9,912,612 · App. 14/488,173 · Granted Mar 6, 2018

Extended ethernet fabric switches

Inventors: Amr Sabaa (Sunnyvale, CA); Muhammad Durrani (Sunnyvale, CA); Mukhtiar Shaikh (San Jose, CA); Prasad P. Jogalekar (San Jose, CA); Jayanthi Jayaraman (San Jose, CA); Arunkaruppaiya Adaikalam (Milpitas, CA)
Assignee: BROCADE COMMUNICATIONS SYSTEMS LLC
H04L49/15H04L12/4633H04L41/12H04L45/02H04L45/66H04L45/68H04L2212/00
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,912,612
App. No.
14/488,173
Granted
Mar 6, 2018
Kind
B2
Abstract

One embodiment of the present invention provides a switch. The switch includes a fabric switch module and a learning module. The fabric switch module maintains a membership in a first fabric switch. A fabric switch includes a plurality of switches and operates as a single switch. The first fabric switch is in an extended fabric switch which further comprises a second fabric switch. The learning module identifies from a notification message from the second fabric switch a media access control (MAC) address learned at the second fabric switch. The learning module stores the MAC address in a local MAC table in association with an Internet Protocol (IP) address of the second fabric switch.

Claims (74)

1. A switch, comprising:

a processor;

fabric switch circuitry configured to maintain a membership in a first network of interconnected switches, wherein the first network of interconnected switches is identified by a first fabric identifier; and

discovery circuitry configured to, in response to identifying an Internet Protocol (IP) address as a source address in a multicast discovery message, include the IP address in a neighbor list, wherein the neighbor list indicates that the IP address is associated with a second network of interconnected switches;

learning circuitry configured to:

identify, from a payload of a notification message from the second network of interconnected switches, a media access control (MAC) address learned at a second switch in the second network of interconnected switches, wherein a header of the notification message includes, the IP address as a source address, an Internet Protocol (IP) address indicating the second network of interconnected switches; and

store a mapping relationship between the identified MAC address and the IP address in a local data structure; and

forwarding circuitry configured to encapsulate a packet comprising the MAC address with a tunnel encapsulation header, wherein the tunnel encapsulation header includes the IP address as a destination IP address.

2. The switch of claim 1 , wherein the IP address is a virtual IP address assigned to a plurality of member switches of the second network of interconnected switches.

3. The switch of claim 1 , further comprising discovery circuitry configured to:

identify a discovery message with the IP address as a source IP address, wherein the discovery message is a multicast message; and

in response to identifying the discovery message, include the IP address in a neighbor list, wherein the neighbor list includes a respective IP address associated with indicating the first and or the second networks network of interconnected switches.

4. The switch of claim 1 , wherein the forwarding circuitry is further configured to:

identify the MAC address as a destination MAC address of the packet.

5. The switch of claim 4 , wherein a source MAC address of the packet is associated with a first virtual machine running on a host machine reachable via the first network of interconnected switches;

wherein the destination MAC address of the packet is associated with a second virtual machine running on a host machine reachable via the second network of interconnected switches; and

wherein the first and second virtual machines are in a same virtual local area network (VLAN).

6. The switch of claim 1 , wherein the forwarding circuitry is further configured to encapsulate an Address Resolution Protocol (ARP) request with a second tunnel encapsulation header, wherein a destination address of the second tunnel encapsulation header is the IP address.

7. The switch of claim 1 , wherein the forwarding circuitry is further configured to encapsulate a second packet destined to a virtual machine with a second tunnel encapsulation header, wherein a destination address of the second tunnel encapsulation header is the IP address;

wherein the virtual machine has been migrated from a first host machine reachable via the first network of interconnected switches to a second host machine reachable via the second network of interconnected switches.

8. The switch of claim 1 , wherein the forwarding circuitry is further configured to:

identify a second packet with a second tunnel encapsulation header, wherein a destination address of the second tunnel encapsulation header is assigned to a hypervisor; and

encapsulate the second packet in a third tunnel encapsulation header, wherein a destination address of the third tunnel encapsulation header is the IP address.

9. The switch of claim 1 , further comprising high availability circuitry configured to operate the switch as an active forwarder of an active-standby high availability protocol for a virtual machine;

wherein the virtual machine has been migrated from a first host machine reachable via the second network of interconnected switches to a second host machine reachable via the first network of interconnected switches.

10. The switch of claim 1 , wherein the forwarding circuitry is further configured to:

identify a second packet with a fabric header, wherein an egress switch identifier of the fabric header is assigned to a member switch of the second network of interconnected switches; and

encapsulate the second packet with a second tunnel encapsulation header, wherein a destination address of the second tunnel encapsulation header is the IP address.

11. The switch of claim 10 , wherein the fabric header is based on one or more of:

a Transparent Interconnection of Lots of Links (TRILL) protocol, wherein ingress and egress switch identifiers of the encapsulation header are TRILL routing bridge (RBridge) identifiers; and

an Internet Protocol (IP), wherein source and destination addresses of the encapsulation header are IP addresses.

12. A method, comprising:

maintaining a membership of a switch in a first network of interconnected switches, and wherein the first network of interconnected switches is identified by a first fabric identifier;

in response to identifying an Internet Protocol (IP) address as a source address in a multicast discovery message, including the IP address in a neighbor list, wherein the neighbor list indicates that the IP address is associated with a second network of interconnected switches;

identifying, from a payload of a notification message from the second network of interconnected switches, a media access control (MAC) address learned at a second switch in the second network of interconnected switches, wherein a header of the notification message includes, the IP address as a source address, an Internet Protocol (IP) address indicating the second network of interconnected switches;

storing a mapping relationship between the identified MAC address and the IP address in a local data structure; and

encapsulating a packet comprising the MAC address with a tunnel encapsulation header, wherein the tunnel encapsulation header includes the IP address as a destination IP address.

13. The method of claim 12 , wherein the IP address is a virtual IP address assigned to a plurality of member switches of the second network of interconnected switches.

14. The method of claim 12 , further comprising:

identifying a discovery message with the IP address as a source IP address, wherein the discovery message is a multicast message; and

in response to identifying the discovery message, including the IP address in a neighbor list, wherein the neighbor list includes a respective IP address associated with indicating the first and or the second networks network of interconnected switches.

15. The method of claim 12 , further comprising:

identifying the MAC address as a destination MAC address of the packet.

16. The method of claim 15 , wherein a source MAC address of the packet is associated with a first virtual machine running on a host machine reachable via the first network of interconnected switches;

wherein the destination MAC address of the packet is associated with a second virtual machine running on a host machine reachable via the second network of interconnected switches; and

wherein the first and second virtual machines are in a same virtual local area network (VLAN).

17. The method of claim 12 , further comprising encapsulating an Address Resolution Protocol (ARP) request with a second tunnel encapsulation header, wherein a destination address of the second tunnel encapsulation header is the IP address.

18. The method of claim 12 , further comprising encapsulating a second packet destined to a virtual machine with a second tunnel encapsulation header, wherein a destination address of the second tunnel encapsulation header is the IP address;

wherein the virtual machine has been migrated from a first host machine coupled to the first network of interconnected switches to a second host machine coupled to the second network of interconnected switches.

19. The method of claim 12 , further comprising:

identifying a second packet with a second tunnel encapsulation header, wherein a destination address of the second tunnel encapsulation header is assigned to a hypervisor; and

encapsulating the second packet with a third tunnel encapsulation header, wherein a destination address of the third tunnel encapsulation header is the IP address.

20. The method of claim 12 , further comprising operating the switch as an active forwarder of an active-standby high availability protocol for a virtual machine;

wherein the virtual machine has been migrated from a first host machine coupled to the second network of interconnected switches to a second host machine coupled to the first network of interconnected switches.

21. The method of claim 12 , further comprising:

identifying a second packet with a fabric header, wherein an egress switch identifier of the fabric header is assigned to a member switch of the second network of interconnected switches; and

encapsulating the second packet with a second tunnel encapsulation header, wherein a destination address of the second tunnel encapsulation header is the IP address.

22. The method of claim 21 , wherein the fabric header is based on one or more of:

a Transparent Interconnection of Lots of Links (TRILL) protocol, wherein ingress and egress switch identifiers of the encapsulation header are TRILL routing bridge (RBridge) identifiers; and

an Internet Protocol (IP), wherein source and destination addresses of the encapsulation header are IP addresses.

23. A computer system, comprising:

a processor;

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

maintaining a membership of a switch in a first network of interconnected switches, wherein the first network of interconnected switches is identified by a first fabric identifier;

in response to identifying an Internet Protocol (IP) address as a source address in a multicast discovery message, including the IP address in a neighbor list, wherein the neighbor list indicates that the IP address is associated with a second network of interconnected switches;

identifying, from a payload of a notification message from the second network of interconnected switches, a media access control (MAC) address learned at a second switch in the second network of interconnected switches, wherein a header of the notification message includes the IP address, as a source address, an Internet Protocol (IP) address indicating the second network of interconnected switches;

storing a mapping relationship between the identified MAC address and the IP address in a local data structure; and

encapsulating a packet comprising the MAC address with a tunnel encapsulation header, wherein the tunnel encapsulation header includes the IP address as a destination IP address.

24. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

maintaining a membership of a switch in a first network of interconnected switches;

in response to identifying an Internet Protocol (IP) address as a source address in a multicast discovery message, including the IP address in a neighbor list, wherein the neighbor list indicates that the IP address is associated with a second network of interconnected switches;

identifying, from a notification message from the second network of interconnected switches, a media access control (MAC) address learned at a second switch in the second network of interconnected switches, wherein a header of the notification message includes the IP address as a source address;

storing a mapping relationship between the identified MAC address and the IP address in a local data structure; and

encapsulating a packet comprising the MAC address with a tunnel encapsulation header, wherein the tunnel encapsulation header includes the IP address as a destination IP address.

Assignments (3)
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 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2014
From: SABAA, AMR; DURRANI, MUHAMMAD; SHAIKH, MUKHTIAR; JOGALEKAR, PRASAD P.; JAYARAMAN, JAYANTHI; ADAIKALAM, ARUNKARUPPAIYA
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 033822/0903 →
Continuity (2)
Provisional Application 61896544 · Oct 28, 2013
Related Publication 20150117256A1 · Apr 30, 2015