Conditional Packet Tracing in SDN Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepacket path analysis capabilityVSAvoidprocessing and bandwidth usage
Core Design Contradiction:
Measurement precisionVSLoss of energy

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improveprocessing and bandwidth usageVSAvoidpacket structure
Core Design Contradiction:
Loss of energyVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvepacket tracing integrationVSAvoidflow entry management
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11095497B2Efficient troubleshooting in SDN network
Publication Date: 2021.08.17 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US11095497B2 patent drawing
  • US11095497B2 patent drawing
  • US11095497B2 patent drawing

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.