IP Library Granted Patent US 12712761
Granted Patent B2
US 12712761 · App. 18/930,908 · Granted Aug 18, 2026

Health-aware overlay packet forwarding between tunnel endpoint (TEP) groups

Inventors: Subin Cyriac Mathew (San Jose, CA); Kaiwei Fan (San Jose, CA); Chidambareswaran Raman (Palo Alto, CA); Thea Corinne Rossman (Boulder Creek, CA); Shuomin Liu (Mountain View, CA)
Assignee: VMware LLC
H04L12/4633H04L43/0876H04L45/125
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12712761
App. No.
18/930,908
Filed
Oct 29, 2024
Granted
Aug 18, 2026
Kind
B2
Examiner
CHEEMA, UMAR
Art Unit
2458
USPC
709/238
Abstract

Example methods and systems for health-aware overlay packet forwarding are described. In one example, a first computer system may monitor multiple paths between a first tunnel endpoint (TEP) group and a second TEP group. The first computer system may update health information to indicate that at least a first path is healthy, and a second path is unhealthy. In response to detecting an egress packet that is associated with a packet flow, the first computer system may map the egress packet to the first path instead of the second path based on the health information. The first computer system may generate and forward an encapsulated packet along the first path towards the second computer system, wherein the encapsulated packet includes the egress packet and an outer header that is addressed from a first TEP to a second TEP associated with the first path.

Claims (57)

1 . A computer system, being a first computer system, to perform health-aware overlay packet forwarding in a software-defined networking (SDN) environment that includes the first computer system and a second computer system, wherein the first computer system comprises:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to perform the following:

monitor multiple paths between (a) a first tunnel endpoint (TEP) group supported by the first computer system and (b) a second TEP group supported by the second computer system, wherein the multiple paths include a first path and a second path;

update health information associated with the multiple paths to indicate that at least (a) the first path is healthy and (b) the second path is unhealthy; and

in response to detecting an egress packet that is associated with a packet flow from a first virtualized computing instance supported by the first computer system to a second virtualized computing instance supported by the second computer system,

based on the health information, map the egress packet to the first path, wherein the first path is between (a) a first TEP from the first TEP group and (b) a second TEP from the second TEP group; and

generate and forward an encapsulated packet along the first path towards the second computer system, wherein the encapsulated packet includes the egress packet and an outer header that is addressed from the first TEP to the second TEP.

2 . The computer system of claim 1 , wherein the instructions for updating the health information cause the processor to:

in response to detecting a state transition associated with the second path from healthy to unhealthy, update the health information to replace the second path with the first path, wherein the second path is between (a) the first TEP and (b) a third TEP from the second TEP group.

3 . The computer system of claim 2 , wherein the instructions for updating the health information cause the processor to:

update the health information in the form of an entry in a path selection table, wherein the entry is updated to identify the second TEP instead of the third TEP to replace the second path with the first path.

4 . The computer system of claim 3 , wherein the instructions for mapping the egress packet to the first path cause the processor to:

map header information extracted from the egress packet to the updated entry in the path selection table; and

select the first path based on the updated entry that identifies the second TEP.

5 . The computer system of claim 4 , wherein the instructions for mapping the egress packet to the first path cause the processor to:

based on the header information extracted from the egress packet, calculate and map a hash value to the updated entry in the path selection table.

6 . The computer system of claim 3 , wherein the instructions further cause the processor to:

in response to detecting a state transition associated with the second path from unhealthy to healthy, update the entry in the path selection table to identify the third TEP instead of the second TEP to replace the first path with the second path.

7 . The computer system of claim 1 , wherein the instructions for performing health monitoring cause the processor to:

establish multiple health monitoring sessions between the first TEP group and the second TEP group to monitor the respective paths, including (a) a first health monitoring session between the first TEP and the second TEP to detect that the first path is healthy and (b) a second health monitoring session between the first TEP and a third TEP from the second TEP group to detect that the second path is unhealthy.

8 . A method for a first computer system to perform health-aware overlay packet forwarding in a software-defined networking (SDN) environment that includes the first computer system and a second computer system, wherein the method comprises:

monitoring, by the first computer system, multiple paths between (a) a first tunnel endpoint (TEP) group supported by the first computer system and (b) a second TEP group supported by the second computer system, wherein the multiple paths include a first path and a second path;

updating, by the first computer system, health information associated with the multiple paths to indicate that at least (a) the first path is healthy and (b) the second path is unhealthy; and

in response to detecting an egress packet that is associated with a packet flow from a first virtualized computing instance supported by the first computer system to a second virtualized computing instance supported by the second computer system,

mapping, by the first computer system, the egress packet to the first path instead of the second path based on the health information, wherein the first path is between (a) a first TEP from the first TEP group and (b) a second TEP from the second TEP group; and

generating and forwarding, by the first computer system, an encapsulated packet along the first path towards the second computer system, wherein the encapsulated packet includes the egress packet and an outer header that is addressed from the first TEP to the second TEP.

9 . The method of claim 8 , wherein updating the health information comprises:

in response to detecting a state transition associated with the second path from healthy to unhealthy, updating, by the first computer system, the health information to replace the second path with the first path, wherein the second path is between (a) the first TEP and (b) a third TEP from the second TEP group.

10 . The method of claim 9 , wherein updating the health information comprises:

updating, by the first computer system, the health information in the form of an entry in a path selection table, wherein the entry is updated to identify the second TEP instead of the third TEP to replace the second path with the first path.

11 . The method of claim 10 , wherein mapping the egress packet to the first path comprises:

mapping, by the first computer system, header information extracted from the egress packet to the updated entry in the path selection table; and

selecting, by the first computer system, the first path based on the updated entry that identifies the second TEP.

12 . The method of claim 11 , wherein mapping the egress packet to the first path comprises:

calculating and mapping, by the first computer system, a hash value to the updated entry in the path selection table, wherein the hash value is calculated based on the header information extracted from the egress packet.

13 . The method of claim 10 , wherein the method further comprises:

in response to detecting a state transition associated with the second path from unhealthy to healthy, updating, by the first computer system, the entry in the path selection table to identify the third TEP instead of the second TEP to replace the first path with the second path.

14 . The method of claim 8 , wherein monitoring the multiple paths comprises:

establishing, by the first computer system, multiple health monitoring sessions between the first TEP group and the second TEP group to monitor the respective paths, including (a) a first health monitoring session between the first TEP and the second TEP to detect that the first path is healthy and (b) a second health monitoring session between the first TEP and a third TEP from the second TEP group to detect that the second path is unhealthy.

15 . A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a computer system, cause the processor to perform a method of health-aware overlay packet forwarding in a software-defined networking (SDN) environment that includes the computer system, being a first computer system, and a second computer system, wherein the method comprises:

monitoring multiple paths between (a) a first tunnel endpoint (TEP) group supported by the first computer system and (b) a second TEP group supported by the second computer system, wherein the multiple paths include a first path and a second path;

updating health information associated with the multiple paths to indicate that at least (a) the first path is healthy and (b) the second path is unhealthy; and

in response to detecting an egress packet that is associated with a packet flow between a first virtualized computing instance supported by the first computer system and a second virtualized computing instance supported by the second computer system,

based on the health information, mapping the egress packet to the first path instead of the second path, wherein the first path is between (a) a first TEP from the first TEP group and (b) a second TEP from the second TEP group; and

generating and forwarding an encapsulated packet along the first path towards the second computer system, wherein the encapsulated packet includes the egress packet and an outer header that is addressed from the first TEP to the second TEP.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein updating the health information comprises:

in response to detecting a state transition associated with the second path from healthy to unhealthy, updating the health information to replace the second path with the first path, wherein the second path is between (a) the first TEP and (b) a third TEP from the second TEP group.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein updating the health information comprises:

updating the health information in the form of an entry in a path selection table, wherein the entry is updated to identify the second TEP instead of the third TEP to replace the second path with the first path.

18 . The non-transitory computer-readable storage medium of claim 17 , wherein mapping the egress packet to the first path comprises:

mapping header information extracted from the egress packet to the updated entry in the path selection table; and

selecting the first path based on the updated entry that identifies the second TEP.

19 . The non-transitory computer-readable storage medium of claim 18 , wherein mapping the egress packet to the first path comprises:

based on the header information extracted from the egress packet, calculating and mapping a hash value to the updated entry in the path selection table.

20 . The non-transitory computer-readable storage medium of claim 16 , wherein the method further comprises:

in response to detecting a state transition associated with the second path from unhealthy to healthy, updating the entry in the path selection table to identify the third TEP instead of the second TEP to replace the first path with the second path.