Network Interface Port Mirroring via Completion Queue Events
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional port mirroring techniques in computer networks replicate traffic at the port level, leading to increased manufacturing costs and issues with packet loss or modification, failing to distinguish traffic from different virtual machines and requiring dedicated silicon technology.
Innovation Solution
Implementing network interface port mirroring at the host level, allowing for packet differentiation and mirroring close to the host, without dependency on intermediate devices or dedicated silicon, using completion events to trigger packet re-transmissions to a network analyzer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If port mirroring is implemented at the port level using conventional techniques, then traffic can be replicated to a network analyzer, but dedicated silicon technology is required which increases manufacturing costs
Solution Approach 1:
The patent uses software-based packet copying in the network interface device's memory instead of dedicated silicon hardware. The completion queue event triggers a software process that replicates packet data from the original transmission buffer to a mirror buffer, eliminating the need for expensive hardware replication circuits while maintaining the traffic mirroring capability
Solution Approach 2:
The patent replaces the mechanical/hardware-based port-level mirroring system with a software-based implementation. Instead of using dedicated silicon technology and hardware ports for mirroring, the system uses software processes, memory buffers, and completion queue events to achieve the same traffic replication function at lower manufacturing cost
2Reliability
If port mirroring is implemented at the port level, then traffic replication can be achieved, but packet loss or modification may occur
Solution Approach 1:
The patent triggers the packet mirroring action immediately when the completion queue event is generated, before the original packet transmission is fully completed. This preliminary action ensures that the mirror copy is created from the exact same data buffer that the original transmission uses, guaranteeing packet integrity and preventing any loss or modification that could occur with later copying methods
Solution Approach 2:
The patent creates a precise software copy of the packet data from the original transmission buffer to a mirror buffer using memory copying operations. This copying method ensures that the mirrored packet is an exact replica of the original, maintaining packet integrity without the loss or modification issues that can occur with hardware-based port-level mirroring
3Reliability
If port mirroring is implemented at the port level, then traffic can be replicated, but traffic from different virtual machines cannot be distinguished
Solution Approach 1:
The patent applies local quality by associating mirror buffers with specific virtual machine identifiers or communication pairs. Each virtual machine's traffic is mirrored to a dedicated buffer region with unique identifiers, allowing the network analyzer to distinguish and analyze traffic from different virtual machines separately while maintaining the overall traffic mirroring capability
4Reliability
If conventional port mirroring techniques are used, then traffic replication can be achieved, but intermediate devices or dedicated silicon are required
Solution Approach 1:
The patent implements self-service by enabling the network interface device to perform traffic mirroring independently using its own existing resources (memory, completion queue events, and software processes). The device does not require external intermediate devices or dedicated silicon technology, as it uses its own completion queue events to trigger the mirroring process and its own memory buffers to store the mirrored traffic
Solution Approach 2:
The patent makes the network interface device multi-functional by enabling it to perform both original packet transmission and traffic mirroring using the same hardware resources. The completion queue event mechanism and memory buffers serve dual purposes: managing the original transmission and triggering/ storing the mirrored copy, thereby eliminating the need for separate dedicated hardware components
Data Source
AI summary
A notification from a source host is received at a network interface device that indicates that a data packet is ready for transmission to a destination host. The data packet may be transmitted to the destination host via the network interface device, and a first completion queue event is generated. The first completion queue event may be used as a trigger to re-transmit the data packet to a port mirroring destination via the network interface device. In another example, a network interface device receives a data packet transmitted from a source host to a destination host. A first completion queue event is generated based on the receipt of the packet, and is used as a trigger to re-transmit the data packet to a port mirroring destination via the network interface device.


