Patent attributes
A system for performing in-service software upgrade on a network device is provided. In response to a software-upgrade command, the system generates an upgrade database based on a state database storing both a data-plane state and a control-plane state associated with the network device. The network device is managed by a management unit comprising a data-plane-management sub-unit and a control-plane sub-unit, and the upgrade database stores at least the data-plane state to allow the data-plane-management sub-unit to operate based on the upgrade database. The system separately upgrades the data-plane-management sub-unit and the control-plane sub-unit, without interrupting services provided by the network device. The system monitors the state database and the upgrade database to detect an event associated with the network device. In response to determining a triggering condition being met, the system performs an action to prevent a network outage or error.