Routing Lookup Tree Update Mechanism for Network Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for updating routing tables in Network Processors (NPs) either result in prolonged lookup blocking or packet errors/losses due to conflicts between lookup and update operations.
Innovation Solution
A method and device for updating a routing lookup tree by determining a layer update indication table and node update information, locking previous layers, and synchronizing node updates in a sequential manner to avoid simultaneous lookup and update conflicts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If routing lookup is locked to prevent updates during lookup, then packet errors or losses are avoided, but lookup blocking time increases
Solution Approach 1:
The routing lookup tree is segmented into multiple layers, allowing selective locking of only the necessary parent layers during update operations. This segmentation enables the system to maintain lookup functionality in unaffected layers while performing updates, thereby reducing overall lookup blocking time while still preventing packet errors through targeted locking mechanisms.
2Loss of time
If routing table updates are performed during lookup, then lookup blocking time is reduced, but packet errors or losses occur due to conflicts
Solution Approach 1:
The locking mechanism is applied locally and selectively to specific parent layers that are actually being updated, rather than locking the entire routing lookup tree. This local quality approach allows lookup operations to continue in layers that are not being modified, maintaining packet delivery reliability while minimizing lookup blocking time.
3Ease of manufacture
If software-only method is used to update routing table, then implementation simplicity is maintained, but lookup performance decreases
Solution Approach 1:
The routing lookup tree is divided into hierarchical layers that can be independently updated and managed. This segmentation enables optimized update operations that can proceed more quickly than software-only methods while maintaining implementation feasibility through structured layer management and selective locking mechanisms.
Data Source
Figure 1~2
Figure 3~4
AI summary
A method and device for updating a routing lookup tree are provided. When it is determined that a routing lookup tree needs to be updated, a layer update indication table and node update information are determined according to updated entries; a layer is selected from the routing lookup tree as a current layer in sequence according to levels of layers, and if it is determined that the current layer needs to be updated according to the layer update indication table, the previous layer of the current layer in the routing lookup tree is locked, the node update information is synchronized to the current layer in the routing lookup tree, and so on, until it is determined that the current layer is the last layer needing to be updated according to the layer update indication table, and then this update of the routing lookup tree is ended. The method and device can reduce the time of blocking lookup when a routing lookup tree is updated, and avoid packet error or packet loss caused due to simultaneous update and lookup.