IP Library Patent Application 14395399
Patent Application
App. No. 14/395,399

SOFTWARE UPGRADE OF ROUTERS

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 None
App. No.
14/395,399
Abstract

According to an example a router includes a control plane CPU, a data plane CPU, a first memory area and a second memory area independent from the first memory area. When the router upgrades its software, the control plane CPU is reset and clears the first memory area. After being reset, the control plane CPU loads a new version control plane program into the first memory area and runs the new version control plane program in the first memory area.

Claims (34)

1 . A router to forward data packets, the router comprising:

a multi-core central processing unit (CPU) including a control plane CPU and a data plane CPU;

a first memory area; and

a second memory area independent from the first memory area, wherein

the first memory area is to store a control plane program relating to a routing protocol;

the second memory area is to store a data plane program relating to data packet forwarding processing;

the data plane CPU is to run the data plane program in the second memory area to process data packets;

the control plane CPU is to run the control plane program in the first memory area to process protocol packets;

when the router upgrades its software, the control plane CPU is to reset and to clear the first memory area without resetting the data plane CPU and without clearing the second memory area;

after being reset, the control plane CPU is to load a new version control plane program into the first memory area and run the new version control plane program in the first memory area.

2 . The router according to claim 1 , wherein the second memory area is further to store forwarding entries generated and issued by the control plane CPU, and the data plane CPU is further to forward the data packets according to the forwarding entries in the second memory area, and the control plane CPU comprises:

a determination module to determine whether a format of new forwarding entries corresponding to the new version control plane program is the same as a format of old forwarding entries corresponding to an old version control plane program before upgrading;

a conversion module to perform format conversion on the old forwarding entries in the second memory area, wherein the format conversion includes converting the format of the old forwarding entries to be consistent with the format of the new forwarding entries when the determination module determines that the format of the new forwarding entries is different from the format of the old forwarding entries.

3 . The router according to claim 2 , wherein the control plane CPU executes a write module, wherein

when the determination module determines that the format of the new forwarding entries is the same as the format of the old forwarding entries, or after the conversion module has performed format conversion on the old forwarding entries in the second memory area, the determination module is further to determine whether to upgrade the data plane program; and

the write module is to write new version data plane program into a reserved area of the second memory area when the determination module determines to upgrade the data plane program, and the reserved area is independent of a save location of the old version data plane program.

4 . The router according to claim 3 , wherein the data plane CPU comprises CPU cores that switch one by one from the old version data plane program to the new version data plane program, and to switch one by one comprises after one of the CPU core switches to the new version data plane program, a next CPU core of the CPU cores begins to switch to the new version data plane program.

5 . The router according to claim 4 , wherein the control plane CPU further comprises:

a deleting module to delete the old version data plane program in the second memory area after the CPU cores of the data plane CPU have switched to the new version data plane program.

6 . A software upgrade method for a router, wherein the router is to forward data packetsand comprises a multi-core CPU, a first memory area and a second memory area independent from the first memory area, and the multi-core CPU comprises a control plane CPU and a data plane CPU, the method comprising:

storing, in the first memory, a control plane program relating to a routing protocol, and the control plane CPU is to run the control plane program in the first memory area to process protocol packets;

storing, in the second memory area, a data plane program relating to data packet forwarding processing, and the data plane CPU is to run the data plane program in the second memory area to process data packets;

when the router upgrades its software, resetting the control plane CPU and clearing the first memory area without resetting the data plane CPU and without clearing the second memory area;

after being reset, loading, by the control plane CPU, a new version control plane program into the first memory area and running the new version control plane program in the first memory area.

7 . The method according to claim 6 , wherein after the running the new version control plane program in the first memory area, the method further comprises:

determining, by the control plane CPU, whether a format of new forwarding entries corresponding to the new version control plane program is the same as a format of old forwarding entries corresponding to an old version control plane program before upgrading;

when it is determined that the format of the new forwarding entries is different from the format of the old forwarding entries, performing, by the control plane CPU, format conversion on the old forwarding entries in the second memory area, wherein the format conversion includes converting the format of the old forwarding entries to be consistent with the format of the new forwarding entries.

8 . The method according to claim 7 , wherein after performing, by the control plane CPU, the format conversion on the old forwarding entries in the second memory area, or determining that the format of the new forwarding entries is the same as the format of the old forwarding entries, the method further comprises:

determining whether to upgrade the data plane program; and

if it is determined to upgrade the data plane program, writing, by the control plane CPU, new version data plane program into a reserved area of the second memory area, wherein the reserved area is independent of a save location of the old version data plane program.

9 . The method according to claim 8 , wherein the data plane CPU comprises CPU cores and after writing, by the control plane CPU, new version data plane program into a reserved area of the second memory area, the method further comprises:

switching the CPU cores one by one from the old version data plane program to the new version data plane program, wherein the switching comprises after one of the CPU core switches to the new version data plane program, switching a next CPU core of the CPU cores to the new version data plane program.

10 . The method according to claim 9 , wherein after the CPU cores of the data plane CPU have switched to the new version data plane program, the method further comprises:

deleting, by the control plane CPU, the old version data plane program in the second memory area.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2016
From: H3C TECHNOLOGIES CO., LTD.; HANGZHOU H3C TECHNOLOGIES CO., LTD.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 039767/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2014
From: WEI, WEI
To: HANGZHOU H3C TECHNOLOGIES CO., LTD.
Reel/Frame 034142/0201 →