Software Flow Table Handling for Hardware Hash Collision Packets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network devices face reduced packet forwarding efficiency due to hash collisions exceeding the limit of hardware-accelerated forwarding circuits, leading to increased CPU resource occupation and processing overhead.
Innovation Solution
Implement a network device with a software flow table and a network processing unit (NPU) to handle packets that experience hash collisions in the hardware flow table, offloading CPU workload and enhancing forwarding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If hardware-accelerated forwarding circuit is used to improve packet forwarding efficiency, then forwarding speed is improved, but hash collisions cause packets to be transmitted to CPU which reduces overall efficiency
Solution Approach 1:
The patent segments the forwarding system into two parts: a hardware flow table for common packets and a software flow table for hash collision packets. The hardware flow table handles the majority of packets at high speed, while the software flow table specifically handles hash collision cases, preventing them from occupying CPU resources for general processing.
Solution Approach 2:
The patent introduces a software flow table as an intermediary between the hardware flow table and CPU processing. When hash collisions occur in the hardware flow table, packets are redirected to the software flow table for handling, rather than directly to the CPU, thus reducing CPU intervention and maintaining high forwarding efficiency.
2Ease of operation
If CPU executes software to handle hash collision packets, then packet forwarding is possible, but processor resource occupation increases
Solution Approach 1:
The patent segments the forwarding system into two parts: a hardware flow table for common packets and a software flow table for hash collision packets. The hardware flow table handles the majority of packets at high speed, while the software flow table specifically handles hash collision cases, preventing them from occupying CPU resources for general processing.
Solution Approach 2:
The patent introduces a software flow table as an intermediary between the hardware flow table and CPU processing. When hash collisions occur in the hardware flow table, packets are redirected to the software flow table for handling, rather than directly to the CPU, thus reducing CPU intervention and maintaining high forwarding efficiency.
3Productivity
If hardware flow table size is increased to reduce hash collisions, then forwarding efficiency is improved, but device complexity and cost increase
Solution Approach 1:
Instead of expanding the hardware flow table in one dimension (size), the patent adds another dimension by introducing a software flow table. This software layer handles hash collision cases without requiring expansion of the hardware flow table, thus avoiding increased device complexity and cost while maintaining high forwarding efficiency.
Data Source
AI summary
A network device includes a storage device, a hardware-accelerated forwarding circuit, and a network processing unit (NPU). The storage device stores a software flow table, where the software flow table includes a plurality of table entries. The hardware-accelerated forwarding circuit receives a first packet from a network, obtains a first hash value of the first packet, and determines that the first hash value encounters a hash collision in a hardware flow table. The NPU receives the first packet from the hardware-accelerated forwarding circuit, and deals with forwarding of the first packet according to forwarding information recorded in a table entry when the first packet hits the table entry of the software flow table.


