Conditional Packet Tracing in SDN Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Software Defined Networking (SDN), the complexity of packet processing pipelines makes it difficult to troubleshoot packets that do not traverse their intended path, as existing techniques require additional processing and bandwidth, and can lead to operational issues like out-of-sync flow entries and increased traffic.
Innovation Solution
Conditional packet tracing is implemented by setting specific fields in packets to indicate tracing, allowing only packets of interest to be traced, with tracing components determining whether to transmit trace messages and resubmit packets to flow tables, enabling tracing while maintaining normal packet processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If packet tracing is enabled for all packets in the SDN network, then comprehensive packet path analysis is achieved, but unnecessary processing and bandwidth usage increase
Solution Approach 1:
The patent applies local quality by enabling packet tracing selectively for specific packets of interest rather than all packets. The controller sets trace bits in packet headers or metadata for only those packets that require tracing, allowing the tracing functionality to be applied locally to specific packets while leaving other packets unaffected, thus avoiding unnecessary processing and bandwidth usage.
Solution Approach 2:
The patent implements partial action by performing packet tracing only for a subset of packets that are marked for tracing. Instead of applying tracing universally to all packets in the network, the system traces only the necessary portion (packets with trace bits set), reducing overall processing overhead while maintaining the capability to trace when needed.
2Loss of energy
If conditional packet tracing is implemented using additional fields in packets, then only packets of interest are traced, but packet structure complexity increases
Solution Approach 1:
The patent applies universality by using existing packet header fields or metadata structures for multiple purposes. The trace bits are incorporated into fields that already exist in the packet structure or are part of standard SDN metadata, allowing these fields to serve both their original function and the additional function of indicating tracing requirements, thereby avoiding the need for entirely new packet fields.
Solution Approach 2:
The patent uses copying by creating simplified trace indicator fields that replicate or reference essential tracing information. Instead of adding complex new packet structures, the system copies or sets specific bit values in existing fields to indicate tracing status, maintaining a lightweight and simple packet structure while enabling conditional tracing functionality.
3Ease of operation
If flow entries are modified to include tracing instructions, then packet tracing can be integrated into the packet processing pipeline, but flow entry management complexity increases
Solution Approach 1:
The patent applies merging by combining packet tracing functionality with existing flow entry structures in the SDN pipeline. Tracing instructions are integrated into the same flow entries that already control packet forwarding, allowing the controller to program both forwarding and tracing behavior in a unified manner. This eliminates the need for separate tracing infrastructure and simplifies overall management.
Solution Approach 2:
The patent implements preliminary action by pre-configuring flow entries with tracing instructions during the normal flow table programming process. The controller sets up tracing capabilities in advance through standard flow modification messages, so that when packets arrive, the tracing behavior is already embedded in the flow entries without requiring real-time configuration changes or additional management overhead.
Data Source
AI summary
A method is implemented by a switch in a Software Defined Networking (SDN) network to trace packets belonging to a flow. The method includes setting a value in a first field and a second field associated with the packet to indicate that tracing is enabled for the packet, where the second field is a field that is not used for packet matching, determining, at a second flow table, whether tracing is enabled for the packet based on the value in the first field, transmitting a trace message for the packet to a trace collector in response to a determination that tracing is enabled for the packet, setting a value in the first field to indicate that tracing is disabled for the packet, resubmitting the packet to the second flow table, and copying the value in the second field to the first field before directing the packet to another flow table.


