IP Library Granted Patent US 9,385,950
Granted Patent B2
US 9,385,950 · App. 14/052,968 · Granted Jul 5, 2016

Configurable service proxy local identifier mapping

Inventors: Paul Quinn (San Francisco, CA); James Guichard (New Boston, NH); Surendra Kumar (San Ramon, CA)
Assignee: Cisco Technology, Inc.
H04L45/74H04L49/354H04L49/70H04L67/327
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,385,950
App. No.
14/052,968
Granted
Jul 5, 2016
Kind
B2
Abstract

Presented herein are techniques in which a service proxy in a service node is configured to receive a packet encapsulated in a service header that includes a variable set of context headers. The service proxy is configured to use the context headers in the service header to map data in the packet to a local identifier that is associated with one of a plurality of service-functions hosted by the service node. The service proxy is further configured to forward the data in the packet to the service-function associated with the local identifier.

Claims (57)

1. A method performed in a network comprising a plurality of service nodes each configured to host one or more service-functions for application to traffic that passes through the respective service nodes forming a service path, the method comprising:

receiving, at a service node hosting a configurable service proxy and a plurality of non-participant service functions, a packet encapsulated in a service header that includes a variable set of context headers, wherein the plurality of non-participant service functions are service functions that are unable or not configured to process the service header;

at the configurable service proxy in the service node, removing the service header from the packet to form a non-encapsulated packet;

evaluating, at the configurable service proxy, the context headers based on one or more policies to map data in the packet to a local identifier associated with a first non-participant service-function of the plurality of non-participant service-functions hosted within the service node; and

forwarding, by the configurable service proxy, the data in the packet to the first non-participant service-function that is hosted within the service node and that is associated with the local identifier.

2. The method of claim 1 , further comprising:

receiving, at the service node, an identification of which context headers in the received packet are to be evaluated for mapping the data in the packet to a local identifier.

3. The method of claim 1 , further comprising:

receiving, at the service node, an identification of the one or more policies for use in evaluating the context headers for mapping the data in the packet to a local identifier.

4. The method of claim 1 , wherein removing the service header from the packet comprises:

prior to forwarding the data in the packet to the first non-participant service-function associated with the local identifier, removing the context headers from the data.

5. The method of claim 1 , where evaluating the context headers in the packet based on one or more policies to determine a local identifier comprises:

determining a virtual local area networks (VLAN) associated with the first non-participant service-function.

6. The method of claim 1 , further comprising:

receiving, at the configurable service proxy, modified data from the first non-participant service-function associated with the local identifier;

encapsulating the modified data with the service header; and

determining, at the configurable service proxy based on the set of context headers, how to forward the packet.

7. The method of claim 1 , wherein each context header carries service related information of a different scope that is relevant to one or more non-participant service-functions in the service path.

8. The method of claim 1 , further comprising generating the service header that includes the variable set of context headers, at a controller that is in communication with the plurality of service nodes.

9. An apparatus in a network comprising a plurality of service nodes each configured to host one or more service-functions for application to traffic that passes through the respective service nodes forming a service path, wherein the apparatus hosts a plurality of non-participant service functions, wherein the plurality of non-participant service functions are service functions that are unable or not configured to process the service header, the apparatus comprising:

a network interface configured to receive a packet encapsulated in a service header that includes a variable set of context headers;

a memory; and

a processor configured to:

execute a configurable service proxy function to remove the service header from the packet to form a non-encapsulated packet;

execute the configurable service proxy function to evaluate the context headers based on one or more policies to map data in the packet to a local identifier associated with a first non-participant service-function of the plurality of non-participant service-functions hosted within the service node, and

forward the data in the packet to the first non-participant service-function that is hosted within the service node and that is associated with the local identifier.

10. The apparatus of claim 9 , wherein the processor is configured to:

receive an identification of which context headers in the received packet are to be evaluated for mapping the data in the packet to a local identifier.

11. The apparatus of claim 9 , wherein the processor is configured to:

receive an identification of the one or more policies for use in evaluating the context headers for mapping the data in the packet to a local identifier.

12. The apparatus of claim 9 , wherein to remove the service header from the packet, the processor is configured to:

prior to forwarding the data in the packet to the first non-participant service-function associated with the local identifier, remove the context headers from the data.

13. The apparatus of claim 9 , where to evaluate the context headers in the packet based on one or more policies to determine a local identifier, the processor is configured to:

determine a virtual local area networks (VLAN) associated with the first non-participant service-function.

14. The apparatus of claim 9 , wherein the processor is configured to:

receive modified data from the first non-participant service-function associated with the local identifier;

encapsulate the modified data with the service header; and

determine, based on the set of context headers, how to forward the packet.

15. The apparatus of claim 9 , wherein each context header carries service related information of a different scope that is relevant to one or more non-participant service-functions in the service path.

16. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions executed at a service node in a network comprising a plurality of service nodes each configured to host one or more service-functions for application to traffic that passes through the respective service nodes forming a service path, wherein when executed the software is operable to:

receive, at a service node hosting a configurable service proxy and a plurality of service functions, a packet encapsulated in a service header that includes a variable set of context headers, wherein the plurality of non-participant service functions are service functions that are unable or not configured to process the service header;

at the configurable service proxy in the service node, remove the service header from the packet to form a non-encapsulated packet;

evaluate, at the configurable service proxy, the context headers in the packet based on one or more policies to map data in the packet to a local identifier associated with a first non-participant service-function of the plurality of non-participant service-functions hosted within the service node; and

forward, by the configurable service proxy, the data in the packet to the first non-participant service-function that is hosted within the service node and that is associated with the local identifier.

17. The non-transitory computer readable storage media of claim 16 , further comprising instructions operable to:

receive, at the service node, an identification of which context headers in the received packet are to be evaluated for mapping the data in the packet to a local identifier.

18. The non-transitory computer readable storage media of claim 16 , further comprising instructions operable to:

receive, at the service node, an identification of the one or more policies for use in evaluating the context headers for mapping the data in the packet to a local identifier.

19. The non-transitory computer readable storage media of claim 16 , wherein the instructions operable to remove the service header from the packet comprise instructions operable to:

prior to forwarding the data in the packet to the first non-participant service-function associated with the local identifier, remove the context headers from the data.

20. The non-transitory computer readable storage media of claim 16 , where the instructions operable to evaluate the context headers in the packet based on one or more policies to determine a local identifier comprise instructions operable to:

determine a virtual local area networks (VLAN) associated with the first non-participant service-function.

21. The non-transitory computer readable storage media of claim 16 , further comprising instructions operable to:

receive, at the configurable service proxy, modified data from the first non-participant service-function associated with the local identifier;

encapsulate the modified data with the service header; and

determine, at the configurable service proxy based on the set of context headers, how to forward the packet.

22. The non-transitory computer readable storage media of claim 16 , wherein each context header carries service related information of a different scope that is relevant to one or more non-participant service-functions in the service path.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2013
From: QUINN, PAUL; GUICHARD, JAMES; KUMAR, SURENDRA
To: CISCO TECHNOLOGY, INC.
Reel/Frame 031399/0634 →
Continuity (1)
Related Publication 20150103827A1 · Apr 16, 2015