IP Library Granted Patent US 9,736,085
Granted Patent B2
US 9,736,085 · App. 13/598,204 · Granted Aug 15, 2017

End-to end lossless Ethernet in Ethernet fabric

Inventors: Huan Song (Milpitas, CA); Phanidhar Koganti (Hyderbad, IN); Mythilikanth Raman (San Jose, CA); Rajnish Gupta (Bangalore, IN)
Assignee: BROCADE COMMUNICATIONS SYSTEMS, INC.
H04L49/351H04L47/2408H04L47/6215H04L49/205H04L49/253H04L49/505
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,736,085
App. No.
13/598,204
Granted
Aug 15, 2017
Kind
B2
Abstract

One embodiment of the present invention provides a computing system. The computing system includes a packet processor, a buffer management module, a data monitoring module, and a flow control module. The packet processor identifies a class of service indicating priority-based flow control associated with a remote computing system from a notification message. The buffer management module creates a buffer dedicated for frames belonging to the class of service from the remote computing system in response to identifying the class of service. The data monitoring module detects a potential overflow of the buffer. The flow control module operates in conjunction with the packet processor to generate a pause frame in response to detecting a potential overflow.

Claims (42)

1. A switch, comprising:

one or more ports;

a memory;

packet processing circuitry configured to identify a priority value in a first inner layer-2 header of a packet encapsulated with a first outer encapsulation header, wherein the priority value indicates a class of service associated with priority-based flow control for the packet, and wherein the first outer encapsulation header comprises a first switch identifier identifying the switch and a second switch identifier identifying a second switch in a routed network; and

flow control circuitry configured to, in response to detecting a potential buffer overflow for the class of service, generate a pause frame comprising a second inner layer-2 header for the class of service associated with the priority-based flow control, wherein the second inner layer-2 header is encapsulated with a second outer encapsulation header comprising the second switch identifier as a destination identifier, and wherein the first and second outer encapsulation headers are based on a same encapsulation protocol.

2. The switch of claim 1 , wherein the potential buffer overflow is for a buffer configured to store the packet in response to the packet processor identifying the priority value indicating the class of service in the first inner layer-2 header of the packet.

3. The switch of claim 1 , wherein the pause frame includes the priority value indicating the class of service.

4. The switch of claim 1 , wherein the first inner layer-2 header is an Ethernet header and the first outer encapsulation header is forwardable in the routed network.

5. The switch of claim 1 , wherein the first switch identifier is a virtual switch identifier associated with a virtual switch.

6. The switch of claim 1 , wherein the switch is in a plurality of switches participating in a link aggregation, wherein the link aggregation includes a plurality of physical links operating as a single aggregated link, and wherein the plurality of switches are associated with a same media access control (MAC) address.

7. A switch, comprising:

identification circuitry configured to identify a class of service associated with priority-based flow control configured for the switch;

packet processing circuitry configured to identify a priority value in a first inner layer-2 header of a packet encapsulated with a first outer encapsulation header, wherein the priority value indicates the class of service associated with the priority-based flow control for the packet, and wherein the first outer encapsulation header comprises a first switch identifier identifying the switch in a routed network; and

notification circuitry configured to generate a notification message comprising a second inner layer-2 header in response to identifying the class of service, wherein the second inner layer-2 header is encapsulated with a second outer encapsulation header comprising a second switch identifier identifying a second switch in the routed network, and wherein the notification message specifies the class of service associated with the priority-based flow control configured for the switch.

8. The switch of claim 7 , wherein the first inner layer-2 header is an Ethernet header and the first outer encapsulation header is forwardable in the routed network.

9. The switch of claim 7 , wherein the switch is in a plurality of switches participating in a link aggregation, wherein the link aggregation includes a plurality of physical links operating as a single aggregated link, and wherein the plurality of switches are associated with a same media access control (MAC) address.

10. A method, comprising:

identifying, by a switch, a priority value in a first inner layer-2 header of a packet encapsulated with a first outer encapsulation header, wherein the priority value indicates a class of service associated with priority-based flow control for the packet, and wherein the first outer encapsulation header comprises a first switch identifier identifying the switch and a second switch identifier identifying a second switch in a routed network; and

in response to detecting a potential buffer overflow for the class of service, generating a pause frame comprising a second inner layer-2 header for the class of service associated with the priority-based flow control, wherein the second inner layer-2 header is encapsulated with a second outer encapsulation header comprising the second switch identifier as a destination identifier, and wherein the first and second outer encapsulation headers are based on a same encapsulation protocol.

11. The method of claim 10 , wherein the potential buffer overflow is for a buffer configured to store the packet in response to identifying the priority value indicating the class of service in the first inner layer-2 header of the packet.

12. The method of claim 10 , wherein the pause frame includes the priority value indicating the class of service.

13. The method of claim 10 , wherein the first inner layer-2 header is an Ethernet header and the first outer encapsulation header is forwardable in the routed network.

14. The method of claim 10 , wherein the first switch identifier is a virtual switch identifier associated with a virtual switch.

15. The method of claim 10 , wherein the switch is in a plurality of switches participating in a link aggregation, wherein the link aggregation includes a plurality of physical links operating as a single aggregated link, and wherein the plurality of switches are associated with a same media access control (MAC) address.

16. A method, comprising:

identifying, by a switch, a class of service associated with priority-based flow control configured for the switch;

identifying a priority value in a first inner layer-2 header of a packet encapsulated with a first outer encapsulation header, wherein the priority value indicates the class of service associated with the priority-based flow control for the packet, and wherein the first outer encapsulation header comprises a first switch identifier identifying the switch in a routed network; and

generating a notification message comprising a second inner layer-2 header in response to identifying the class of service, wherein the second inner layer-2 header is encapsulated with a second outer encapsulation header comprising a second switch identifier identifying a second switch in the routed network, and wherein the notification message specifies the class of service associated with the priority-based flow control configured for the switch;

wherein the switch and the remote switch are member switches of the network of interconnected switches.

17. The method of claim 16 , wherein the first inner layer-2 header is an Ethernet header and the first outer encapsulation header is forwardable in the routed network.

18. The method of claim 16 , wherein the switch is in a plurality of switches participating in a link aggregation, wherein the link aggregation includes a plurality of physical links operating as a single aggregated link, and wherein the plurality of switches are associated with a same media access control (MAC) address.

19. A computer system, comprising:

processing circuitry; and

a non-transitory computer-readable storage medium storing instructions which when executed by the processing circuitry cause the processing circuitry to perform a method, the method comprising:

identifying a priority value in a first inner layer-2 header of a packet encapsulated with a first outer encapsulation header, wherein the priority value indicates a class of service associated with priority-based flow control for the packet, and wherein the first outer encapsulation header comprises a first identifier identifying the computer system and a second identifier identifying a second computer system in a routed network; and

in response to detecting a potential buffer overflow for the class of service, generating a pause frame comprising a second inner layer-2 header for the class of service associated with the priority-based flow control, wherein the second inner layer-2 header is encapsulated with a second outer encapsulation header comprising the second identifier as a destination identifier, and wherein the first and second outer encapsulation headers are based on a same encapsulation protocol.

20. A computer system, comprising:

processing circuitry; and

a non-transitory computer-readable storage medium storing instructions which when executed by the processing circuitry cause the processing circuitry to perform a method, the method comprising:

identifying a class of service associated with priority-based flow control configured for the computer system;

identifying a priority value in a first inner layer-2 header of a packet encapsulated with a first outer encapsulation header, wherein the priority value indicates the class of service associated with the priority-based flow control for the packet, and wherein the first outer encapsulation header comprises a first identifier identifying the computer system in a routed network; and

generating a notification message comprising a second inner layer-2 header in response to identifying the class of service, wherein the second inner layer-2 header is encapsulated with a second outer encapsulation header comprising a second identifier identifying a second computer system in the routed network, and wherein the notification message specifies the class of service associated with the priority-based flow control configured for the computer system.

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 28, 2012
From: SONG, HUAN; KOGANTI, PHANIDHAR; RAMAN, MYTHILIKANTH; GUPTA, RAJNISH
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 029051/0063 →
Continuity (2)
Provisional Application 61528683 · Aug 29, 2011
Related Publication 20130051235A1 · Feb 28, 2013