# US 2020/0396170 A1 · CNP Generation by Switch

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

- Number: US 2020/0396170 A1
- Document ID: US20200396170A1
- Status: Published application
- Kind: A1
- Application number: 16/442,508
- Filed: 2019-06-16
- Published: 2020-12-17
- Earliest claimed: 2019-06-16
- Assignees: Mellanox Technologies Tlv Ltd.
- Applicants: Mellanox Technologies Tlv Ltd.
- Inventors: Barak Gafni; Eitan Zahavi; Gil Levy; Aviv Kfir; Liron Mula
- Web page: https://patentgrep.com/patent/US20200396170A1

## CPC

- H04L 47/30: in combination with information about buffer occupancy at either end or at transit nodes
- H04L 47/115: {using a dedicated packet}
- H04L 47/263: Rate modification at the source after receiving feedback
- H04L 47/35: by embedding flow control information in regular packets, e.g. piggybacking
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Network communication is carried out by sending packets from a source network interface toward a destination network interface, receiving one of the packets in an intermediate switch of the network, determining that the intermediate switch is experiencing network congestion, generating in the intermediate switch a congestion notification packet for the received packet, and transmitting the congestion notification packet from the intermediate switch to the source network interface via the network. The received packet is forwarded from the intermediate switch toward the destination network interface. The source network interface may modify a rate of packet transmission responsively to the congestion notification packet.

## Claims

### Claim 1

A method of communication, comprising the steps of:
sending packets over a network from a source network interface toward a destination network interface;
receiving one of the packets in an intermediate switch of the network;
determining that the intermediate switch is experiencing network congestion;
generating in the intermediate switch a congestion notification packet for the received packet;
transmitting the congestion notification packet from the intermediate switch to the source network interface via the network;
responsively to the congestion notification packet modifying a rate of packet transmission to the destination network interface from the source network interface; and
forwarding the received packet from the intermediate switch toward the destination network interface.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
prior to forwarding the received packet marking the received packet as ineligible to cause other intermediate switches of the network to generate and transmit new congestion notification packets.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the received packet is RoCEV2-compliant.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the received packet is a tunnel packet.

### Claim 5 (depends on 1)

The method according to claim 1, wherein sending and receiving the packets are performed using a source queue pair (source QP) and a destination queue pair (destination QP), respectively, wherein the step of generating comprises obtaining the source QP by maintaining in the intermediate switch a translation table between the destination QP and the source QP.

### Claim 6 (depends on 1)

The method according to claim 1, wherein sending and receiving the packets are performed using a source queue pair (source QP) and a destination queue pair (destination QP), respectively, wherein the step of generating comprises calculating a hash function on a destination address and the destination QP of the received packet.

### Claim 7

A communication apparatus, comprising:
a source network interface;
a destination network interface, wherein the source network interface is operative for sending packets over a network toward the destination network interface and the destination network interface is operative for accepting the packets from the source network interface; and
an intermediate switch in the network that receives one of the packets, the intermediate switch being operative for:
determining that the intermediate switch is experiencing network congestion;
generating a congestion notification packet for the received packet;
transmitting the congestion notification packet to the source network interface via the network; and
forwarding the received packet toward the destination network interface,
wherein responsively to the congestion notification packet the source network interface is operative for modifying a rate of packet transmission to the destination network interface.

### Claim 8 (depends on 7)

The apparatus according to claim 7, further comprising other intermediate switches in the network, wherein the intermediate switch is operative for:
prior to forwarding the received packet marking the received packet as ineligible to cause the other intermediate switches of the network to generate and transmit new congestion notification packets.

### Claim 9 (depends on 7)

The apparatus according to claim 7, wherein the received packet is RoCEV2-compliant.

### Claim 10 (depends on 7)

The apparatus according to claim 7, wherein the received packet is a tunnel packet.

### Claim 11 (depends on 7)

The apparatus according to claim 7, wherein sending the packets from the source network interface and accepting the packets in the destination network interface are performed using a source queue pair (source QP) and a destination queue pair (destination QP), respectively, wherein the step of generating comprises obtaining the source QP by maintaining in the intermediate switch a translation table between the destination QP and the source QP.

### Claim 12 (depends on 7)

The apparatus according to claim 7, wherein sending the packets from the source network interface and accepting the packets in the destination network interface are performed using a source queue pair (source QP) and a destination queue pair (destination QP), respectively, wherein the step of generating comprises calculating a hash function on a destination address and the destination QP of the received packet.
