US 11,671,367 B1
Methods and apparatus for improving load balancing in overlay networks
Amit Shukla, Sunnyvale, CA (US)
Assigned to Juniper Networks, Inc., Sunnyvale, CA (US)
Filed by Juniper Networks, Inc., Sunnyvale, CA (US)
Filed on Jul. 1, 2020, as Appl. No. 16/918,749.
Application 16/918,749 is a continuation of application No. 15/443,979, filed on Feb. 27, 2017, abandoned.
Application 15/443,979 is a continuation of application No. 13/225,137, filed on Sep. 2, 2011, granted, now 9,590,820, issued on Mar. 7, 2017.
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 47/10 (2022.01); H04L 12/46 (2006.01)
CPC H04L 47/10 (2013.01) [H04L 12/4633 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
a processor; and
a memory operatively coupled to the processor, the memory configured to host a virtual switch,
the virtual switch configured to receive a data packet from a first virtual resource of a first set of virtual resources hosted at a first network device to be sent to a second virtual resource of a second set of virtual resources hosted at a second network device,
the virtual switch configured to encapsulate the data packet to define an encapsulated data packet using a tunnel header including a first portion and a second portion, the first portion associated with the second network device, the second portion associated with a first data path from a plurality of data paths, the second portion having a source port identifier and a destination port identifier, the source port identifier and the destination port identifier including an output of a hash function using at least one of (1) an Internet Protocol (IP) address associated with the first virtual resource or (2) an IP address associated with the second virtual resource, as an input of the hash function, the output of the hash function identifying the first data path,
the virtual switch configured to send, via the first data path and not via a second data path from the plurality of data paths, the encapsulated data packet to the second virtual resource to balance traffic load between the first network device and the second network device.