Network Accelerator Flow Table Update Packet Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepacket processing speedVSAvoidpacket ordering correctness
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

2Reliability

If packets are queued to maintain order, then packet forwarding correctness is improved, but processing time increases

Engineering Contradiction:
Improvepacket forwarding correctnessVSAvoidpacket processing delay
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11456951B1Flow table modification for network accelerators
Publication Date: 2022.09.27 XILINX INC
  • US11456951B1 patent drawing
  • US11456951B1 patent drawing
  • US11456951B1 patent drawing

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.