IP Library Granted Patent US 9,876,715
Granted Patent B2
US 9,876,715 · App. 14/530,550 · Granted Jan 23, 2018

Network fabric overlay

Inventors: Thomas James Edsall (Los Gatos, CA); Navindra Yadav (Cupertino, CA); Francisco M. Matus (Saratoga, CA); Kit Chiu Chu (Fremont, CA); Michael R. Smith (San Jose, CA); Sameer Merchant (Sunnyvale, CA); Krishna Doddapaneni (Cupertino, CA); Satyam Sinha (Sunnyvale, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L45/74H04L12/4633H04L45/66H04L49/10G06F9/45558G06F2009/45595
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,876,715
App. No.
14/530,550
Granted
Jan 23, 2018
Kind
B2
Abstract

Disclosed herein are methods of forwarding packets on a network, such as a leaf-spine network having leaf devices and spine devices. The methods may include receiving a packet at an ingress leaf device, and determining based, at least in part, on a header of the packet whether the packet is to be transmitted to a spine device. The methods may further include ascertaining based, at least in part, on a header of the packet whether to perform encapsulation on the packet, encapsulating the packet according to a result of the ascertaining, and then transmitting the packet to a spine device according to a result of the determining. Also disclosed herein are network apparatuses which include a processor and a memory, at least one of the processor or the memory being configured to perform some or all of the foregoing described methods.

Claims (57)

1. A method, comprising:

receiving a packet at an ingress leaf device of a leaf-spine network;

determining by the ingress leaf device of the leaf-spine network based, at least in part, on a header of the packet whether the packet is to be transmitted to a spine device of the leaf-spine network;

obtaining, by the ingress leaf device of the leaf-spine network, an identifier of a destination device to which the packet is addressed from a header of the packet;

determining by the ingress leaf device of the leaf-spine network that it does not have a location of the destination device;

encapsulating by the ingress leaf device of the leaf-spine network the packet such that an encapsulated packet is generated, a header of the encapsulated packet including a proxy address of a proxy in a spine tier of the leaf-spine network; and

after encapsulating the packet, transmitting the encapsulated packet by the ingress leaf device of the leaf-spine network to a particular device of the leaf-spine network according to a result of the determining, the particular device being a proxy device associated with the proxy address or a spine device associated with the proxy address.

2. The method of claim 1 , wherein the packet is received from a device, the method further comprising:

determining whether the device is a trusted device;

wherein ascertaining is based, at least in part, upon whether the device is a trusted device.

3. The method of claim 1 , further comprising:

determining that the packet has previously been encapsulated; and

determining a type of encapsulation of the packet;

ascertaining whether to perform encapsulation on the packet based, at least in part, upon the type of encapsulation of the packet;

wherein encapsulating the packet is performed according to a result of the ascertaining.

4. The method of claim 1 , further comprising:

ascertaining whether to perform encapsulation on the packet;

wherein ascertaining is performed based, at least in part, upon whether the packet is to be transmitted to a spine device.

5. The method of claim 1 , further comprising:

selecting one of two or more spine devices;

wherein transmitting comprises sending the packet to the selected spine device.

6. The method of claim 5 , wherein selecting one of the two or more spine devices is performed based, at least in part, upon an identifier of the end device in a header of the packet.

7. The method of claim 6 , wherein selecting one of the two or more spine devices is further performed based, at least in part, upon a flow associated with the packet.

8. The method of claim 1 , further comprising:

selecting one of two or more proxies;

wherein transmitting comprises sending the packet to the selected proxy.

9. The method of claim 8 , wherein selecting one of the two or more proxies is performed based, at least in part, upon an identifier of the end device in a header of the packet.

10. The method of claim 9 , wherein selecting one of the two or more proxies is further performed based, at least in part, upon a flow associated with the packet.

11. The method of claim 1 , wherein the proxy is implemented in one or more servers.

12. The method of claim 1 , wherein the proxy is implemented in one or more spine devices.

13. The method of claim 1 , wherein the proxy is a layer 2 proxy.

14. The method of claim 1 , wherein the proxy is a layer 3 proxy.

15. The method of claim 1 , wherein determining is performed using an adjacency table maintained by the ingress leaf device.

16. A method, comprising:

receiving a packet at an ingress leaf device of a leaf-spine network;

determining by the ingress leaf device of the leaf-spine network based, at least in part, on a header of the packet that the packet is to be transmitted to a spine device of the leaf-spine network;

obtaining, by the ingress leaf device of the leaf-spine network, an identifier of a destination device to which the packet is addressed from a header of the packet;

determining by the ingress leaf device of the leaf-spine network that it does not have a location of the destination device;

encapsulating by the ingress leaf device of the leaf-spine network the packet such that an encapsulated packet is generated, a header of the encapsulated packet including a proxy address of a proxy in a spine tier of the leaf-spine network; and

after encapsulating the packet, transmitting the encapsulated packet by the ingress leaf device of the leaf-spine network to a particular device of the leaf-spine network, the particular device being a proxy device associated with the proxy address or a spine device associated with the proxy address.

17. An apparatus, comprising:

a processor; and

a memory, at least one of the processor or the memory being configured to:

receive a packet at a leaf device of a leaf-spine network;

determine by the ingress leaf device of the leaf-spine network based, at least in part, on a header of the packet whether the packet is to be transmitted to a spine device of the leaf-spine network;

obtain, by the ingress leaf device of the leaf-spine network, an identifier of a destination device to which the packet is addressed from a header of the packet;

determine by the ingress leaf device of the leaf-spine network that it does not have a location of the destination device;

encapsulate by the ingress leaf device of the leaf-spine network the packet such that an encapsulated packet is generated, a header of the encapsulated packet including a proxy address of a proxy in a spine tier of the leaf-spine network; and

after encapsulating the packet, transmit the encapsulated packet by the ingress leaf device of the leaf-spine network to a particular device of the leaf-spine network according to a result of the determining, the particular device being a proxy device associated with the proxy address or a spine device associated with the proxy address.

18. The apparatus of claim 17 , wherein the memory and/or processor are further configured to ascertain by the ingress leaf device of the leaf-spine network based, at least in part, on a header of the packet whether to perform encapsulation on the packet.

19. An apparatus, comprising:

means for receiving a packet at a leaf device of a leaf-spine network;

means for determining by the ingress leaf device of the leaf-spine network based, at least in part, on a header of the packet whether the packet is to be transmitted to a spine device of the leaf-spine network;

means for obtaining, by the ingress leaf device of the leaf-spine network, an identifier of a destination device to which the packet is addressed from a header of the packet;

means for determining by the ingress leaf device of the leaf-spine network that it does not have a location of the destination device;

means for encapsulating by the ingress leaf device of the leaf-spine network the packet such that an encapsulated packet is generated, a header of the encapsulated packet including a proxy address of a proxy in a spine tier of the leaf-spine network; and

means for transmitting the encapsulated packet by the ingress leaf device of the leaf-spine network to a particular device of the leaf-spine network, after encapsulating the packet, according to a result of the determining, the particular device being a proxy device associated with the proxy address or a spine device associated with the proxy address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2014
From: EDSALL, THOMAS JAMES; YADAV, NAVINDRA; MATUS, FRANCISCO M.; CHU, KIT CHIU; SMITH, MICHAEL R.; MERCHANT, SAMEER; DODDAPANENI, KRISHNA; SINHA, SATYAM
To: CISCO TECHNOLOGY, INC.
Reel/Frame 034291/0955 →
Continuity (2)
Provisional Application 61900228 · Nov 5, 2013
Related Publication 20150124826A1 · May 7, 2015