IP Library Granted Patent US 10,812,378
Granted Patent B2
US 10,812,378 · App. 16/252,036 · Granted Oct 20, 2020

System and method for improved service chaining

Inventors: Nagendra Kumar Nainar (Morrisville, NC); Carlos M. Pignataro (Cary, NC); James N. Guichard (New Boston, NH); Paul Quinn (Wellesley, MA)
Assignee: CISCO TECHNOLOGY, INC.
H04L45/64H04L12/4641H04L12/4633
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 10,812,378
App. No.
16/252,036
Granted
Oct 20, 2020
Kind
B2
Abstract

An apparatus having logic elements to receive an incoming packet associated with a first service function chain; identify a next hop service function for the incoming packet as a non-reactive service function; create a duplicate packet; forward the duplicate packet to the non-reactive service function; and forward the incoming packet to a next reactive service function. An apparatus having logic to receive an incoming packet associated with a first service function chain (SFC), having a first service path identifier (SPI); determine that the incoming packet has a first service index (SI), and that a next-hop SI identifies a non-reactive service function (NRSF); receive a duplicate packet of the incoming packet; rewrite a service header of the duplicate packet to identify a second SFC having a second SPI; and alter the first SI of the incoming packet to identify a next reactive service function in the first SFC.

Claims (33)

1. A network computing apparatus comprising:

one or more processors configured to:

receive an incoming packet associated with a first service function chain;

parse the first service function chain to determine whether a next hop service function for the incoming packet is a non-reactive service function;

when the next hop service function is identified as the non-reactive service function, modify the incoming packet to include a replicate flag, create a duplicate packet, and forward the duplicate packet to the non-reactive service function, the replicate flag indicating the next hop service function is the non-reactive service function; and

when the next hop service function is not identified as the non-reactive service function, forward the incoming packet to the next service function.

2. The network computing apparatus of claim 1 , wherein forwarding the duplicate packet to the non-reactive service function includes sending the incoming packet to a non-reactive service function chain.

3. The network computing apparatus of claim 2 , wherein the non-reactive service function chain includes only a single service function.

4. The network computing apparatus of claim 2 , wherein the non-reactive service function chain includes a plurality of non-reactive service functions.

5. The network computing apparatus of claim 4 , wherein the plurality of non-reactive service functions includes at least one service function that is locally reactive.

6. The network computing apparatus of claim 1 , wherein identifying the next hop service function as the non-reactive service function includes matching the replicate flag via a table.

7. The network computing apparatus of claim 1 , wherein parsing the first service function chain to determine whether the next hop service function for the incoming packet is the non-reactive service function includes reading a value associated with a service path identifier.

8. A method comprising:

receiving an incoming packet associated with a first service function chain;

parsing the first service function chain to determine whether a next hop service function for the incoming packet is a non-reactive service function;

when the next hop service function is identified as the non-reactive service function, modifying the incoming packet to include a replicate flag, creating a duplicate packet, and forwarding the duplicate packet to the non-reactive service function, the replicate flag indicating the next hop service function is the non-reactive service function; and

when the next hop service function is not identified as the non-reactive service function, forwarding the incoming packet to the next service function.

9. The method of claim 8 , wherein the forwarding of the duplicate packet to the non-reactive service function includes sending the incoming packet to a non-reactive service function chain.

10. The method of claim 9 , wherein the non-reactive service function chain includes only a single service function.

11. The method of claim 9 , wherein the non-reactive service function chain includes a plurality of non-reactive service functions.

12. The method of claim 11 , wherein the plurality of non-reactive service functions includes at least one service function that is locally reactive.

13. The method of claim 8 , wherein identifying the next hop service function as the non-reactive service function includes matching the replicate flag via a table.

14. One or more tangible, non-transitory computer-readable storage mediums having stored thereon executing instructions for providing one or more processors configured to:

receive an incoming packet associated with a first service function chain;

parse the first service function chain to determine whether a next hop service function for the incoming packet is a non-reactive service function;

when the next hop service function is identified as the non-reactive service function, modify the incoming packet to include a replicate flag, create a duplicate packet, and forward the duplicate packet to the non-reactive service function, the replicate flag indicating the next hop service function is the non-reactive service function; and

when the next hop service function is not identified as the non-reactive service function, forward the incoming packet to the next service function.

15. The one or more tangible, non-transitory computer-readable storage mediums of claim 14 , wherein forwarding the duplicate packet to the non-reactive service function includes sending the incoming packet to a non-reactive service function chain.

16. The one or more tangible, non-transitory computer-readable storage mediums of claim 15 , wherein the non-reactive service function chain includes only a single service function.

17. The one or more tangible, non-transitory computer-readable storage mediums of claim 16 , wherein the single service function is followed by a “drop” action.

18. The one or more tangible, non-transitory computer-readable storage mediums of claim 15 , wherein the non-reactive service function chain includes a plurality of non-reactive service functions.

19. The one or more tangible, non-transitory computer-readable storage mediums of claim 18 , wherein the plurality of non-reactive service functions includes at least one service function that is locally reactive or the plurality of non-reactive service functions is followed by a “drop” action.

20. The one or more tangible, non-transitory computer-readable storage mediums of claim 14 , wherein identifying the next hop service function as the non-reactive service function includes matching the replicate flag via a table.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: NAINAR, NAGENDRA KUMAR; PIGNATARO, CARLOS M.; GUICHARD, JAMES N.; QUINN, PAUL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 048061/0465 →
Continuity (2)
Continuation 15080493 · Mar 24, 2016
Related Publication 20190158398A1 · May 23, 2019
Cited By (4)
US 12,231,252 US 12,254,340 US 12,341,680 US 12,726,402