Consistent Hashing for Multi-Stage Packet Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multichip systems, network packets may incorrectly route to an egress chip that is not directly connected to their destination, leading to increased fabric utilization as they take additional hops to reach the correct egress chip.

Innovation Solution

Implementing a method that uses a link aggregation group (LAG) and equal cost multipath (ECMP) group data structures within network devices to ensure consistent hashing and routing, ensuring packets are directed to the correct egress chip through the device fabric without unnecessary reentries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If packets are routed through device fabric using existing multichip VXLAN routing, then routing flexibility is improved, but fabric utilization increases due to packets taking additional hops to reach the correct egress chip

Engineering Contradiction:
Improverouting flexibilityVSAvoidfabric utilization
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by performing hash-based routing determination at the ingress chip before the packet enters the device fabric. The ingress chip calculates a hash value from packet header fields and uses this hash to determine the correct egress chip in advance, ensuring the packet is routed directly to the destination egress chip without unnecessary intermediate hops through the fabric.

Inventive Principle:
Principle #10Preliminary action

2Speed

If packets are routed to any available egress chip, then routing speed is improved, but routing accuracy deteriorates as packets may arrive at incorrect egress chips requiring additional hops

Engineering Contradiction:
Improverouting speedVSAvoidrouting accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent implements feedback by using hash-based routing determination where the ingress chip calculates a hash value from packet header fields and uses this hash to determine the correct egress chip. This feedback mechanism ensures that packets are consistently routed to the same egress chip for given destination addresses, maintaining both routing speed and accuracy by eliminating incorrect routing decisions.

Inventive Principle:
Principle #23Feedback

3Productivity

If consistent hashing is implemented across multi-stage lookups, then routing efficiency is improved, but system complexity increases due to coordinated data structures across multiple chips

Engineering Contradiction:
Improverouting efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the routing function across different chip stages (ingress chip, fabric chip, egress chip) with each performing a specific hash-based lookup operation. The ingress chip performs the hash calculation and initial routing determination, while the egress chip performs a corresponding lookup using the same hash algorithm, ensuring consistent routing decisions without requiring complex coordination between chips.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10944674B2Consistent hashing for packets across multi-stage lookups
Publication Date: 2021.03.09 ARISTA NETWORKS INC
  • US10944674B2 patent drawing
  • US10944674B2 patent drawing
  • US10944674B2 patent drawing

AI summary

A network with consistent hashing for packets across multi-stage lookups in the network is provided. The network members include a first network member configured to receive a packet and form a hash result from information from the packet. The first network member is further configured to look up the hash result in a first indexed table to determine a network member for routing the packet from the first network member towards a second network member of the network. The second network member is configured to receive the packet through the network and determine the hash result, and the second network member is further configured to look up the hash result in an second indexed table to determine a nexthop network member for routing the packet from the second network member, wherein the first network member and the second network member are implemented in hardware, firmware, one or more processors executing software, or combination thereof.