Software updates in a network interface device
US-2023259352-A1 · Aug 17, 2023 · US
US12489675B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12489675-B2 |
| Application number | US-202318347958-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 6, 2023 |
| Priority date | Jul 6, 2023 |
| Publication date | Dec 2, 2025 |
| Grant date | Dec 2, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods and apparatuses provide a disaggregated network operating system in which control plane and data plane components of the network operating system are distributed across a network controller and network elements. An information model describes a network element and identifies packet processing plug-ins executable by general purpose processors of the network element. The network controller uses the model to generate a packet pipeline program for execution by a programmable packet pipeline of the network element, and generates a list of packet processing plug-ins for handling offload conditions. The network controller transmits the packet pipeline program and list of packet processing plug-ins to the network element. The network element installs the packet pipeline program to the programmable packet pipeline and downloads the listed packet processing plug-ins. When the pipeline detects an offload condition, the pipeline forwards the network packet to the packet processing plug-in associated with the offload condition.
Opening claim text (preview).
What is claimed is: 1 . A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors of a network element, cause the network element to: receive, from a network controller, a packet pipeline program for a programmable packet pipeline of the network element, wherein the packet pipeline program includes instructions to detect one or more offload conditions; receive, from the network controller, one or more identifiers, each of the one or more identifiers corresponding to one of one or more packet processing plug-ins, each of the one or more packet processing plug-ins corresponding to one of the one or more offload conditions, the identifiers defining one of a Uniform Resource Locator (URL), a path name for a file, an index of a file, or a Globally Unique Identifier (GUID) associated with a file, download, for execution on the network element, the one or more packet processing plug-ins; receive, by the network element, a network packet; process the network packet by the programmable packet pipeline; and in response to the programmable packet pipeline detecting an offload condition while processing the network packet, transferring, by the programmable packet pipeline, the network packet to the packet processing plug-in corresponding to the offload condition, wherein the packet processing plug-in locally executes packet-level modifications autonomously based on pre-stored processing logic without communication or coordination with a separate control plane of management processor of the network element. 2 . The non-transitory computer-readable medium of claim 1 , wherein a packet processing plug-in of the one or more packet processing plug-ins is configured to: receive the network packet from the programmable packet pipeline; modify the network packet; and return the modified network packet to the programmable packet pipeline such that the packet is restarted in the pipeline. 3 . The non-transitory computer-readable medium of claim 1 , wherein a packet processing plug-in of the one or more packet processing plug-ins is configured to: receive the network packet from the programmable packet pipeline; modify the network packet; and redirect the network packet to an egress port of the network element prior to a destruction event of the pipeline. 4 . The non-transitory computer-readable medium of claim 3 , wherein the packet processing plug-in comprises a first packet processing plugin and the network element comprises a first network element, and wherein the instructions to redirect the network packet to the egress port of the network element comprise instructions to redirect the network packet to a second packet processing plug-in on a second network element, wherein the first packet processing plug-in is configured to interoperate with the second packet processing plug-in. 5 . The non-transitory computer-readable medium of claim 1 , wherein a packet processing plug-in of the one or more packet processing plug-ins is configured to: receive a second network packet from the programmable packet pipeline; process the second network packet by the programmable packet pipeline; and in response to the programmable packet pipeline detecting a second offload condition while processing the second network packet, transferring, by the programmable packet pipeline, the second network packet to a second packet processing plug-in corresponding to the second offload condition, the second packet processing plug-in executing on the network controller. 6 . The non-transitory computer-readable medium of claim 1 , wherein the packet pipeline program for the programmable packet pipeline comprises executable instructions configured for execution on specialized packet processing circuitry. 7 . The non-transitory computer-readable medium of claim 6 , wherein the one or more packet processing plug-ins comprise executable instructions configured for execution on a general purpose processor. 8 . An apparatus comprising: one or more processors; a programmable packet pipeline; and a computer-readable medium having stored thereon instructions executable by the one or more processors and configured to cause the one or more processors to: receive, from a network controller, a packet pipeline program for the programmable packet pipeline, wherein the packet pipeline program includes instructions to detect one or more offload conditions, receive, from the network controller, one or more identifiers, each of the one or more identifiers corresponding to one of one or more packet processing plug-ins, each of the one or more packet processing plug-ins corresponding to one of the one or more offload conditions, the identifiers defining one of a Uniform Resource Locator (URL), a path name for a file, an index of a file, or a Globally Unique Identifier (GUID) associated with a file, download, for execution by the one or more processors, the one or more packet processing plug-ins, wherein the programmable packet pipeline is configured to: receive a network packet, process the network packet, and in response to the programmable packet pipeline detecting an offload condition while processing the network packet, transferring, by the programmable packet pipeline, the network packet to the packet processing plug-in corresponding to the offload condition, where the packet processing plug-in locally executes packet-level modifications autonomously base on pre-stored processing logic without communication or coordination with a separate control plane or management processor of the network element. 9 . The apparatus of claim 8 , wherein a packet processing plug-in of the one or more packet processing plug-ins is configured to: receive the network packet from the programmable packet pipeline; modify the network packet; and return the modified network packet to the programmable packet pipeline. 10 . The apparatus of claim 8 , wherein a packet processing plug-in of the one or more packet processing plug-ins is configured to: receive the network packet from the programmable packet pipeline; modify the network packet; and redirect the network packet to an egress port of the apparatus. 11 . The apparatus of claim 8 , wherein a packet processing plug-in of the one or more packet processing plug-ins is configured to: receive a second network packet from the programmable packet pipeline; process the second network packet by the programmable packet pipeline; and in response to the programmable packet pipeline detecting a second offload condition while processing the second network packet, transferring, by the programmable packet pipeline, the second network packet to a second packet processing plug-in corresponding to the second offload condition, the second packet processing plug-in executing on the network controller. 12 . The apparatus of claim 8 , wherein the programmable packet pipeline comprises specialized packet processing circuitry. 13 . The apparatus of claim 12 , wherein the one or more packet processing plug-ins comprise executable instructions configured for execution on a general purpose processor of the apparatus. 14 . A method for creating a data plane in a disaggregated network operating system: receive, from a network controller, a packet pipeline program for a programmable packet pipeline of a network element, wherein the packet pipeline program includes instructions to detect one or more offload conditions; receive, from the network controller, one or more identifiers, each of the one or more identifiers corresponding to one of one or more packet proce
by diverting traffic away from congested entities · CPC title
Plug-and-play configuration · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.