Network Accelerator Flow Table Update Packet Ordering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network accelerators face challenges in maintaining packet order when updating flow tables, leading to potential out-of-order packet processing, which can cause network errors due to the time lag in packets traversing between the network accelerator and the CPU.
Innovation Solution
The flow tables of a network accelerator are updated in a seamless manner to ensure that packets are processed according to their original order of receipt, avoiding out-of-order packet issues by queuing and processing packets only after the new rule is confirmed by the CPU.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the flow table is updated immediately when a new rule is added, then the network accelerator can process packets faster, but packets may be forwarded out-of-order causing network errors
Solution Approach 1:
The system performs preliminary actions by queuing packets that arrive after the flow table update but before the CPU confirms receipt of the update. These packets are held in a queue and only forwarded after confirmation, preventing out-of-order delivery while maintaining processing efficiency.
Solution Approach 2:
The system implements feedback by requiring the CPU to send a confirmation signal back to the network accelerator after receiving the flow table update. The accelerator waits for this feedback before forwarding queued packets, ensuring proper packet ordering while maintaining high processing speed.
2Reliability
If packets are queued to maintain order, then packet forwarding correctness is improved, but processing time increases
Solution Approach 1:
The system performs preliminary actions by queuing packets that arrive after the flow table update but before the CPU confirms receipt of the update. These packets are held in a queue and only forwarded after confirmation, preventing out-of-order delivery while maintaining processing efficiency.
Solution Approach 2:
The system implements feedback by requiring the CPU to send a confirmation signal back to the network accelerator after receiving the flow table update. The accelerator waits for this feedback before forwarding queued packets, ensuring proper packet ordering while maintaining high processing speed.
Data Source
AI summary
Modifying a flow table for a network accelerator can include, in response to determining that a flow table of a network accelerator does not include any rules corresponding to first packet data of a first flow received from a network, forwarding the first packet data to a host computer. Subsequent to the flow table being updated to include a new rule for the first flow, for second packet data of the first flow received from the network, the second packet data can be processed using the new rule. The second packet data can be queued. In response to receiving the first packet data from the host computer, the first packet data can be processed using the new rule. The processed packet data can be forwarded to a destination port followed by the queued second packet data.


