| CPC H04L 47/125 (2013.01) [H04L 45/38 (2013.01)] | 20 Claims |

|
1. A method comprising:
transmitting, from a first network device, packets on a plurality of paths to a second network device, wherein each path corresponds to a at least one of an uplink of a plurality of uplinks of the first network device;
receiving, from the second network device, feedback data indicating a performance of each path of the plurality of paths between the first and second network devices based on the packets transmitted by the first network device;
maintaining, for each path of the plurality of paths and based on the feedback data, one or more performance metrics characterizing the performance of the path experienced by the packets sent on a corresponding uplink of the first network device;
receiving, at the first network device, one or more additional packets of a flow from a source end device to a destination end device, wherein the destination end device is reachable through the second network device, wherein the one or more additional packets of the flow are received subsequent to one or more previously received packets of the flow, and wherein the first network device selected a previously selected path for the flow in connection with previously received packets of the flow;
selecting, for the one or more additional packets of the flow, a path from the plurality of paths to the second network device based at least in part on the performance metrics of the paths,
wherein the selected path is the previously selected path for the flow when the performance metric of the previously selected path satisfies a minimum performance threshold, and wherein the selected is a different path from the previously selected path if the previously selected path fails to satisfy the minimum performance threshold;
encapsulating the one or more additional packets of the flow with a tunnel header, wherein the tunnel header includes data for determining the performance of the selected path; and
transmitting the one or more encapsulated additional packets to the second network device via the uplink corresponding to the selected path.
|