# US 9,438,512 B2 · Stacking metadata contexts for service chains

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,512 B2
- Document ID: US9438512B2
- Status: Granted
- Kind: B2
- Application number: 14/851,236
- Filed: 2015-09-11
- Published: 2016-01-07
- Granted: 2016-09-06
- Earliest claimed: 2013-06-05
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: James Guichard; Paul Quinn; David Ward; Surendra Kumar; Nagaraj A. Bagepalli; Michael R. Smith; Navindra Yadav
- Web page: https://patentgrep.com/patent/US9438512B2

## CPC

- H04L 45/566: {Routing instructions carried by the data packet, e.g. active networks}
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 69/22: Parsing or analysis of headers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Presented herein are techniques useful in a network comprising a plurality of network nodes each configured to apply one or more service functions to traffic that passes through the respective network nodes. A network node receives packets encapsulated in a service header that includes information defining a first set of context headers stacked into an association of metadata that is relevant to one or more service functions within a service path comprised of one or more network nodes. The network node performs at least one of the service functions in the service path and rewrites the service header with a second set of context headers. The second set of context headers include metadata derived from performing the service function(s) at the network node.

## Claims

### Claim 1

A method comprising:
in a network comprising a plurality of network nodes each configured to apply one or more service functions to traffic that passes through the respective network nodes, receiving at a network node packets encapsulated in a service header that includes a first set of context headers with metadata that is relevant to one or more service functions within a service path comprised of one or more network nodes;
at the network node, performing at least one of the service functions in the service path; and
rewriting the service header with a second set of context headers including metadata derived from performing the at least one service function at the network node.

### Claim 2 (depends on 1)

The method of claim 1, further comprising determining how to forward traffic at the network node based solely on the service header or the second set of context headers in the service header.

### Claim 3 (depends on 2)

The method of claim 2, wherein determining how to forward traffic at the network node comprises determining whether to bypass a service function at the network node based on the first set of context headers contained in the service header.

### Claim 4 (depends on 1)

The method of claim 1, wherein a length of each context header is variable.

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 1)

The method of claim 1, wherein the service header includes a base context header that specifies a service path identifier for the service path, and a length value corresponding to the number of context headers contained in the service header, a context length field for each context, and a context field containing the metadata for the corresponding context header.

### Claim 7 (depends on 1)

The method of claim 1, further comprising at the network node, interpreting each context header in the first set of context headers and deriving a service profile used for performing the at least one service function at the network node in the service path.

### Claim 8 (depends on 1)

The method of claim 1, further comprising, at the network node, transforming network traffic in accordance with metadata for a particular context header in order to support a particular service function.

### Claim 9 (depends on 1)

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

### Claim 10 (depends on 1)

The method of claim 1, further comprising the plurality of network nodes storing information, a priori, indicating the structure and definitions on which the second set of context headers are based.

### Claim 11

An apparatus comprising:
a network interface unit configured to enable communications over a network, the network comprising a plurality of network nodes each configured to apply one or more service functions to traffic that passes through the respective network nodes;
a memory; and
a processor coupled to the network interface unit and the memory, wherein the processor is configured to:
receive packets encapsulated in a service header that includes a first set of context headers with metadata that is relevant to one or more service functions within a service path comprised of one or more network nodes;
perform at least one of the service functions in the service path; and
rewrite the service header with a second set of context headers including metadata derived from performing the at least one service function.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the processor is configured to determine how to forward traffic at the network node based solely on the service header or the second set of context headers in the service header.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the processor is configured to determine whether to bypass a service function at the network node based on the first set of context headers contained in the service header.

### Claim 14 (depends on 11)

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

### Claim 15 (depends on 11)

The apparatus of claim 11, wherein the processor is configured to interpret each context header in the first set of context headers and derive a service profile used for performing the at least one service function at the network node in the service path.

### Claim 16

One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions and when the software is executed operable to:
receive, at a network node, packets encapsulated in a service header that includes a first set of context headers with metadata that is relevant to one or more service functions within a service path comprised of one or more network nodes;
perform at least one of the service functions in the service path; and
rewrite the service header with a second set of context headers including metadata derived from performing the at least one service function.

### Claim 17 (depends on 16)

The computer readable storage media of claim 16, further comprising instructions operable to determine how to forward traffic at the network node based solely on the service header or the second set of context headers in the service header.

### Claim 18 (depends on 17)

The computer readable storage media of claim 17, further comprising instructions operable to determine whether to bypass a service function at the network node based on the first set of context headers contained in the service header.

### Claim 19 (depends on 16)

The computer readable storage media of claim 16, further comprising instructions operable to interpret each context header in the first set of context headers and derive a service profile used for performing the at least one service function at the network node in the service path.

### Claim 20 (depends on 16)

The computer readable storage media of claim 16, wherein the service header includes a base context header that specifies a service path identifier for the service path, a length value corresponding to the number of context headers contained in the service header, a context length field for each context, and a context field containing the metadata for the corresponding context header.
