IP Library › Granted Patent US 9,300,585
Granted Patent B2
US 9,300,585 · App. 14/081,772 · Granted Mar 29, 2016

Shortening of service paths in service chains in a communications network

Inventors: Surendra M. Kumar (San Ramon, CA); Nagaraj A. Bagepalli (Fremont, CA); Dileep K. Devireddy (San Jose, CA); Abhijit Patra (Saratoga, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L47/12H04L45/12H04L45/38H04L47/17H04L12/56H04L43/026H04L45/48H04L45/64
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,300,585
App. No.
14/081,772
Filed
Nov 15, 2013
Granted
Mar 29, 2016
Kind
B2
Art Unit
2474
USPC
370/235
Abstract

A method is provided in one example embodiment and includes receiving at a network element a flow offload decision for a first service node that includes a portion of a service chain for processing a flow; recording the flow offload decision against the first service node at the network element; and propagating the flow offload decision backward on a service path to which the flow belongs if the first service node is hosted at the network element. Embodiments may also include propagating the flow offload decision backward on a service path to which the flow belongs if the flow offload decision is a propagated flow offload decision and the network element hosts a second service node that immediately precedes the service node on behalf of which the propagated flow offload decision was received and a flow offload decision has already been received by the network element from the second service node.

Claims (25)

1. A method, comprising:

receiving at a network element a flow offload decision for a first service node comprising a portion of a service chain for processing a flow;

recording the flow offload decision against the first service node at the network element;

propagating the flow offload decision backward on a service path to which the flow belongs when the first service node is hosted at the network element; and

propagating the flow offload decision backward on the service path to which the flow belongs when the flow offload decision is a propagated flow offload decision and:

the network element hosts a second service node that immediately precedes the first service node; and the flow offload decision has already been received by the network element for the second service node.

2. The method of claim 1 further comprising recording the flow offload decision against the first service node at each additional network element to which the flow offload decision is propagated.

3. The method of claim 1 , wherein the network element comprises a Virtual Ethernet Module (“VEM”) including a distributed virtual switch (“DVS”).

4. The method of claim 1 further comprising providing at the network element a service forwarding table associated with the flow, the service forwarding table including an entry corresponding to each service node of the service chain hosted by the network element, wherein each entry indicates a next hop and a previous hop for the corresponding service node of the service chain.

5. The method of claim 4 , wherein the propagating comprises propagating the flow offload decision to the previous hop indicated in the service forwarding table entry corresponding to the first service node.

6. The method of claim 4 , wherein the recording comprises indicating in the service forwarding table that the first service node has been offloaded for the flow.

7. The method of claim 6 further comprising forwarding a packet of the flow received at the network element to a next hop service node as indicated by the service forwarding table, wherein when a corresponding service table entry indicates that the next hop service node has been offloaded, the packet is forwarded to a first next hop service node in the service chain that has not been offloaded.

8. One or more non-transitory tangible media that includes code for execution and when executed by a processor is operable to perform operations, comprising:

receiving at a network element a flow offload decision for a first service node comprising a portion of a service chain for processing a flow;

recording the flow offload decision against the first service node at the network element;

propagating the flow offload decision backward on a service path to which the flow belongs when the first service node is hosted at the network element; and propagating the flow offload decision backward on the service path to which the flow belongs when the flow offload decision is a propagated flow offload decision and: the network element hosts a second service node that immediately precedes the service node on behalf of which the propagated flow offload decision was received; and the flow offload decision has already been received by the network element from the second service node.

9. The one or more non-transitory tangible media of claim 8 further comprising recording the flow offload decision against the first service node at each additional network element to which the flow offload decision is propagated.

10. The one or more non-transitory tangible media of claim 8 further comprising providing at the network element a service forwarding table associated with the flow, the service forwarding table including an entry corresponding to each service node of the service chain hosted by the network element, wherein each entry indicates a next hop and a previous hop for the corresponding service node of the service chain.

11. The one or more non-transitory tangible media of claim 10 , wherein the propagating comprises propagating the flow offload decision to the previous hop indicated in the service forwarding table entry corresponding to the first service node.

12. The one or more non-transitory tangible media of claim 10 , wherein the recording comprises indicating in the service forwarding table that the first service node has been offloaded for the flow.

13. The one or more non-transitory tangible media of claim 12 further comprising forwarding a packet of the flow received at the network element to a next hop service node as indicated by the service forwarding table, wherein when a corresponding service table entry indicates that the next hop service node has been offloaded, the packet is forwarded to a first next hop service node in the service chain that has not been offloaded.

14. An apparatus, comprising: a memory element configured to store data; a processor operable to execute instructions associated with the data; and a service path shortening module configured to: receive at a network element a flow offload decision for a first service node comprising a portion of a service chain for processing a flow; record the flow offload decision against the first service node at the network element; propagate the flow offload decision backward on a service path to which the flow belongs when the first service node is hosted at the network element; and propagate the flow offload decision backward on the service path to which the flow belongs when the flow offload decision is a propagated flow offload decision and: the network element hosts a second service node that immediately precedes the service node on behalf of which the propagated flow offload decision was received; and the flow offload decision has already been received by the network element from the second service node.

15. The apparatus of claim 14 , wherein the service path shortening module is further configured to provide at the network element a service forwarding table associated with the flow, the service forwarding table including an entry corresponding to each service node of the service chain hosted by the network element, wherein each entry indicates a next hop and a previous hop for the corresponding service node of the service chain.

16. The apparatus of claim 15 , wherein the propagating comprises propagating the flow offload decision to the previous hop indicated in the service forwarding table entry corresponding to the first service node and wherein the recording comprises indicating in the service forwarding table that the first service node has been offloaded for the flow.

17. The apparatus of claim 16 , wherein the service path shortening module is further configured to forward a packet of the flow received at the network element to a next hop service node as indicated by the service forwarding table, wherein when a corresponding service table entry indicates that the next hop service node has been offloaded, the packet is forwarded to a first next hop service node in the service chain that has not been offloaded.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2013
From: KUMAR, SURENDRA M.; BAGEPALLI, NAGARAJ A.; DEVIREDDY, DILEEP K.; PATRA, ABHIJIT
To: CISCO TECHNOLOGY, INC.
Reel/Frame 031615/0609 →
Continuity (1)
Related Publication 20150138973A1 · May 21, 2015