Data plane restart without state change in a control plane of an intermediate network node
First Claim
1. A method for restarting a data plane of an intermediate node of a computer network without affecting state information stored on a control plane of the node, the method comprising the steps of:
- executing an operating system on a supervisor processor, the operating system having a platform independent code region and a platform specific code region, the platform independent code region having code features to build forwarding information base (FIB) tables for designated protocols;
coupling client software to each code feature, the client software also coupling to the platform specific code region of the operating system;
maintaining a current state of the control plane with the supervisor processor of the control plane;
detecting a fatal error in the data plane at the supervisor processor, the data plane including hardware components;
notifying the client software about the fatal error;
restarting only the data plane while continuing operation of the control plane; and
loading software into the hardware components of the data plane by the client software.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and technique restarts a data plane of an intermediate node, such as an aggregation router, of a computer network without changing the state of a control plane in the router. The aggregation router comprises a control plane that includes a supervisor processor configured to manage traffic forwarding operations of the node. To that end, the supervisor processor maintains a current state of the control plane pertaining to, e.g., routing protocols and interface states of line cards within the router. The aggregation router further comprises a data plane that includes hardware components, such as a forwarding engine, configured to perform forwarding operations for data forwarded by the router.
-
Citations
33 Claims
-
1. A method for restarting a data plane of an intermediate node of a computer network without affecting state information stored on a control plane of the node, the method comprising the steps of:
-
executing an operating system on a supervisor processor, the operating system having a platform independent code region and a platform specific code region, the platform independent code region having code features to build forwarding information base (FIB) tables for designated protocols;
coupling client software to each code feature, the client software also coupling to the platform specific code region of the operating system;
maintaining a current state of the control plane with the supervisor processor of the control plane;
detecting a fatal error in the data plane at the supervisor processor, the data plane including hardware components;
notifying the client software about the fatal error;
restarting only the data plane while continuing operation of the control plane; and
loading software into the hardware components of the data plane by the client software. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
notifying clients of an operating system about the fatal error, the operating system executing on the supervisor processor;
invoking an exception handler routine to resolve the fatal error; and
terminating further attempts by the clients to access the hardware components of data plane while in the exception state.
-
-
6. The method of claim 4 wherein the step of invoking comprises the steps of:
-
collecting information to determine a source of the fatal error; and
debugging the fatal error using the collected information.
-
-
7. The method of claim 4 wherein the step of restarting comprises the steps of, in response to resolving the fatal error:
-
resetting the hardware components of the data plane; and
re-synchronizing the hardware components with the state information stored on the control plane.
-
-
8. The method of claim 7 wherein the step of re-synchronizing comprises the step of re-synchronizing a forwarding engine of the data plane.
-
9. The method of claim 7 wherein the step of restarting further comprises the step of reloading software into the hardware components of the data plane.
-
10. The method of claim 7 wherein the state information comprises interface states of line cards within the intermediate node.
-
11. The method of claim 7 further comprising the steps of
notifying the clients that they can again access the hardware components of data plane; - and
downloading configuration information into the hardware components of the data plane.
- and
-
12. The method of claim 11 wherein the step of downloading comprises the step of downloading configuration information into a forwarding engine of the data plane.
-
13. The method of claim 1 wherein the step of restarting comprises the steps of:
-
resetting the hardware components of the data plane; and
re-synchronizing the hardware components with the state information stored on the control plane.
-
-
14. The method of claim 13 wherein the step of re-synchronizing comprises the step of re-synchronizing a forwarding engine of the data plane.
-
15. The method of claim 13 wherein the step of restarting further comprises the step of reloading software into the hardware components of the data plane.
-
16. The method of claim 13 wherein the state information comprises interface states of line cards within the intermediate node.
-
5. A method for restarting a data plane of an intermediate node of a computer network without affecting state information stored on a control plane of the node, the method comprising the steps of:
-
maintaining a current state of the control plane with a supervisor processor of the control plane;
reporting an exception state by at least one hardware component of the data plane to detect a fatal error in the data plane at the supervisor processor, the data plane including hardware components;
restarting only the data plane while continuing operation of the control plane;
issuing registered call back functions to the clients from driver software executing on the supervisor processor to notify clients of an operating system about the fatal error, the operating system executing on the supervisor processor;
invoking an exception handler routine to resolve the fatal error; and
terminating further attempts by the clients to access the hardware components of data plane while in the exception state.
-
-
17. A system for restarting a data plane of an intermediate node of a computer network without changing state information stored on a control plane of the node, the system comprising:
-
components of the data plane adapted to receive packets from the computer network and provide the packets to a forwarding engine of the data plane, the forwarding engine configured to perform forwarding operations on the packets;
a supervisor processor of the control plane configured to manage traffic forwarding operations of the node and maintain a current state of the control plane, the supervisor processor detecting a fatal error in the data plane and restarting only the data plane while continuing operation of the control plane;
means for executing an operating system on the supervisor processor, the operating system having a platform independent code region and a platform specific code region, the platform independent code region having code features to build forwarding information base (FIB) tables for designated protocols;
means for coupling client software to each code feature, the client software also coupling to the platform specific code region of the operating system;
means for notifying the client software about the fatal error; and
means for loading software into the hardware components of the data plane by the client software in response to the restarting the data plane. - View Dependent Claims (18, 19, 20, 21, 22, 23)
an operating system executing on the supervisor processor;
a plurality of client modules logically interacting with reset software of the operating system to enable execution of portions of the reset software that control the data plane;
a driver executed by the supervisor processor, the driver notifying the client modules of the fatal error; and
an exception handler invoked by the operating system to resolve the fatal error.
-
-
19. The system of claim 17 wherein the intermediate node is a router.
-
20. The system of claim 17 wherein the intermediate node is an aggregation router.
-
21. The system of claim 20 wherein the supervisor processor is a route processor.
-
22. The system of claim 21 wherein the route processor restarts the data plane by resetting the components of the data plane and re-synchronizing the forwarding engine with the state information stored on the control plane.
-
23. The system of claim 22 wherein the state information comprises interface states of line cards within the aggregation router.
-
24. Apparatus for restarting a data plane of an intermediate network node without affecting state information stored on a control plane of the node, the apparatus comprising:
-
means for maintaining a current state of the control plane;
means for detecting a fatal error in the data plane, the data plane including hardware components;
means for restarting only the data plane while continuing operation of the control plane;
means for executing an operating system on the supervisor processor, the operating system having a platform independent code region and a platform specific code region, the platform independent code region having code features to build forwarding information base (FIB) tables for designated protocols;
means for coupling client software to each code feature, the client software also coupling to the platform specific code region of the operating system;
means for notifying the client software about the fatal error; and
means for loading software into the hardware components of the data plane by the client software in response to the restarting the data plane. - View Dependent Claims (25, 26, 27)
means for notifying clients of an operating system of the control plane about the fatal error;
means for invoking an exception handler routine to resolve the fatal error; and
means for terminating further attempts by the clients to access the hardware components of data plane while in the exception state.
-
-
27. The apparatus of claim 26 wherein the means for restarting comprises, in response to resolving the fatal error:
-
means for resetting the hardware components of the data plane; and
means for re-synchronizing the hardware components with the state information stored on the control plane.
-
-
28. A computer readable medium containing executable program instructions for restarting a data plane of a router without changing state information stored on a control plane of the router, the executable program instructions comprising program instructions for:
-
maintaining a current state of the control plane with a supervisor processor of the control plane;
detecting a fatal error in the data plane at the supervisor processor, the data plane including hardware components;
restarting only the data plane while continuing operation of the control plane;
executing an operating system on the supervisor processor, the operating system having a platform independent code region and a platform specific code region, the platform independent code region having code features to build forwarding information base (FIB) tables for designated protocols;
coupling client software to each code feature, the client software also coupling to the platform specific code region of the operating system;
notifying the client software about the fatal error; and
loading software into the hardware components of the data plane by the client software in response to the restarting the data plane. - View Dependent Claims (29, 30, 31)
notifying clients of an operating system about the fatal error, the operating system executing on the supervisor processor;
invoking an exception handler routine to resolve the fatal error; and
terminating further attempts by the clients to access the hardware components of data plane while in the exception state.
-
-
31. The computer readable medium of claim 30 wherein the program instruction for restarting comprises program instructions for, in response to resolving the fatal error:
-
resetting the hardware components of the data plane; and
re-synchronizing the hardware components with the state information stored on the control plane.
-
-
32. Electromagnetic signals propagating on a computer network, comprising:
-
said electromagnetic signals carrying instructions for execution on a processor for the practice of the method steps, executing an operating system on a supervisor processor, the operating system having a platform independent code region and a platform specific code region, the platform independent code region having code features to build forwarding information base (FIB) tables for designated protocols;
coupling client software to each code feature, the client software also coupling to the platform specific code region of the operating system;
maintaining a current state of the control plane with the supervisor processor of the control plane;
detecting a fatal error in the data plane at the supervisor processor, the data plane including hardware components;
notifying the client software about the fatal error;
restarting only the data plane while continuing operation of the control plane; and
loading software into the hardware components of the data plane by the client software to restart a data plane of an intermediate node of a computer network without affecting state information stored on a control plane of the node.
-
-
33. An intermediate node of a computer network, comprising:
-
components of a data plane adapted to receive packets from the computer network and provide the packets to a forwarding engine of the data plane, the forwarding engine configured to perform forwarding operations on the packets;
a supervisor processor of the control plane configured to manage traffic forwarding operations of the node and maintain a current state of the control plane, the supervisor processor detecting a fatal error in the data plane and restarting only the data plane while continuing operation of the control plane;
means for executing an operating system on the supervisor processor, the operating system having a platform independent code region and a platform specific code region, the platform independent code region having code features to build forwarding information base (FIB) tables for designated protocols;
means for coupling client software to each code feature, the client software also coupling to the platform specific code region of the operating system;
means for notifying the client software about the fatal error; and
means for loading software into the hardware components of the data plane by the client software in response to the restarting the data plane, to restart the data plane without changing state information stored on the control plane of the node.
-
Specification