IP Library Granted Patent US 11,005,770
Granted Patent B2
US 11,005,770 · App. 16/442,508 · Granted May 11, 2021

Listing congestion notification packet generation by switch

Inventors: Barak Gafni (Campbell, CA); Eitan Zahavi (Zichron Yaakov, IL); Gil Levy (Hod Hasharon, IL); Aviv Kfir (Nili, IL); Liron Mula (Ramat Gan, IL)
Assignee: MELLANOX TECHNOLOGIES TLV LTD.
H04L47/30H04L47/263H04L47/35
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 11,005,770
App. No.
16/442,508
Granted
May 11, 2021
Kind
B2
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 (33)

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;

forwarding the received packet from the intermediate switch toward the destination network interface; and

prior to forwarding the received packet:

determining whether all other intermediate switches are capable of transmitting congestion notification packets to the source network interface;

responsive to determining that all other intermediate switches are capable of transmitting congestion notification packets to the source network interface, marking the received packet in a first manner indicating that the received packet is ineligible to cause other intermediate switches of the network to generate and transmit new congestion notification packets; and

responsive to determining that less than all other intermediate switches are capable of transmitting congestion notification packets to the source network interface, marking the received packets in a second manner.

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

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

4. 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.

5. 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.

6. 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 via at least one other intermediate switch,

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,

and the intermediate switch is also operative for, prior to forwarding the received packet:

determining whether all other intermediate switches are capable of transmitting congestion notification packets to the source network interface;

responsive to determining that all other intermediate switches are capable of transmitting congestion notification packets to the source network interface, marking the received packet in a first manner indicating that the received packet is ineligible to cause other intermediate switches of the network to generate and transmit new congestion notification packets; and

responsive to determining that less than all other intermediate switches are capable of transmitting congestion notification packets to the source network interface, marking the received packets in a second manner.

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

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

9. The apparatus according to claim 6 , 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.

10. The apparatus according to claim 6 , 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.

Assignments (2)
MERGER Recorded Dec 15, 2021
From: MELLANOX TECHNOLOGIES TLV LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 058517/0564 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2019
From: GAFNI, BARAK; ZAHAVI, EITAN; LEVY, GIL; KFIR, AVIV; MULA, LIRON
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 049480/0038 →
Continuity (1)
Related Publication 20200396170A1 · Dec 17, 2020
Cited By (1)
US 12,244,670