Network Interface Controller Metadata Packet Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network interface controllers (NICs) experience cache misses and high processing cycles due to the need to read and process packet headers for each packet when forwarding from receive queues to transmit queues, which reduces packet processing efficiency.
Innovation Solution
Implementing metadata-based processing where buffer metadata associated with each communication includes transmit information, allowing packets to be placed in a single transmit queue without individual header analysis, thereby reducing the number of reads and improving cache performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If packet headers are read and processed for each packet when forwarding from receive queues to transmit queues, then packet routing accuracy is improved, but processing cycles increase and cache misses occur
Solution Approach 1:
The patent applies preliminary action by pre-processing packet header information when packets are received and stored in receive queues. The forwarding module reads packet headers in advance, extracts routing information (destination port, VLAN tags), and stores this metadata in a separate buffer. When forwarding packets, the CPU only needs to read the metadata rather than re-processing entire packet headers, significantly reducing processing cycles and cache misses while maintaining routing accuracy.
2Adaptability or versatility
If multiple transmit queues are used for different destination ports, then packet routing flexibility is improved, but the number of reads and processing operations increases
Solution Approach 1:
The patent applies segmentation by separating packet data from routing metadata. Packet headers are segmented from packet payloads during receive processing, with routing information extracted and stored separately. This allows the forwarding module to efficiently manage multiple transmit queues by only processing compact metadata structures rather than full packet headers, reducing the number of read operations while preserving routing flexibility through dedicated queue assignments for different destination ports.
3Reliability
If packet headers are individually processed for each packet, then forwarding accuracy is improved, but cache performance deteriorates
Solution Approach 1:
The patent applies copying by creating a simplified copy of routing information from packet headers and storing it in a separate metadata buffer. Instead of repeatedly reading and processing full packet headers from memory, the forwarding module reads compact metadata copies that contain only the essential routing fields. This maintains forwarding accuracy while dramatically improving cache performance by reducing memory access patterns and increasing cache hit rates.
Data Source
AI summary
A method and device are presented for decreasing processing cycles spent forwarding packets of a communication from receive queues to at least one transmit queue of a network interface controller. When received, packets are placed into a receive queue based on property(ies) of a leading packet. Buffer metadata including transmit information is associated with each communication. Processor circuitry transfers the packets from each of the receive queues to a transmit queue and the buffer metadata is used to determine how to transmit the packet and how to process the packet before transmission.


