Forwarding Manager Packet Processor Reset via Dependency Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network devices face challenges in efficiently resetting and reconfiguring forwarding planes when a packet processor goes offline, as existing methods often disrupt ongoing operations and require extensive reprogramming, affecting overall network performance.
Innovation Solution
The implementation of a dependencies data structure within the forwarding manager allows for independent programming of packet processors without disrupting other online processors, enabling efficient reconfiguration of forwarding path elements based on node dependencies, allowing the network device to resume operations without input from the control unit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a packet processor is reset or reconfigured, then the forwarding plane can be updated, but ongoing packet forwarding operations are disrupted and network performance degrades
Solution Approach 1:
The patent divides the forwarding plane into multiple independent packet processors, each capable of operating autonomously. When one packet processor needs reconfiguration, only that specific segment is affected while other segments continue forwarding packets normally. This segmentation isolates the impact of reconfiguration operations to individual packet processors rather than the entire forwarding plane.
Solution Approach 2:
The patent implements a standby packet processor that is pre-configured and ready to take over immediately when the active packet processor needs reconfiguration or fails. The standby processor maintains synchronization with the active processor, so when switching occurs, the transition is seamless and packet forwarding continues without interruption. This preliminary preparation eliminates service disruption during reconfiguration.
2Ease of operation
If control processing operations continue during packet processor reprogramming, then control unit responsiveness is maintained, but reprogramming errors can propagate and affect other online processors
Solution Approach 1:
The patent extracts the reprogramming operation from the common control processing path and isolates it to individual packet processor contexts. Each packet processor has its own reprogramming sequence that is independently managed by the forwarding manager. This extraction ensures that errors in reprogramming one packet processor cannot propagate to other processors, as each reprogramming operation is confined to its specific target.
Solution Approach 2:
The forwarding manager acts as an intermediary between the control unit and packet processors during reprogramming operations. It receives reconfiguration commands from the control unit, processes them in isolation for each packet processor, and implements them individually. This intermediary layer prevents direct propagation of control processing errors across multiple processors while maintaining control unit responsiveness through the forwarding manager's coordination.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In one example, a method includes detecting, by a forwarding manager for an internal forwarding path executed by at least one packet processor of a forwarding unit of a network device, that the at least one packet processor of a plurality of packet processors has become available for processing packets for forwarding; in response to the detecting, ceasing, by the forwarding manager, execution of control processing operations received from a control unit of the network device; and programming, by the forwarding manager, a plurality of forwarding path elements of the at least one packet processor based on a dependencies data structure, wherein the dependencies data structure comprises one or more dependencies that each indicates, for a node of a plurality of nodes, one or more nodes that reference the node, and wherein each node of the plurality of nodes corresponds to a single forwarding path element of the plurality of forwarding path elements.