Network Device Cut-Through Packet Forwarding Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cut-through techniques in network devices suffer from latency issues due to under-run conditions when packets are transmitted from slow ingress ports to fast egress ports, and lack of information for non-forwarding operations, such as byte counting and error detection, since forwarding begins before the full packet is processed.
Innovation Solution
A network device processes two instances of packet descriptors: a cut-through descriptor to identify suitable egress ports for partial packet forwarding and a store-and-forward descriptor to handle the full packet, allowing for selective forwarding and non-forwarding operations only after the packet is fully received.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If cut-through forwarding is implemented to reduce latency, then transmission speed is improved, but under-run conditions occur when packets are transmitted from slow ingress ports to fast egress ports
Solution Approach 1:
The patent implements dynamic port classification that adapts to varying packet arrival rates and port speeds. The system dynamically determines whether to apply cut-through or store-and-forward processing based on real-time conditions, allowing the forwarding mechanism to flex between modes rather than being static. This resolves the contradiction by making the system responsive to actual runtime conditions rather than being locked into a single forwarding mode.
Solution Approach 2:
The patent changes the operational parameters of the forwarding engine by introducing a dual-mode system where processing behavior is adjusted based on port speed characteristics. Fast ports receive packets with cut-through processing (reducing latency), while slow ports receive packets with store-and-forward processing (preventing under-run). This parameter-based differentiation resolves the contradiction by tailoring the forwarding behavior to match the specific speed characteristics of each port pair.
2Loss of time
If forwarding begins before the full packet is received to reduce latency, then transmission delay is reduced, but information needed for non-forwarding operations is not yet available
Solution Approach 1:
The patent segments the packet processing into two distinct phases: a first phase where cut-through forwarding occurs based on partial packet information (header), and a second phase where store-and-forward operations complete the transmission using the fully received packet. This segmentation allows the system to perform time-critical forwarding operations immediately while deferring information-dependent operations until the complete packet is available, thus resolving the contradiction between speed and information availability.
Solution Approach 2:
The patent performs preliminary forwarding actions using the packet header and initial portions before the complete packet is received. The cut-through descriptor enables the system to make forwarding decisions and begin transmission based on preliminary information, reducing latency. Subsequently, the store-and-forward descriptor processes the complete packet to perform operations requiring full packet information, thus resolving the contradiction by separating preliminary time-critical actions from information-dependent actions.
3Productivity
If a single forwarding descriptor is used for cut-through processing, then processing speed is improved, but the ability to perform both forwarding and non-forwarding operations is compromised
Solution Approach 1:
The patent implements a universal descriptor system where both cut-through and store-and-forward descriptors serve multiple functions. Each descriptor type can perform both forwarding operations and non-forwarding operations (such as mirroring, metering, and policing), but at different stages of packet reception. This multi-functionality resolves the contradiction by allowing a single descriptor structure to handle diverse operation types without requiring separate specialized descriptors, thus maintaining versatility while preserving processing efficiency.
Data Source
AI summary
In a method for processing network packets, a network packet is received at an ingress port. After at least a first portion of the network packet has been received, but before the network packet has been completely received, a first data structure representing the network packet is generated based on the first portion, the first data structure is processed, and the network packet begins to be selectively forwarded to a first one or more egress ports, or selectively not forwarded to any egress port, responsively to processing the first data structure. A second data structure representing the network packet is generated and, after the network packet has been completely received, the second data structure is processed, and the network packet is selectively forwarded to a second one or more egress ports, different from the first one or more egress ports, responsively to processing the second data structure.


