Multi-NIC Packet Flow Routing With Synchronized RMT Tables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face difficulties in efficiently managing and improving processing efficiency when multiple network interface cards (NICs) are used, making it challenging to optimize packet processing across a plurality of NICs.
Innovation Solution
A packet processing system that includes a server with multiple NICs, a network switch, and a centralized flow management system that sets and synchronizes flow information across all NICs, allowing packets to be routed efficiently based on user-defined processing requirements without requiring knowledge of the physical device layout.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple network interface cards are used to improve processing capacity, then productivity increases, but device complexity increases
Solution Approach 1:
The system segments flow information management by creating separate flow information tables in each NIC and a centralized flow management table in the switch. Each NIC maintains its own table for local packet processing decisions, while the switch maintains a centralized table for overall flow control. This segmentation allows independent operation of multiple NICs while reducing overall system management complexity.
Solution Approach 2:
The flow management table in the network switch acts as an intermediary between the centralized controller and multiple NICs. It receives flow information from the controller, distributes it to appropriate NICs, and coordinates packet routing across multiple interface cards without requiring direct complex interactions between them.
2Manufacturing precision
If flow information is manually configured for each NIC, then processing accuracy improves, but ease of operation deteriorates
Solution Approach 1:
The system enables automatic flow information distribution where the centralized controller automatically pushes flow rules to the appropriate NICs based on packet destination information. The flow management table in the switch automatically matches packets to corresponding NICs and distributes flow information without manual configuration, maintaining processing accuracy while significantly improving operational ease.
Solution Approach 2:
The system implements feedback mechanisms where the flow management table monitors packet flow patterns and dynamically adjusts flow information distribution. This feedback loop ensures that flow information is accurately configured based on actual network conditions while reducing manual intervention requirements.
3Ease of operation
If centralized flow management is implemented, then ease of operation improves, but loss of time increases
Solution Approach 1:
The system segments flow information storage between centralized flow management tables in the switch and local flow information tables in each NIC. The centralized table handles high-level flow control and routing decisions, while local tables handle packet-level processing. This segmentation allows centralized management ease while minimizing time loss by enabling parallel processing at multiple NICs without waiting for centralized decisions for each packet.
Solution Approach 2:
The flow management table pre-configures flow information for multiple NICs before packet processing occurs. By preparing flow rules in advance and distributing them to appropriate NICs, the system eliminates runtime delays while maintaining centralized management control. Packets can be processed immediately using pre-loaded flow information from local NIC tables.
Data Source
AI summary
A packet processing system includes a server on which an NIC is mounted, a network switch, a processor that sets software for processing requested by a user in a compute unit of the NIC, and a flow setting circuit that sets flow information corresponding to the processing requested by the user in the NIC and the network switch. The flow setting circuit registers the flow information in a global RMT for each NIC, and registers the same content in a local RMT of an NIC that performs the processing requested by the user.


