Flow Table Loop Instruction for Packet Processing Versatility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
OpenFlow switches require an increased number of flow tables to perform different operations on a single packet, as they must sequentially search and update tables based on specific rules, leading to inefficiencies in processing.
Innovation Solution
Implementing a communication node with a packet processing unit that searches and processes packets using a preset number of flow tables, allowing for loop instructions to iteratively search and execute control information items, thereby reducing the need for multiple tables.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If pipeline processing is used to perform multiple different processing operations on a single packet, then processing versatility is improved, but the number of flow tables required increases
Solution Approach 1:
The patent implements a nested loop structure where the packet processing unit can iteratively search through the same flow table multiple times. The outer loop iterates through flow tables, and the inner loop (enabled by loop instruction) allows re-searching of the same table, creating a nested iteration pattern that replaces the need for multiple separate flow tables
Solution Approach 2:
The flow table is designed to be multi-functional by allowing it to be searched and executed multiple times through the loop instruction mechanism. A single flow table can perform what previously required multiple separate tables, as the same table serves multiple processing stages through iterative searching
2Adaptability or versatility
If the table to be searched is changed to perform different operations, then processing flexibility is improved, but the number of flow tables must be increased
Solution Approach 1:
The patent introduces dynamic control over flow table selection through loop instructions. The packet processing unit can dynamically decide to search the same flow table again based on loop instruction conditions, making the system adaptable without requiring static pre-provisioning of multiple flow tables for different operations
3Productivity
If multiple flow tables are retained to apply different operations to a single packet, then processing capability is improved, but device complexity increases
Solution Approach 1:
The loop instruction enables continuous useful action by allowing the packet processing unit to re-search the flow table multiple times without interrupting the processing flow. This continuous iteration within the same table maintains processing capability while avoiding the complexity of transitioning between multiple separate tables
Data Source
AI summary
A communication node includes: one or more flow table(s) that stores a control information item(s) as set by a controller; and a packet processing unit that searches for a control information item, having a match condition matching a received packet, from the one or more flow table(s), and processes the received packet in accordance with the control information item. In a case where a preset loop instruction is added in the control information item having the match condition matching the received packet, the packet processing unit performs a preset number of times of search for another control information item in the one or more flow table(s) and execution of the searched control information item.


