# US 2017/0289040 A1 · Throughput resilience during link failover

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0289040 A1
- Document ID: US20170289040A1
- Status: Published application
- Kind: A1
- Application number: 15/242,486
- Filed: 2016-08-20
- Published: 2017-10-05
- Earliest claimed: 2016-04-02
- Assignees: Nicira, Inc.
- Applicants: Nicira, Inc.
- Inventors: AKSHAY KUMAR SREERAMOJU
- Web page: https://patentgrep.com/patent/US20170289040A1

## CPC

- H04L 47/12: Avoiding congestion; Recovering from congestion
- H04L 41/0654: using network fault recovery (ring fault isolation or reconfiguration in loop networks without recovery actions by a network management system H04L12/437)
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 45/245: {Link aggregation, e.g. trunking}
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Techniques disclosed herein provide an approach for providing throughput resilience during link failover when links are aggregated in a link aggregation group (LAG). In one embodiment, failure of a link in the LAG may be detected, and a Transmission Control Protocol/Interact Protocol (TCP/IP) stack notified to ignore packet losses and not perform network congestion avoidance procedure(s) for one round-trip timeout (RTO) period. In a virtualized system in particular, a virtual switch may be configured to generate events in response to detected link failures and notify TCP/IP stacks of a hypervisor and/or virtual machines (VMs) of the link failures. In turn, the notified TCP/IP stacks of the hypervisor and/or VMs may ignore packet losses and not perform network congestion avoidance procedure(s) for one RTO period.

## Claims

### Claim 1

A method for providing throughput resilience during link failover, comprising:
determining that, a link in an aggregation of links has failed, wherein packet flows on the failed link are transferred to one or more other links in the aggregation of links that are active;
notifying a protocol layer originating the packet flows that the link failed; and
disabling network congestion avoidance procedure(s) by the protocol layer on the packet flows for a predefined period of time.

### Claim 2 (depends on 1)

The method of claim 1, wherein the predefined period of time is one round-trip timeout (RTO) period.

### Claim 3 (depends on 2)

The method of claim 2, wherein the network congestion avoidance procedure(s) are disabled for the one RTO period beginning from when the link failure is determined.

### Claim 4 (depends on 2)

The method of claim 2, wherein the predefined period of time is user-configurable.

### Claim 5 (depends on 1)

The method of claim 1, wherein the disabled congestion avoidance procedure(s) include a congestion avoidance mode in which congestion control windows (cwnd) maintained for flows associated with the failed link are reduced in size.

### Claim 6 (depends on 1)

The method of claim 1, wherein the links in the aggregation of links are connected to a virtual switch, and wherein the protocol layer is in a hypervisor or in a guest operating system (OS) running in a virtual machine (VM).

### Claim 7 (depends on 6)

The method of claim 6, wherein determining the one of the links in the aggregation of links has failed includes:
receiving, from a virtual network interface controller (VNIC), a first notification of the failed link, wherein the VNIC transmits the first notification in response to receiving a second notification from the virtual switch of the failed link, and wherein the virtual switch transmits the second notification in response to receiving a third notification from the hypervisor of the failed link.

### Claim 8 (depends on 1)

The method of claim 1, wherein the determining that the one of the links in the aggregation of links has failed includes receiving, from a network interface controller (NIC) driver, a notification of the failure.

### Claim 9 (depends on 1)

The method of claim 1, wherein, after the predefined period of time, TCP/IP network congestion avoidance procedure(s) are performed.

### Claim 10

A non-transitory computer-readable storage medium containing a program which, when executed by one or more processors, performs operations for providing throughput resilience during link failover, the operations comprising:
determining that a link in an aggregation of links has failed, wherein packet flows on the failed link are transferred to one or more other links in the aggregation of links that are active;
notifying a protocol layer originating the packet flows that the link failed; and
disabling network congestion avoidance procedure(s) by the protocol layer on the packet flows for a predefined period of time.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the predefined period of time is one round-trip timeout (RTO) period.

### Claim 12 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein the network congestion avoidance procedure(s) are disabled for the one RTO period beginning from when the link failure is determined.

### Claim 13 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein the predefined period of time is user-configurable.

### Claim 14 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the disabled congestion avoidance procedure(s) include a congestion avoidance mode in which congestion control windows (cwnd) maintained for flows associated with the failed link are reduced in size.

### Claim 15 (depends on 10, 15)

The non-transitory computer-readable storage medium of claim 10, wherein the links in the aggregation of links are connected to a virtual switch, and wherein the protocol layer is in a hypervisor or in a guest operating system (OS) running in a virtual machine (VM).
16. The non-transitory computer-readable storage medium of claim 15, wherein determining the one of the links in the aggregation of links has failed includes:
receiving, from a virtual network interface controller (VNIC), a first notification of the failed link, wherein the VNIC transmits the first notification in response to receiving a second notification from the virtual switch of the failed link, and wherein the virtual switch transmits the second notification in response to receiving a third notification from the hypervisor of the failed link.

### Claim 17 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the determining that the one of the links in the aggregation of links has failed includes receiving, from a network interface controller (NIC) driver, a notification of the failure.

### Claim 18 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein, after die predefined period of time, TCP/IP network congestion avoidance procedure(s) are performed.

### Claim 19 (depends on 19)

A system, comprising:
a processor;
a plurality of network interface controllers (NICs), wherein the NICs are grouped together in an aggregation of links; and
a memory, wherein the memory includes a program executable in the processor to perform operations for providing throughput resilience during link failover, the operations comprising:
determining that a link in the aggregation of links has failed, wherein packet flows on the failed link are transferred to one or more other links in the aggregation of links that are active.
notifying a protocol layer originating the packet flows that the link failed, and
disabling network congestion avoidance procedure(s) by the protocol layer on the packet flows for a predefined period of time.
20, The system of claim 19, wherein the predefined period of time is one round-trip timeout (RTO) period beginning from when the link failure is determined.
