sFlow Datagram Entropy via UDP Timestamps for ECMP Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing sFlow datagram processing in hardware struggles to add entropy effectively, making it challenging to spread datagrams across the network and avoid congestion on fixed paths.

Innovation Solution

A hardware packet processing pipeline is configured to generate sFlow datagrams, encapsulate them in UDP packets, and add entropy by inserting timestamps into the UDP header, allowing the packets to be hashed and distributed across multiple ECMP paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sFlow datagrams are sent along a fixed path to a given destination, then the destination can be reliably reached, but network congestion occurs on the fixed path

Engineering Contradiction:
Improvedestination reachabilityVSAvoidnetwork congestion
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies dynamics by making the sFlow datagram path dynamic rather than fixed. The source port field in the UDP header is dynamically modified using ECMP hashing to select different egress ports for different datagrams, enabling the system to adaptively distribute traffic across multiple network paths based on current conditions while maintaining reliable delivery to the destination.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter used for path selection by modifying the source port field in the UDP header. Instead of using a fixed source port, the system varies the source port value based on ECMP hashing of the datagram's flow information, which changes the selected egress port and thereby distributes traffic across multiple paths to avoid congestion.

Inventive Principle:
Principle #35Parameter changes

2Object-affected harmful factors

If entropy is added to spread datagrams across the network, then congestion is avoided, but adding entropy in hardware pipeline is challenging

Engineering Contradiction:
Improvenetwork congestionVSAvoidhardware pipeline complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent applies self-service by using the existing ECMP hashing mechanism already present in the hardware pipeline to automatically generate entropy for path selection. The system leverages the natural variability in flow sampling and the existing hashing infrastructure to distribute datagrams without requiring additional complex entropy generation hardware, thus avoiding congestion while maintaining hardware efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent makes the existing ECMP hashing mechanism serve multiple functions: it continues to perform its original role of load balancing for data plane traffic while simultaneously providing entropy generation for control plane sFlow datagram distribution. This multi-functionality avoids adding dedicated entropy generation hardware while achieving the goal of spreading datagrams across the network.

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

3Productivity

If high sample rates are supported through hardware construction, then wire-speed performance is achieved, but spreading datagrams across network paths becomes difficult

Engineering Contradiction:
Improvesample rateVSAvoidpath congestion
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by pre-computing the source port value using ECMP hashing before the sFlow datagram is transmitted. The hardware pipeline calculates the appropriate source port based on the datagram's flow information and selected egress port, ensuring that high sample rates are maintained while the path distribution is determined in advance, preventing congestion before it occurs.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12267234B2Adding entropy to datagrams containing sampled flows
Publication Date: 2025.04.01 ARISTA NETWORKS INC
  • US12267234B2 patent drawing
  • US12267234B2 patent drawing
  • US12267234B2 patent drawing

AI summary

Transmitting sampled flows in datagrams to a collector includes adding entropy to the headers of the UDP packets that encapsulate the datagrams. The entropy, for example, can be a timestamp associated with a sampled data packet contained in the datagram. Each UDP packet is transmitted on a data patch selected from among a plurality of data paths using at least the UDP header. The entropy in each UDP header serves to spread the transmission of UDP packets across the plurality of data paths.