US 10,892,991 B2
Resilient hashing with multiple hashes
Simon Capper, San Jose, CA (US); Prashanth Krishnamurthy, San Jose, CA (US); and Tula Kraiser, Sunnyvale, CA (US)
Assigned to ARISTA NETWORKS, INC., Santa Clara, CA (US)
Filed by Arista Networks, Inc., Santa Clara, CA (US)
Filed on Mar. 6, 2019, as Appl. No. 16/294,851.
Prior Publication US 2020/0287830 A1, Sep. 10, 2020
Int. Cl. H04L 12/743 (2013.01); G06F 8/71 (2018.01); H04L 29/08 (2006.01); H04L 29/12 (2006.01)
CPC H04L 45/7453 (2013.01) [G06F 8/71 (2013.01); H04L 61/2007 (2013.01); H04L 67/1002 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of packet forwarding comprising:
maintaining, by a network device, a first hash table comprising mappings between a first set of hash indices and a set of bit values, wherein for each mapping in the first hash table:
the mapping's hash index corresponds to one of a group of next-hop destinations to which network packets received by the network device may be transmitted, and
the mapping's bit value indicates whether the mapping's hash index corresponds to an active or inactive next-hop destination;
maintaining, by the network device, a second hash table comprising mappings between a second set of hash indices and active next-hop destinations in the group of next-hop destinations;
receiving, by the network device, a network packet;
computing, by the network device, a first hash value using a portion of the network packet and a first hash function;
matching, by the network device, the first hash value to a first mapping in the first hash table based on the first mapping's hash index; and
when the first mapping's bit value indicates that the first mapping's hash index corresponds to an active next-hop destination:
matching, by the network device, the first hash value to a second mapping in the second hash table based on the second mapping's hash index; and
sending, by the network device, the network packet to the second mapping's active next-hop destination.