Methods and systems for processing data in a programmable data processing pipeline that includes out-of-pipeline processing

US2021263744A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2021263744-A1
Application numberUS-202016797854-A
CountryUS
Kind codeA1
Filing dateFeb 21, 2020
Priority dateFeb 21, 2020
Publication dateAug 26, 2021
Grant date

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.

Methods and system for processing data in a programmable processing pipeline are disclosed. In an embodiment, a method for processing packets in a programmable packet processing pipeline is disclosed. The method involves processing data corresponding to a packet through a match-action pipeline of a programmable packet processing pipeline, and diverting the processing of data corresponding to the packet from the match-action pipeline to a processor core for out-of-pipeline processing.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for processing packets in a programmable packet processing pipeline, the method comprising: processing data corresponding to a packet through a match-action pipeline of a programmable packet processing pipeline; and diverting the processing of data corresponding to the packet from the match-action pipeline to a processor core for out-of-pipeline processing. 2 . The method of claim 1 , further comprising returning a result of the out-of-pipeline processing back to the match-action pipeline for further processing. 3 . The method of claim 2 , wherein returning a result of the out-of-pipeline processing back to the match-action pipeline comprises queuing the result for use by a next stage of the match-action pipeline. 4 . The method of claim 1 , wherein diverting the processing of data corresponding to the packet from the match-action pipeline to a processor core comprises reading a field in a packet header vector that is processed in the match-action pipeline and diverting the processing of data corresponding to the packet in response to reading the field in the packet header vector. 5 . The method of claim 4 , wherein diverting the processing of data corresponding to the packet from the match-action pipeline to a processor core comprises queuing at least a portion of the packet header vector for use by the processor core. 6 . The method of claim 1 , wherein diverting the processing of data corresponding to the packet from the match-action pipeline to a processor core comprises providing a packet header vector to the processor core via direct memory access (DMA). 7 . The method of claim 1 , further comprising parsing header information corresponding to the packet to generate a packet header vector and providing the packet header vector to the match-action pipeline. 8 . The method of claim 1 , wherein processing data through a match-action pipeline comprises processing a packet header vector that is generated from header information of the packet. 9 . The method of claim 1 , wherein the programmable packet processing pipeline is programmable according to the P4 language specification as provided by the P4 Language Consortium. 10 . The method of claim 1 , further comprising programming the programmable packet processing pipeline according to the P4 language specification as provided by the P4 Language Consortium. 11 . The method of claim 1 , further comprising diverting the processing of data corresponding to multiple packets from a flow of packets to maintain packet ordering of the flow of packets. 12 . The method of claim 11 , wherein the multiple packets from the flow of packets are diverted to the same processor core for out-of-pipeline processing. 13 . The method of claim 11 , wherein a flow of packets is packets that have common header values. 14 . The method of claim 11 , wherein a flow of packets consists of packets that have the same source IP address, source port number, destination IP address, destination port number, and protocol. 15 . A system for processing packets, the system comprising: a programmable packet processing pipeline that includes a match-action pipeline; multiple processor cores; a pipeline-processor interface that connects the programmable packet processing pipeline to the multiple processor cores; and diversion logic configured to divert the processing of data corresponding to a packet from the match-action pipeline to at least one processor core of the multiple processor cores via the pipeline-processor interface for out-of-pipeline processing. 16 . The system of claim 15 , wherein the pipeline-processor interface is configured to return a result of the out-of-pipeline processing back to the match-action pipeline for further processing. 17 . The system of claim 15 , wherein the pipeline-processor interface includes memory configured to queue data corresponding to the packet as the processing transitions between the programmable packet processing pipeline and the processor cores. 18 . The system of claim 15 , wherein the diversion logic is configured to read a value of a packet header vector and to divert the processing from the match-action pipeline to at least one processor core of the multiple processor cores in response to the read value. 19 . The system of claim 15 , wherein the diversion logic comprises programmable decision logic and select logic, wherein the programmable decision logic is configured to read a value of a packet header vector and to control the select logic to select between available options of a match-action unit of the programmable packet processing pipeline and at least one processor core of the multiple processor cores. 20 . The system of claim 15 , wherein the programmable packet processing pipeline includes a programmable parser and a programmable deparser, and wherein the match-action pipeline includes a series of programmable match-action units located in a process flow between the programmable parser and the programmable deparser. 21 . The system of claim 15 , wherein the match-action pipeline includes a series of match-action units and wherein the match-action units of the match-action pipeline include a match unit having key construction logic and a match table. 22 . The system of claim 15 , wherein the programmable packet processing pipeline is programmable according to the P4 language specification as provided by the P4 Language Consortium. 23 . A method for processing data in a programmable data processing pipeline, the method comprising: processing data corresponding to a data set through a match-action pipeline of a programmable processing pipeline; and diverting the processing of data corresponding to the data set from the match-action pipeline to a processor core for out-of-pipeline processing. 24 . The method of claim 23 , further comprising returning a result of the out-of-pipeline processing back to the match-action pipeline for further processing.

Assignees

Inventors

Classifications

  • using a mask · CPC title

  • Instructions to perform operations on packed data, e.g. vector, tile or matrix operations · CPC title

  • Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272) · CPC title

  • Interconnection of networks using encapsulation techniques, e.g. tunneling · CPC title

  • Pipelined decoding, e.g. using predecoding · 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 US2021263744A1 cover?
Methods and system for processing data in a programmable processing pipeline are disclosed. In an embodiment, a method for processing packets in a programmable packet processing pipeline is disclosed. The method involves processing data corresponding to a packet through a match-action pipeline of a programmable packet processing pipeline, and diverting the processing of data corresponding to th…
Who is the assignee on this patent?
Pensando Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L12/4633. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Aug 26 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).