Variable-based forwarding path construction for packet processing within a network device

US8948174B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8948174-B2
Application numberUS-201113172505-A
CountryUS
Kind codeB2
Filing dateJun 29, 2011
Priority dateJun 29, 2011
Publication dateFeb 3, 2015
Grant dateFeb 3, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In general, this disclosure describes techniques for applying, with a network device, subscriber-specific packet processing using an internal processing path that includes service objects that are commonly applied to multiple packet flows associated with multiple subscribers. In one example, a network device control plane creates subscriber records that include, for respective subscribers, one or more variable values that specify service objects as well as an identifier for a packet processing template. A forwarding plane of the network device receives and maps subscriber packets to an associated subscriber record and then processes the packet by executing the packet processing template specified by the subscriber record. When the forwarding plane reaches a variable while executing the specified packet processing template, the forwarding plane reads the associated variable value from the subscriber record to identify and then apply the subscriber-specific service object specified by the variable.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: installing, to an integrated circuit of a network device forwarding plane, a packet processing template that defines a plurality of internal execution paths within the integrated circuit for processing a plurality of packet flows mapped to the packet processing template, each of the plurality of internal execution paths including a common service object and one or more distinct service objects respectively representing corresponding hardware of the integrated circuit and chained together as a series of next hop operations applied by the integrated circuit, wherein different values for a variable of the packet processing template determine, at least in part, the internal execution paths of the plurality of internal execution paths for processing different packet flows of the plurality of packet flows; installing, to the network device forwarding plane, a first subscriber record for a first packet flow of the plurality of packet flows, wherein the first subscriber record includes a first variable value for the variable that identifies a first internal execution path of the plurality of internal execution paths; in response to receiving a first packet associated with the first packet flow, determining, by the integrated circuit of the network device forwarding plane based at least in part on the first subscriber record, the first variable value of the first subscriber record for the first packet flow; and in response to determining the first variable value identifies the first internal execution path of the plurality of execution paths, processing, by the integrated circuit of the network device forwarding plane, the first packet using the first internal execution path of the plurality of internal execution paths. 2. The method of claim 1 , wherein the first variable value specifies a first service object of the one or more distinct service objects of the first internal execution path, the method further comprising: determining the first variable value of the first subscriber record; and responsive to determining the first variable value, applying the first service object to the first packet. 3. The method of claim 1 , further comprising: installing, to the network device forwarding plane, a second subscriber record for a second packet flow of the plurality of packets flows, wherein the second subscriber record includes a second variable value for the variable that identifies a second internal execution path of the plurality of internal execution paths; in response to receiving, with the network device, a second packet associated with the second packet flow, determining, by the integrated circuit of the network device forwarding plane based at least in part on the second subscriber record, the second variable value of the second subscriber record for the second packet flow; in response to determining the second variable value identifies the second internal execution path of the plurality of execution paths, processing, by the integrated circuit of the network device forwarding plane, the second packet using the second internal execution path of the plurality of internal execution paths. 4. The method of claim 1 , further comprising: allocating a service object in the integrated circuit of the network device forwarding plane, wherein the service object comprises one of the one or more distinct service objects of the first internal execution path of the plurality of execution paths; and adding a service descriptor for the service object to the first subscriber record as the first variable value, wherein processing the first packet using the first internal execution path of the plurality of execution paths comprises: determining the first variable value for the first subscriber record to identify the service descriptor; resolving the service descriptor to the service object; and executing the service object to apply a first service to the first packet. 5. The method of claim 4 , wherein the service object is selected from the group consisting of a filter, classifier, class of service queue, counter, policer, lawful intercept component, traffic flow template, routing table, or mobility tunnel endpoint identifier handler. 6. The method of claim 1 , wherein processing the first packet using the first internal execution path of the plurality of execution paths comprises applying, by the integrated circuit of the network device forwarding plane, the common service to the first packet. 7. The method of claim 1 , further comprising: setting a default service object for the variable in the packet processing template, the default service object representing a hardware of the integrated circuit; installing, to the network device forwarding plane, a second subscriber record for a second packet flow that is different than the first packet flow; receiving a second packet associated with the second packet flow; applying, by the integrated circuit of the network device forwarding plane, a second service object to the second packet if the second subscriber record specifies a second variable value for the variable that specifies the second service object, the second service object representing a hardware of the integrated circuit; and applying the default service object to the second packet only if second subscriber record does not specify a second variable value for the variable. 8. The method of claim 1 , further comprising: installing, to the network device forwarding plane, a second subscriber record for a second packet flow that is different than the first packet flow; receiving a second packet associated with the second packet flow; applying, by the integrated circuit of the network device forwarding plane, a second service object to the second packet if the second subscriber record specifies a second variable value for the variable that specifies the second service object, the second service object representing a hardware of the integrated circuit; and applying no operation to the second packet for the variable if the second subscriber record does not specify a second variable value for the variable. 9. The method of claim 1 , wherein the first subscriber record specifies the packet processing template. 10. The method of claim 1 , further comprising: associating the packet processing template with a logical interface that determines a common set of services for the plurality of packet flows mapped to the logical interface; and specifying the logical interface in the first subscriber record. 11. The method of claim 10 , further comprising: installing, to the network device forwarding plane, a second subscriber record for a second packet flow of the plurality of packet flows; and specifying the logical interface in the second subscriber record. 12. The method of claim 1 , further comprising: adding, to the first subscriber record, a subscriber record lookup key that uniquely identifies the first subscriber record; applying a hash function to the first packet to generate a hash index, wherein the hash index references the first subscriber record; and matching the subscriber record lookup key to the first packet to associate the first subscriber record with the first packet. 13. The method of claim 12 , further comprising: adding, to the network device forwarding plane, a subscriber termination model lookup key that specifies one or more packet parameters, wherein values for the packet parameters uniquely identify a packet flow for a subscriber termination model; and applying the hash function to values of the first packet for the packet parameters, wherein the network device receiv

Assignees

Inventors

Classifications

  • Routing software · CPC title

  • Address table lookup; Address filtering · CPC title

  • Automatic or semi-automatic definitions, e.g. definition templates · CPC title

  • relying on flow classification, e.g. using integrated services [IntServ] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US8948174B2 cover?
In general, this disclosure describes techniques for applying, with a network device, subscriber-specific packet processing using an internal processing path that includes service objects that are commonly applied to multiple packet flows associated with multiple subscribers. In one example, a network device control plane creates subscriber records that include, for respective subscribers, one …
Who is the assignee on this patent?
Szyszko Andrzej, Mehta Apurva, Mehta Kumar, and 4 more
What technology area does this patent fall under?
Primary CPC classification H04L47/2441. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 03 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).