In-service software upgrade of virtual router with reduced packet loss
First Claim
1. A method comprising:
- receiving, by at least one processor of a plurality of compute nodes configured to perform compute functions for a plurality of session instances of a cloud data center, a request to perform an in-services software upgrade (ISSU) of a first packet forwarding component for a virtual router, wherein the first packet forwarding component executes within a kernel space of a memory of the plurality of compute nodes and is configured to forward traffic flows for the plurality of session instances, and wherein a first virtual routing agent for the virtual router executes within a user space of the memory and is configured to maintain flow state information for the traffic flows forwarded by the first packet-forwarding component of the virtual router;
spawning, by the at least one processor, a second packet forwarding component for the virtual router within the kernel space of the memory;
spawning, by the at least one processor, a second virtual routing agent for the virtual router within the user space of the memory, wherein the second virtual routing agent is configured to maintain flow state information for the traffic flows forwarded by the second packet-forwarding component of the virtual router;
synchronizing, by the at least one processor, the flow state information of the first virtual routing agent and the flow state information of the second virtual routing agent; and
after synchronizing the flow state information of the first virtual routing agent and the flow state information of the second virtual routing agent, directing, by the at least one processor, the traffic flows for the plurality of session instances from the first packet forwarding component of the virtual router to the second packet forwarding component of the virtual router without interrupting traffic flow forwarding for the plurality of session instances by the virtual router.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed for performing an In-Service Software Upgrade (“ISSU”) of a first packet forwarding component (PFC) of a virtual router configured to forward traffic flows for a plurality of session instances within a cloud-based data center. The techniques described herein may retain flow state information throughout the ISSU process without interrupting network traffic flow. In one example, a processor of a plurality of compute nodes within the data center receives a request to perform an ISSU of the first PFC. The processor spawns a second virtual routing agent and a second PFC. The second virtual routing agent synchronizes flow state information with a first virtual routing agent for the virtual router. After synchronizing the flow state information, the virtual router switches from forwarding traffic flows by the first PFC to forwarding traffic flows by the second PFC. The ISSU process deactivates the first virtual router and the first PFC.
44 Citations
19 Claims
-
1. A method comprising:
-
receiving, by at least one processor of a plurality of compute nodes configured to perform compute functions for a plurality of session instances of a cloud data center, a request to perform an in-services software upgrade (ISSU) of a first packet forwarding component for a virtual router, wherein the first packet forwarding component executes within a kernel space of a memory of the plurality of compute nodes and is configured to forward traffic flows for the plurality of session instances, and wherein a first virtual routing agent for the virtual router executes within a user space of the memory and is configured to maintain flow state information for the traffic flows forwarded by the first packet-forwarding component of the virtual router; spawning, by the at least one processor, a second packet forwarding component for the virtual router within the kernel space of the memory; spawning, by the at least one processor, a second virtual routing agent for the virtual router within the user space of the memory, wherein the second virtual routing agent is configured to maintain flow state information for the traffic flows forwarded by the second packet-forwarding component of the virtual router; synchronizing, by the at least one processor, the flow state information of the first virtual routing agent and the flow state information of the second virtual routing agent; and after synchronizing the flow state information of the first virtual routing agent and the flow state information of the second virtual routing agent, directing, by the at least one processor, the traffic flows for the plurality of session instances from the first packet forwarding component of the virtual router to the second packet forwarding component of the virtual router without interrupting traffic flow forwarding for the plurality of session instances by the virtual router. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. At least one processor of a plurality of compute nodes configured to perform compute functions for a plurality of session instances of a cloud data center, the at least one processor configured to:
-
receive a request to perform an in-services software upgrade (ISSU) of a first packet forwarding component for a virtual router, wherein the first packet forwarding component executes within a kernel space of a memory of the plurality of compute nodes and is configured to forward traffic flows for the plurality of session instances, and wherein a first virtual routing agent for the virtual router executes within a user space of the memory and is configured to maintain flow state information for the traffic flows forwarded by the first packet-forwarding component of the virtual router; spawn a second packet forwarding component for the virtual router within the kernel space of the memory; spawn a second virtual routing agent for the virtual router within the user space of the memory, wherein the second virtual routing agent is configured to maintain flow state information for the traffic flows forwarded by the second packet-forwarding component of the virtual router; synchronize the flow state information of the first virtual routing agent and the flow state information of the second virtual routing agent; and after synchronizing the flow state information of the first virtual routing agent and the flow state information of the second virtual routing agent, direct the traffic flows for the plurality of session instances from the first packet forwarding component of the virtual router to the second packet forwarding component of the virtual router without interrupting traffic flow forwarding for the plurality of session instances by the virtual router. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium comprising instructions that, when executed, cause at least one processor of a plurality of compute nodes configured to perform compute functions for a plurality of session instances of a cloud data center to:
-
receive a request to perform an in-services software upgrade (ISSU) of a first packet forwarding component for a virtual router, wherein the first packet forwarding component executes within a kernel space of a memory of the plurality of compute nodes and is configured to forward traffic flows for the plurality of session instances, and wherein a first virtual routing agent for the virtual router executes within a user space of the memory and is configured to maintain flow state information for the traffic flows forwarded by the first packet-forwarding component of the virtual router; spawn a second packet forwarding component for the virtual router within the kernel space of the memory; spawn a second virtual routing agent for the virtual router within the user space of the memory, wherein the second virtual routing agent is configured to maintain flow state information for the traffic flows forwarded by the second packet-forwarding component of the virtual router; synchronize the flow state information of the first virtual routing agent and the flow state information of the second virtual routing agent; and after synchronizing the flow state information of the first virtual routing agent and the flow state information of the second virtual routing agent, direct the traffic flows for the plurality of session instances from the first packet forwarding component of the virtual router to the second packet forwarding component of the virtual router without interrupting traffic flow forwarding for the plurality of session instances by the virtual router. - View Dependent Claims (18, 19)
-
Specification