Packet Processing Match Unit with Configurable Bit Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
OpenFlow's existing architecture and protocol for network packet switching have limitations in scalability and flexibility, particularly in managing match and action operations across multiple tables, leading to inefficiencies in packet processing and memory utilization.
Innovation Solution
A packet processing block with a match unit comprising a match table and action memory, utilizing a global action pointer and variable bit width action memory pointers to efficiently perform match operations and modify packet headers, along with a memory pool for flexible allocation of unit memories for match, action, and statistics functions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If OpenFlow uses fixed-width action memory pointers in match tables, then the structure is simple and easy to implement, but memory utilization is inefficient and scalability is limited
Solution Approach 1:
The patent implements dynamic action memory pointers with variable bit widths that can be configured per match table. This allows the pointer width to adapt to the specific memory requirements of each table, optimizing memory utilization while maintaining implementation feasibility through a configurable rather than fully dynamic structure.
Solution Approach 2:
The invention changes the parameter of action memory pointer bit width from fixed to variable. Each match table can be configured with appropriate pointer widths based on its action memory size requirements, improving overall memory utilization efficiency while maintaining structural simplicity through configurable parameters.
2Reliability
If OpenFlow uses separate action memory for each match table, then each table has dedicated resources, but memory resources are not shared and overall efficiency decreases
Solution Approach 1:
The patent implements a shared action memory pool that can be accessed by multiple match tables. Each table is configured with appropriate pointer widths to access the shared memory, allowing memory resources to serve multiple functions and tables simultaneously, thereby improving overall memory efficiency while maintaining reliable access for each table.
Solution Approach 2:
The invention merges separate action memories for different match tables into a single shared action memory pool. This consolidation allows efficient memory utilization across multiple tables while maintaining dedicated access paths through configurable pointers, resolving the contradiction between dedicated resources and overall efficiency.
3Adaptability or versatility
If OpenFlow uses variable bit width action memory pointers, then memory allocation flexibility improves, but the device complexity increases
Solution Approach 1:
The patent manages the complexity of variable bit width pointers by making them configurable parameters at the match table level rather than requiring dynamic adjustment. This allows memory allocation flexibility through different pointer widths while controlling device complexity through static configuration rather than dynamic management.
Solution Approach 2:
The invention resolves pointer management complexity by pre-configuring appropriate pointer widths for each match table based on their specific requirements. This preliminary configuration approach eliminates the need for complex runtime pointer management while maintaining the flexibility of variable bit widths.
4Adaptability or versatility
If OpenFlow processes packets through multiple match tables sequentially, then complex packet classification is achieved, but processing time increases
Solution Approach 1:
The patent combines multiple match tables with shared action memory into a more integrated processing structure. By allowing tables to share memory resources and use optimized pointer widths, the system reduces redundant memory operations and improves processing throughput, thereby reducing packet processing time while maintaining complex classification capability.
Solution Approach 2:
The invention introduces dynamic optimization in memory access patterns through variable pointer widths and shared memory allocation. This allows the system to adapt memory access efficiency to the specific requirements of different match tables, improving overall processing speed while maintaining the capability for complex multi-table packet classification.
Data Source
AI summary
A packet processing block. The block has an input for receiving data in a packet header vector, the vector comprising data representing information for a packet and a match unit for performing match operations between packet header vector data and at least one match table. Various embodiments provide advantages in connection with storing certain action or next table bits outside of the match table, or constants in the table, or by forming the match table from multiple unit match table memories.