IP Library › Granted Patent US 12,088,465
Granted Patent B2
US 12,088,465 · App. 17/573,547 · Granted Sep 10, 2024

Methods and systems for upgrading a control plane and a data plane of a network appliance

Inventors: Sameer Kittur Subrahmanya (Fremont, CA); Krishna Doddapaneni (Cupertino, CA)
Assignee: Pensando Systems Inc.
H04L41/082H04L41/12H04L49/3063
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 12,088,465
App. No.
17/573,547
Granted
Sep 10, 2024
Kind
B2
Abstract

A network appliance can continue operation at a degraded level during an upgrade that requires less free pipeline memory than other upgrade techniques. The network appliance has a control plane and has a data plane with a packet processing pipeline circuit. Before the upgrade, the control plane has configured the packet processing pipeline circuit to process a network flow. The packet processing pipeline may be halted in order to perform a pipeline upgrade during which the packet processing pipeline circuit's pipeline memory is cleared. The packet processing pipeline circuit is restarted after the pipeline upgrade after which the control plane can reconfigure the packet processing pipeline circuit to process the network flow. The packet processing pipeline circuit can therefore process the network flow after the pipeline upgrade.

Claims (88)

1. A method comprising:

configuring a packet processing pipeline circuit to process a network flow by writing a network flow configuration data for the network flow into a table;

halting the packet processing pipeline circuit in order to perform a pipeline upgrade after the packet processing pipeline circuit is configured to process the network flow;

performing the pipeline upgrade after halting the packet processing pipeline circuit;

clearing the table while performing the pipeline upgrade;

restarting the packet processing pipeline circuit after performing the pipeline upgrade; and

reconfiguring the packet processing pipeline circuit to process the network flow by writing the network flow configuration data into the table after performing the pipeline upgrade,

wherein clearing the table causes the packet processing pipeline circuit to lose configuration for processing the network flow.

2. The method of claim 1 , wherein:

a network appliance includes the packet processing pipeline circuit and a control plane;

the network appliance receives a pre-upgrade packet of the network flow;

the control plane produces flow processing data by applying a plurality of networking rules to the pre-upgrade packet; and

the control plane uses the flow processing data to configure the packet processing pipeline circuit to process the network flow before performing the pipeline upgrade.

3. The method of claim 2 , wherein:

the network appliance receives an interim packet after performing the pipeline upgrade and before performing a control plane upgrade; and

the control plane uses the flow processing data to process the interim packet.

4. The method of claim 2 , wherein:

the control plane uses the flow processing data to reconfigure the packet processing pipeline circuit to process the network flow after performing the pipeline upgrade.

5. The method of claim 2 , wherein:

after performing the pipeline upgrade, the control plane produces post-upgrade flow processing data by applying the networking rules to a post-upgrade packet of the network flow; and

the control plane uses the post-upgrade flow processing data to reconfigure the packet processing pipeline circuit to process the network flow.

6. The method of claim 5 , wherein:

the control plane uses the post-upgrade flow processing data to produce post-upgrade pipeline configuration data; and

the control plane uses the post-upgrade pipeline configuration data to reconfigure the packet processing pipeline circuit to process the network flow.

7. The method of claim 2 , wherein:

the control plane uses the flow processing data to produce pre-upgrade pipeline configuration data;

the control plane uses the pre-upgrade pipeline configuration data to configure the packet processing pipeline circuit to process the network flow before performing the pipeline upgrade;

the control plane uses the flow processing data to produce post-upgrade pipeline configuration data; and

the control plane uses the post-upgrade pipeline configuration data to reconfigure the packet processing pipeline circuit to process the network flow after performing the pipeline upgrade.

8. The method of claim 7 , wherein:

the table is stored in a pipeline memory circuit; and

the pipeline memory circuit is more than half full when the pipeline upgrade is initiated.

9. The method of claim 2 , wherein:

a post-upgrade packet causes a flow miss in the packet processing pipeline circuit after the pipeline upgrade is performed; and

the flow miss causes the control plane to reconfigure the packet processing pipeline circuit to process the network flow.

10. The method of claim 2 , wherein:

the network flow includes an interim packet and a post-upgrade packet;

the network appliance receives the interim packet after performing the pipeline upgrade and before performing a control plane upgrade;

the network appliance receives the post-upgrade packet after performing the pipeline upgrade and after performing the control plane upgrade;

the control plane uses the flow processing data to produce a processed interim packet by processing the interim packet;

the packet processing pipeline circuit produces a processed post-upgrade packet by processing the post-upgrade packet after the control plane upgrade is performed; and

the processed interim packet and the processed post-upgrade packet are sent to a network destination.

11. The method of claim 1 , further including:

performing a control plane upgrade after performing the pipeline upgrade and before reconfiguring the packet processing pipeline circuit to process the network flow.

12. The method of claim 11 , wherein:

an interim packet is received between the pipeline upgrade and the control plane upgrade;

the interim packet causes the packet processing pipeline circuit to produce a flow miss;

the packet processing pipeline circuit sends the flow miss for the control plane; and

the control plane processes the interim packet before the control plane upgrade.

13. A network appliance comprising:

a control plane that includes a plurality of CPU cores; and

a data plane that includes a packet processing pipeline circuit,

wherein

the control plane configures the packet processing pipeline circuit to process a network flow by writing a network flow configuration data for the network flow into a table,

the control plane halts the packet processing pipeline circuit in order to perform a pipeline upgrade,

the control plane performs the pipeline upgrade while the packet processing pipeline circuit is halted,

the pipeline upgrade includes clearing the table,

the control plane restarts the packet processing pipeline circuit after performing the pipeline upgrade,

the control plane reconfigures the packet processing pipeline circuit to process the network flow after performing the pipeline upgrade,

the pipeline upgrade is performed after the packet processing pipeline circuit is configured to process the network flow, and

clearing the table causes the packet processing pipeline circuit to lose configuration for processing the network flow.

14. The network appliance of claim 13 , wherein:

the network appliance receives a pre-upgrade packet of the network flow;

the CPU cores produce flow processing data by applying a plurality of networking rules to the pre-upgrade packet; and

the CPU cores use the flow processing data to configure the packet processing pipeline circuit to process the network flow before performing the pipeline upgrade.

15. The network appliance of claim 14 , wherein:

the network appliance receives an interim packet after the pipeline upgrade and before a control plane upgrade; and

the control plane uses the flow processing data to process the interim packet.

16. The network appliance of claim 14 , wherein:

the control plane uses the flow processing data to reconfigure the packet processing pipeline circuit to process the network flow after performing the pipeline upgrade.

17. The network appliance of claim 14 , wherein:

after performing the pipeline upgrade, the control plane produces post-upgrade flow processing data by applying the networking rules to a post-upgrade packet of the network flow; and

the control plane uses the post-upgrade flow processing data to reconfigure the packet processing pipeline circuit to process the network flow.

18. The network appliance of claim 13 , wherein:

a post-upgrade packet causes a flow miss in the packet processing pipeline circuit after the pipeline upgrade is performed; and

the flow miss causes the control plane to reconfigure the packet processing pipeline circuit to process the network flow.

19. The network appliance of claim 13 , wherein:

the packet processing pipeline circuit produces a processed post-upgrade packet by processing a post-upgrade packet after performing the pipeline upgrade; and

the processed post-upgrade packet is sent to a network destination.

20. A system comprising:

a pipeline configuration means for configuring a packet processing pipeline circuit to process a network flow;

a pipeline upgrade means for performing a pipeline upgrade that upgrades the packet processing pipeline circuit;

a means for halting the packet processing pipeline circuit while performing the pipeline upgrade; and

a means for restarting the packet processing pipeline circuit after performing the pipeline upgrade

wherein

the pipeline configuration means configures the packet processing pipeline circuit to process the network flow before the pipeline upgrade is performed,

performing the pipeline upgrade results in the packet processing pipeline circuit being not configured to process the network flow, and

the pipeline configuration means reconfigures the packet processing pipeline circuit to process the network flow after the pipeline upgrade is performed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2022
From: SUBRAHMANYA, SAMEER KITTUR; DODDAPANENI, KRISHNA
To: PENSANDO SYSTEMS INC.
Reel/Frame 058631/0846 →
Continuity (1)
Related Publication 20230224217A1 · Jul 13, 2023
Cited By (4)
US 12,495,051 US 12,549,440 US 12,609,874 US 12,719,897