Leaf Switch Deadlock Avoidance via Valley Routing Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In leaf-spine networks, transient routing loops caused by valley routing conditions can lead to deadlock conditions, especially during route churns or link failures, affecting Priority Flow Control (PFC) enabled traffic and resulting in congestion and service disruptions.

Innovation Solution

Implementing techniques at leaf switches to detect valley routing conditions by marking packets with identifiers and dropping packets associated with the no-drop class of service when packet buffers reach a predetermined threshold, thereby preventing deadlock conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If packets are marked and valley routing conditions are detected to prevent deadlock, then network stability is improved, but device complexity increases due to additional monitoring and marking operations at leaf switches

Engineering Contradiction:
Improvenetwork stabilityVSAvoidswitch operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by marking packets with identifiers before they potentially cause deadlock conditions. The leaf switch marks packets received from spine switches with identifiers associated with the inbound uplink port, enabling future detection of valley routing conditions before they result in deadlock. This proactive marking prevents the need for more complex reactive deadlock resolution mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses packet marking identifiers as an intermediary mechanism to detect valley routing conditions. Instead of directly monitoring complex routing states, the system introduces simple identifier markings on packets that serve as mediators to indicate whether a packet originated from a spine switch. This intermediary approach simplifies the detection logic while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If packets are dropped when buffer threshold is reached during valley routing, then congestion is alleviated and deadlock is avoided, but productivity decreases due to packet loss

Engineering Contradiction:
Improvedeadlock avoidanceVSAvoidtraffic throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by selectively dropping only packets associated with no-drop class of service that are involved in valley routing conditions, rather than dropping all packets or all packets of all service classes. This localized approach targets specifically the packets causing potential deadlock while preserving throughput for other traffic classes and non-valley routing packets, thus minimizing the impact on overall productivity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of packet handling behavior based on the detected valley routing condition. When a valley routing condition is detected and buffer threshold is reached, the system changes from the normal no-drop behavior to a selective drop behavior for packets matching the valley routing identifier. This parameter change allows the system to maintain high throughput under normal conditions while preventing deadlock when necessary.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10965604B2Deadlock avoidance in leaf-spine networks
Publication Date: 2021.03.30 CISCO TECHNOLOGY INC
  • US10965604B2 patent drawing
  • US10965604B2 patent drawing
  • US10965604B2 patent drawing

AI summary

Techniques for implementing deadlock avoidance in a leaf-spine network are described. In one embodiment, a method includes monitoring traffic of a plurality of packets at a leaf switch in a network having a leaf-spine topology. The method includes marking a packet with an identifier associated with an inbound uplink port of the leaf switch when the packet is received from one of a first spine switch and a second spine switch. The method includes detecting a valley routing condition upon determining that the packet marked with the identifier is being routed to an outbound uplink port of the leaf switch to be transmitted to the first spine switch or the second spine switch. Upon detecting the valley routing condition, the method includes dropping packets associated with a no-drop class of service when a packet buffer of the inbound uplink port reaches a predetermined threshold.