IP Library › Granted Patent US 9,246,818
Granted Patent B2
US 9,246,818 · App. 13/924,950 · Granted Jan 26, 2016

Congestion notification in leaf and spine networks

Inventors: Sushrut Sudhakar Deshpande (Bangalore, IN); Aniket Lele (Bangalore, IN)
Assignee: Cisco Technology, Inc.
H04L47/12
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,246,818
App. No.
13/924,950
Granted
Jan 26, 2016
Kind
B2
Abstract

Methods and systems to alleviate congestion in leaf and spine network topologies. Control information may be advertised by spines regarding the leaves to which it is connected. The control information is advertised to other leaf switches connected to the advertising spine. The control information may include a destination leaf ID, an enroute spine ID, an FL flag and an FF flag. The FL flag is a “Flow Learn Flag,” that is set by the advertising spine that a leaf switch toward which the spine may be facing congestion above at a first predetermined threshold level. The FF flag is a “Flow Freeze Flag,” that is set when all links to the corresponding destination leaf identified are congested, and the congestion level has crossed a second predetermined threshold level.

Claims (53)

1. A method comprising:

receiving control information generated by a first network device at a second network device, wherein a control packet comprises a first flag set in accordance with a total of all path capacity or link congestion being greater than a first predetermined threshold level and second flag set in accordance with the total of all path capacity or link congestion being greater than a second predetermined level;

determining a destination location specified in control information in accordance with a MAC address table, Routing information Table or Switching Information Table;

determining if the first flag is set, if the first flag is set and the second flag not set, and if so:

creating an entry in a flow table; and

forwarding to the destination location using a spine node identified in the control information;

determining if the second flag is set, and if so:

forwarding to the destination using the flow entry if available for that traffic, otherwise forwarding by avoiding a spine node identified in the control information; and

determining if none of the first flag and the second flag is set, and if so forwarding normally.

2. The method of claim 1 , if the second flag is set, the method further comprising checking a flow table for a matching entry to the destination entry, and if there is no match, performing load balancing to exclude the spine node identified in the control information with the second flag set.

3. The method of claim 1 , further comprising maintaining the entry in the flow table until the link congestion falls below a predetermined reset threshold level.

4. The method of claim 1 , wherein the method is implemented in a leaf and spine network, the method further comprising:

receiving the control information at each leaf in the network; and

learning flows from a first server to a second server in accordance with the first flag.

5. The method of claim 1 , further comprising setting the first predetermined threshold level to 70% of a total of all path capacity.

6. The method of claim 1 , further comprising setting the second predetermined threshold level to 90% of a total of all path capacity.

7. The method of claim 1 , wherein a spine advertises the control information regarding the leaves to which it is connected to other leaf switches connected to the spine.

8. The method of claim 1 , further comprising embedding the control information in a protocol used to exchange topological information in a network.

9. A non-transitory computer readable storage media encoded with software comprising computer executable instructions and when the software is executed operable to:

receive control information generated by a first network device at a second network device, wherein a control packet comprises a first flag set in accordance with a total of all path capacity or link congestion being greater than a first predetermined threshold level and second flag set in accordance with the total of all path capacity or link congestion being greater than a second predetermined level;

determine a destination location specified in control information in accordance with a MAC address table, Routing information Table or Switching Information Table;

determine if the first flag is set, if the first flag is set and the second flag not set, and if so:

create an entry in a flow table; and

forward to the destination location using a spine node identified in the control information;

determine if the second flag is set, and if so:

forward to the destination using the flow entry if available for that traffic, otherwise forward by avoiding a spine node identified in the control information; and

determine if none of the first flag and the second flag is set, and if so forward normally.

10. The non-transitory computer readable storage media of claim 9 , if the second flag is set, further comprising instructions to check a flow table for a matching entry to the destination entry, and if there is no match, performing load balancing to exclude the spine node identified in the control information with the second flag set.

11. The non-transitory computer readable storage media of claim 9 , further comprising instructions to maintain the entry in the flow table until the link congestion falls below a predetermined reset threshold level.

12. The non-transitory computer readable storage media of claim 9 , wherein in a leaf and spine network, further comprising instructions to:

receive the control information at each leaf in the network; and

learn flows from a first server to a second server in accordance with the first flag.

13. The non-transitory computer readable storage media of claim 9 , wherein the first predetermined threshold level is set to 70% of a total of all path capacity.

14. The non-transitory computer readable storage media of claim 9 , wherein the second predetermined threshold level is set to 90% of a total of all path capacity.

15. The non-transitory computer readable storage media of claim 9 , wherein a spine advertises the control information regarding the leaves to which it is connected to other leaf switches connected to the spine.

16. The non-transitory computer readable storage media of claim 9 , further comprising instructions to embed the control information in a protocol used to exchange topological information in a network.

17. An apparatus comprising:

a plurality of network interfaces;

a memory; and

a processor coupled to the network interfaces and memory, and configured to:

receive control information generated by a first network device at a second network device, wherein a control packet comprises a first flag set in accordance with a total of all path capacity or link congestion being greater than a first predetermined threshold level and second flag set in accordance with the total of all path capacity or link congestion being greater than a second predetermined level;

determine a destination location specified in control information in accordance with a MAC address table, Routing information Table or Switching Information Table;

determine if the first flag is set, if the first flag is set and the second flag not set, and if so:

create an entry in a flow table; and

forward to the destination location using a spine node identified in the control information;

determine if the second flag is set, and if so:

forward to the destination using the flow entry if available for that traffic, otherwise forward by avoiding a spine node identified in the control information; and

determine if none of the first flag and the second flag is set, and if so forward normally.

18. The apparatus of claim 17 , the processor further configured to maintain the entry in the flow table until the link congestion falls below a predetermined reset threshold level.

19. The apparatus of claim 17 , if the second flag is set, the processor is further configured to check a flow table for a matching entry to the destination entry, and if there is no match, performing load balancing to exclude the spine node identified in the control information with the second flag set.

20. The apparatus of claim 17 , wherein in a leaf and spine network, the processor is further configured to:

receive the control information at each leaf in the network; and

learn flows from a first server to a second server in accordance with the first flag.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2014
From: DESHPANDE, SUSHRUT SUDHAKAR; LELE, ANIKET
To: CISCO TECHNOLOGY, INC.
Reel/Frame 033408/0195 →
Continuity (1)
Related Publication 20140376373A1 · Dec 25, 2014