Patent attributes
Described are platforms, systems, and methods for upgrading firmware on a programmable input output (IO) device. In one aspect, a method executed by the programmable IO device comprises: receiving, from a north-bound entity, a request to upgrade firmware installed on at least one CPU core; disabling flow-miss traffic to the at least one CPU core; redirecting the flow-miss traffic to an off-box service; providing a configuration for the programmable IO device to the off-box service; redirecting traffic to the off-box service; upgrading the firmware installed on the at least one CPU core; upgrading at least one program running in the data plane; reprograming a forwarding state provided by the off-box service; disabling the redirection of the traffic to the off-box service; and providing, to the north-bound entity, a notification indicating a completion of the upgrade.