Marking of RDMA-over-converged-ethernet (RoCE) traffic eligible for adaptive routing

Information

  • Patent Grant
  • 12328251
  • Patent Number
    12,328,251
  • Date Filed
    Sunday, November 20, 2022
    2 years ago
  • Date Issued
    Tuesday, June 10, 2025
    a month ago
Abstract
A network adapter includes a port and one or more circuits. The port is to send packets to a network in accordance with a Remote Direct Memory Access over Converged Ethernet (RoCE) protocol. The one or more circuits are to decide whether a packet is permitted to undergo Adaptive Routing (AR) in being routed through the network, to mark the packet with an indication of whether the packet is permitted to undergo AR, and to send the marked packet to the network via the port.
Description
FIELD OF THE INVENTION

The present invention relates generally to communication networks, and particularly to methods and systems for applying Adaptive Routing (AR) to Remote Direct Memory Access over Ethernet (RoCE) traffic.


BACKGROUND OF THE INVENTION

RoCE, also referred to as InfiniBand over Ethernet (IBoE), is a network protocol that enables performing Remote Direct Memory Access (RDMA) transactions over an Ethernet network. Generally speaking, RoCE involves encapsulating InfiniBand (IB) transport packets in Ethernet packets. RoCE is specified, for example, in “Supplement to InfiniBand™ Architecture Specification—Volume 1 Release 1.2.1—Annex A17: RoCEv2,” Sep. 2, 2014.


Adaptive Routing (AR) techniques route traffic over multiple alternative routes in a network, for example depending on load conditions, congestion, or other conditions of the routes. Various AR techniques are known in the art. For example, U.S. Pat. No. 8,576,715, whose disclosure is incorporated herein by reference, describes routing using multiple routing modes, e.g., a time-bounded AR mode, an unbounded AR mode and a static routing mode. U.S. Pat. No. 9,014,006, whose disclosure is incorporated herein by reference, describes adaptive routing techniques that use inter-switch notifications. U.S. Pat. No. 9,894,005, whose disclosure is incorporated herein by reference, describes adaptive routing controlled by source node. Additional AR techniques are described, for example, in U.S. Pat. Nos. 9,973,435, 10,819,621, 10,178,029, 10,200,294, 10,644,995, whose disclosures are all incorporated herein by reference.


SUMMARY OF THE INVENTION

A network adapter includes a port and one or more circuits. The port is to send packets to a network in accordance with a Remote Direct Memory Access over Converged Ethernet (RoCE) protocol. The one or more circuits are to decide whether a packet is permitted to undergo Adaptive Routing (AR) in being routed through the network, to mark the packet with an indication of whether the packet is permitted to undergo AR, and to send the marked packet to the network via the port.


In some embodiments, the one or more circuits are to decide whether the packet is permitted to undergo AR by negotiating with a peer network adapter at a destination of the packet, and finding whether the peer network adapter is capable of processing RoCE packets that are received Out-Of-Order (OOO). In an example embodiment, in response to receiving an override instruction from a host, the one or more circuits are to mark the packet as ineligible to undergo AR even though the peer network adapter is capable of processing RoCE packets received OOO. In another embodiment, in response to the packet meeting a defined condition, the one or more circuits are to mark the packet as ineligible to undergo AR regardless of whether the packet is eligible or not.


In some embodiments, the one or more circuits are to mark the packet by setting a bit in a transport-layer header of the packet. In an example embodiment, the bit is a reserved bit in a RoCE Base Transport Header (BTH) of the packet.


There is additionally provided, in accordance with an embodiment of the present invention, a network device including multiple ports and one or more packet processing circuits. The ports are to send and receive packets to and from a network in accordance with a RoCE protocol. The one or more packet processing circuits are to receive a packet, to extract from the packet an indication of whether the packet is permitted to undergo AR, and to route the packet using AR or using static routing, depending on the indication.


In some embodiments, the one or more packet processing circuits are to extract the indication by reading a bit in a transport-layer header of the packet. In an embodiment, the bit is a reserved bit in a RoCE Base Transport Header (BTH) of the packet. In a disclosed embodiment, the network device is a layer-2 switch, and the one or more packet processing circuits are to extract the indication by reading a bit in a transport-layer header of the packet.


There is also provided, in accordance with an embodiment of the present invention, a method for communicating Remote Direct Memory Access over Converged Ethernet RoCE packets. The method includes, in a network adapter, deciding whether a RoCE packet is permitted to undergo AR in being routed through a network. The RoCE packet is marked in the network adapter with an indication of whether the packet is permitted to undergo AR. The marked packet is sent from the network adapter to the network.


There is also provided, in accordance with an embodiment of the present invention, a method for routing RoCE packets. The method includes receiving a RoCE packet from a network in a network device. An indication of whether the packet is permitted to undergo AR is extracted from the packet. The packet is routed using AR or using static routing, depending on the indication.


The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which:





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram that schematically illustrates an Ethernet communication system, in accordance with an embodiment of the present invention;



FIG. 2 is a flow chart that schematically illustrates a method for transmitting RoCE packets having Adaptive Routing (AR) eligibility marks from an Ethernet Network Interface Controller (NIC), in accordance with an embodiment of the present invention; and



FIG. 3 is a flow chart that schematically illustrates a method for routing RoCE packets having Adaptive Routing (AR) eligibility marks in an Ethernet switch, in accordance with an embodiment of the present invention.





DETAILED DESCRIPTION OF EMBODIMENTS
Overview

Adaptive Routing (AR) techniques are routing techniques in which a network device, e.g., a network switch, is given freedom to choose a routing path for a packet from among multiple candidate routes. AR allows better utilization of network resources, e.g., by improving load balancing and avoiding congestion. On the other hand, switching from one route to another may cause packets to arrive at their destination Out-Of-Order (OOO), i.e., in an order that differs from the order of transmission from the source. OOO packet arrival may be problematic, and sometimes forbidden, for some applications.


RoCE is one typical example of an application that may have difficulty in processing packets that arrive OOO. Some Ethernet Network Interface Controllers (NICs) are capable of processing RoCE packets that arrive OOO, while other NICs require strict in-order arrival.


Embodiments of the present invention that are described herein provide improved methods and systems for communicating RoCE traffic. In the disclosed embodiments, a source NIC transmits RoCE packets to an Ethernet network. Among other packet processing tasks, the source NIC decides, for a given RoCE packet, whether or not the packet is permitted to undergo AR in being routed through the network. The source NIC then marks the packet with a suitable “eligibility mark”, and transmits the marked packet to the network. The terms “permitted to undergo AR” and “eligible for AR” are used interchangeably herein.


In some embodiments, a network switch that supports the disclosed techniques is located at a location in the network having multiple alternative routes leading to the destination of the above-described packet. Upon receiving the packet, the switch extracts the eligibility mark from the packet and identifies whether the packet is permitted to undergo AR or not. If permitted, the switch routes the packet using AR. If not permitted, the switch routes the packet using static routing.


In the present context, the term “adaptive routing” refers to a routing scheme in which a network device (e.g., switch or router) has the freedom to route a given packet or flow over one of multiple different candidate routes, and to change the route selection over time. From the perspective of the switch, adaptive selection of a route from among candidate routes is equivalent to adaptive selection of an egress port for a packet or flow from a set of alternative egress ports. The term “static routing” refers to a routing scheme in which a network device (e.g., switch or router) selects the same route for a given packet or flow.


In an embodiment, the source NIC marks the packet with an eligibility mark by setting a reserved bit in a Base Transport Header (BTH) of the packet. The BTH is a layer-4 (transport layer) header, which is part of an inner IB packet of the RoCE packet. In an embodiment, the switch extracts the eligibility mark by examining the inner layer-4 IB header, even though the switch itself is a layer-2 Ethernet switch and the IB packet is encapsulated in an Ethernet packet.


The source NIC may use various criteria for deciding whether a given RoCE packet is eligible to undergo AR or not. In some embodiments, when initiating communication, the source NIC and the destination NIC carry out an auto-negotiation process in which the NICs report their capabilities to one another. One of the reported capabilities is whether or not the destination NIC is capable of processing RoCE packets that arrive OOO. When sending packets to a destination NIC that supports OOO packet arrival, the source NIC marks the packets as eligible to undergo AR, and vice versa.


In some embodiments, the host served by the source NIC may override the NIC in making AR eligibility decisions for packets. Additionally or alternatively, the source NIC may force static routing for specific packets within a flow that is specified as eligible for AR.


In summary, the methods and systems described herein ensure that AR is applied only to RoCE traffic that is permitted to undergo AR. Without the disclosed techniques, either all destination NICs must support OOO processing of received RoCE traffic, or else AR cannot be used.


System Description


FIG. 1 is a block diagram that schematically illustrates an Ethernet communication system 20, in accordance with an embodiment of the present invention. System 20 comprises Ethernet NICs 24 and 28 that communicate with one another using RoCE over an Ethernet network 32. NIC 24 serves a host 34. Network 32 comprises a plurality of Ethernet switches, in the present example six switches denoted 36A-36F, which are interconnected by network links 40.


In the demonstrative examples below, NIC 24 sends RoCE packets to NIC 28. Therefore, NIC 24 is referred to as a source NIC, and NIC 28 is referred to as a destination NIC. NIC 24 comprises a port 44 for sending and receiving packets to and from network 32, and circuitry 48, comprising one or more circuits, for generating and otherwise processing transmitted and received packets. Among other tasks, circuitry 48 marks outgoing RoCE packets with “AR eligibility indications,” which indicate whether or not the RoCE packets are permitted to undergo Adaptive Routing (AR).


As shown in detail for switch 36A, each Ethernet switch in network 32 comprises multiple ports 52, a switch fabric 56, and a controller 60. Ports 52 serve as network interfaces for transmitting and receiving packets to and from network 32. Fabric 56 forwards packets between the ports—A given packet is received at a certain ingress port and is forwarded to a certain egress port. Controller 60 configures and manages the operation of fabric 56 and of switch 36A as a whole.


Fabric 56 and controller 60 are referred to jointly as “packet processing circuitry” or “one or more packet processing circuits” that carry out the disclosed techniques. Among other tasks, the (one or more) packet processing circuits extract AR eligibility marks from incoming RoCE packets, and use the eligibility marks to decide whether to route the packets using AR or using static routing.


The configurations of system 20, network 32, NIC 24 and switch 36A, as depicted in FIG. 1, are example configurations that are chosen purely for the sake of conceptual clarity. Any other suitable configurations can be used in alternative embodiments. For example, FIG. 1 shows only two NICs for the sake of clarity. Real-life systems typically comprise a large number of NICs, each serving as a source NIC for some packets and as a destination NIC for other packets.


In various embodiments, NIC 24 and switch 36A may be implemented using suitable software, using suitable hardware such as one or more Application-Specific Integrated Circuits (ASIC) or Field-Programmable Gate Arrays (FPGA), or using a combination of hardware and software. Some elements of NIC 24 and/or switch 36A, e.g., controller 60 and/or parts of NIC circuitry 48, may be implemented using one more general-purpose processors, which are programmed in software to carry out the techniques described herein. The software may be downloaded to the processors in electronic form, over a network, for example, or it may, alternatively or additionally, be provided and/or stored on non-transitory tangible media, such as magnetic, optical, or electronic memory.


Selective Application of AR by Marking Packets with AR Eligibility Marks

Consider an example scenario in which source NIC 24 sends RoCE packets addressed to destination NIC 28. As the packets travel through network 32, they are received by switch 36A. As seen in the figure, switch 36A is able to route packets to destination NIC 28 over three alternative routes—One route passing via switch 36C, another route passing via switch 36D, and a third route via switch 36E. All three routes converge at switch 36F, which is the last-hop switch connected to destination NIC 28.


To route a packet via a selected route, fabric 56 of switch 36A forwards the packet to an egress port leading to that route. When using static routing, the selection of egress port for a given packet (e.g., for a given flow defined by a respective “tuple”) is fixed. When using AR, controller 60 may change the selection of egress port for a given packet from time to time, e.g., depending on load conditions over the various alternative routes. Any suitable AR scheme can be used, e.g., the AR techniques in the references cited in the Background section above.


In some cases, it is permissible for switch 36A to route RoCE packets to destination NIC 28 using AR. In other cases, it is mandatory that RoCE packets be routed to destination NIC 28 using static routing. For example, destination NIC 28 may or may not be capable of processing RoCE packets that arrive Out-Of-Order (OOO), i.e., in a different order than the order in which they were sent from source NIC 24.


Thus, in some embodiments source NIC 24 marks each RoCE packet with an “eligibility mark” that indicates whether the packet is permitted to undergo AR. Switch 36A (and any other switch in network 32 that supports the disclosed technique) uses these marks to decide whether to route the packets using AR or using static routing.


In some embodiments, circuitry 48 of NIC 24 marks a RoCE packet with an eligibility mark by setting the value of a reserved bit in a Base Transport Header (BTH) of the inner IB packet in the RoCE packet. The structure of the BTH is specified, for example, in “InfiniBand™ Architecture Specification Volume 1—Release 1.5,” Jun. 2, 2021, Table 6. The table specifies a seven-bit “Reserved” field. Any of the bits of this field, e.g., the Most Significant Bit (MSB), can be used for storing an eligibility mark. In an example embodiment, setting this bit to “1” means that the packet is eligible for AR (permitted to undergo AR), and setting the bit to “0” means that the packet is ineligible for AR (not permitted to undergo AR). In alternative embodiment, any other suitable bit or multiple bits, in any other location in the packet, can be used for storing the eligibility mark for the packet.


In some embodiments, source NIC 24 marks some RoCE packets as eligible for AR, and other RoCE packets as ineligible for AR. For example, source NIC 24 may communicate with multiple destination NICs 28, some of which supporting processing of OOO packets and others do not.



FIG. 2 is a flow chart that schematically illustrates a method for transmitting RoCE packets having Adaptive Routing (AR) eligibility marks from source NIC 24, in accordance with an embodiment of the present invention. The method begins with circuitry 48 of source NIC 24 carrying out auto-negotiation processes with one or more peer NICs, at an auto-negotiation stage 70. For convenience, the auto-negotiation processes are mentioned in a single stage of the method. In reality, auto-negotiation processes with different peer NICs will typically be conducted at different times—Upon establishing a connection with each peer NIC. As part of the auto-negotiation process, each peer NIC notifies NIC 24 whether or not it is capable of processing RoCE packets that arrive OOO.


At a packet generation stage 74, circuitry 48 of source NIC 24 generates (or receives from host 34 for transmission) a RoCE packet addressed to a certain destination NIC 28. At a capability checking stage 78, circuitry 48 checks (based on the results of the auto-negotiation process of stage 70) whether the destination NIC is capable of processing RoCE packets that arrive OOO.


If the destination NIC is found to be capable of processing RoCE packets that arrive OOO, circuitry 48 marks the RoCE packet with the appropriate eligibility mark, at an eligibility marking stage 82. In the present example circuitry 48 sets the MSB of the Reserved field in the BTH of the packet to “1”. If, on the other hand, the destination NIC is found to be incapable of processing RoCE packets that arrive OOO, circuitry 48 marks the RoCE packet with the opposite eligibility mark, at an ineligibility marking stage 86. In the present example circuitry 48 sets the MSB of the Reserved field in the BTH of the packet to “0”.


At a packet transmission stage 90, circuitry 48 sends the RoCE packet, including the eligibility mark, via port 44 to network 32. The method then loops back to stage 74 above for handling the next packet.



FIG. 3 is a flow chart that schematically illustrates a method for routing RoCE packets having AR eligibility marks in Ethernet switch 36A, in accordance with an embodiment of the present invention. The method begins with switch 36A receiving from network 32 a RoCE packet that is marked with an AR eligibility mark, at a packet reception stage 100.


At a mark extraction stage 104, fabric 56 of switch 36A extracts the eligibility mark from the packet. At an eligibility checking stage 108, fabric 56 checks whether, according to the extracted eligibility mark, the packet is permitted to undergo AR.


If the packet is permitted to undergo AR, fabric 56 selects an egress port for the packet using AR, at an adaptive routing stage 112. If the packet is not permitted to undergo AR, fabric 56 selects an egress port for the packet using static routing, at a static routing stage 116. At a forwarding stage 120, fabric 56 forwards the RoCE packet to the selected egress port, to be transmitted over the selected route in network 32.


The methods of FIGS. 2 and 3 are example methods that are chosen purely for the sake of conceptual clarity. In alternative embodiments, the disclosed techniques can be carried out using any other suitable method. For example, circuitry 48 of source NIC 24 may use any other suitable criterion for deciding whether a particular RoCE packet, or a particular flow of RoCE packets, is permitted to undergo AR or not.


In some embodiments, host 34 may override source NIC 24 in making AR eligibility decisions for packets. For example, source NIC 24 may find by auto-negotiation that destination NIC 28 is capable of processing RoCE packets that arrive OOO, and thus decide to mark the RoCE packets sent to NIC 28 as eligible for AR. Host 34 may override this decision and instruct NIC 24 to mark the RoCE packets sent to NIC 28 as ineligible for AR. In some embodiments, source NIC 24 may force static routing for specific packets within a flow that is specified as eligible for AR.


Scenarios in which host 34 may override an AR eligibility decision of NIC 24, and/or force static routing for specific packets, may comprise, for example:

    • Host 34 is aware that destination NIC 28 is capable of processing RoCE packets that arrive OOO, even though the destination NIC does not advertise this capability in auto-negotiation.
    • Auto-negotiation fails, and host 34 decides to use AR irrespective of the lack of knowledge as to the destination NIC capabilities.
    • Host 34 is aware that the destination NIC is missing certain hardware (e.g., a legacy NIC having no hardware for special CRC checking). In such a case host 34 may force static routing.


Although the embodiments described herein mainly address routing of RoCE packets over an Ethernet network, the methods and systems described herein can also be used in other applications, such as in native IB.


It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art. Documents incorporated by reference in the present patent application are to be considered an integral part of the application except that to the extent any terms are defined in these incorporated documents in a manner that conflicts with the definitions made explicitly or implicitly in the present specification, only the definitions in the present specification should be considered.

Claims
  • 1. A network adapter, comprising: a port, to send packets to a network in accordance with a Remote Direct Memory Access over Converged Ethernet (RoCE) protocol; andone or more circuits, to: decide whether a packet is permitted to undergo Adaptive Routing (AR) in being routed through the network;mark the packet with an indication of whether the packet is permitted to undergo AR, including, in response to the packet meeting a defined condition, marking the packet as ineligible to undergo AR regardless of whether the packet is eligible or not; andsend the marked packet to the network via the port.
  • 2. The network adapter according to claim 1, wherein the one or more circuits are to decide whether the packet is permitted to undergo AR by negotiating with a peer network adapter at a destination of the packet, and finding whether the peer network adapter is capable of processing RoCE packets that are received Out-Of-Order (OOO).
  • 3. The network adapter according to claim 1, wherein the one or more circuits are to mark the packet by setting a bit in a transport-layer header of the packet.
  • 4. The network adapter according to claim 3, wherein the bit is a reserved bit in a ROCE Base Transport Header (BTH) of the packet.
  • 5. A network adapter, comprising: a port, to send packets to a network in accordance with a Remote Direct Memory Access over Converged Ethernet (RoCE) protocol; andone or more circuits, to: decide whether a packet is permitted to undergo Adaptive Routing (AR) in being routed through the network;mark the packet with an indication of whether the packet is permitted to undergo AR, including, in response to receiving an override instruction from a host, marking the packet as ineligible to undergo AR even though the peer network adapter is capable of processing ROCE packets received OOO; andsend the marked packet to the network via the port.
  • 6. A network device, comprising: multiple ports, to send and receive packets to and from a network in accordance with a Remote Direct Memory Access over Converged Ethernet (ROCE) protocol; andone or more packet processing circuits, to receive a packet, to extract from the packet an indication of whether the packet is permitted to undergo Adaptive Routing (AR), and to route the packet using AR or using static routing, depending on the indication,wherein: the network device is a layer-2 switch;the packet is a RoCE packet comprising a layer-4 packet encapsulated within a layer-2 packet; andthe one or more packet processing circuits of the layer-2 switch are to extract the indication by reading a bit in a layer-4 header of the layer-4 packet that is encapsulated within the layer-2 packet.
  • 7. The network device according to claim 6, wherein the bit is a reserved bit in a ROCE Base Transport Header (BTH) of the packet.
  • 8. A method for communicating Remote Direct Memory Access over Converged Ethernet (ROCE) packets, the method comprising: in a network adapter, deciding whether a RoCE packet is permitted to undergo Adaptive Routing (AR) in being routed through a network;marking the ROCE packet in the network adapter with an indication of whether the packet is permitted to undergo AR, including, in response to the packet meeting a defined condition, marking the packet as ineligible to undergo AR regardless of whether the packet is eligible or not; andsending the marked packet from the network adapter to the network.
  • 9. The method according to claim 8, wherein deciding whether the packet is permitted to undergo AR comprises negotiating with a peer network adapter at a destination of the packet, and finding whether the peer network adapter is capable of processing ROCE packets that are received Out-Of-Order (OOO).
  • 10. The method according to claim 8, wherein marking the packet comprises setting a bit in a transport-layer header of the packet.
  • 11. The method according to claim 10, wherein the bit is a reserved bit in a ROCE Base Transport Header (BTH) of the packet.
  • 12. A method for communicating Remote Direct Memory Access over Converged Ethernet (ROCE) packets, the method comprising: in a network adapter, deciding whether a ROCE packet is permitted to undergo Adaptive Routing (AR) in being routed through a network;marking the ROCE packet in the network adapter with an indication of whether the packet is permitted to undergo AR, including, in response to receiving an override instruction from a host, marking the packet as ineligible to undergo AR even though the peer network adapter is capable of processing ROCE packets received OOO; andsending the marked packet from the network adapter to the network.
  • 13. A method for routing Remote Direct Memory Access over Converged Ethernet (ROCE) packets, the method comprising: in a layer-2 switch, receiving a RoCE packet from a network, the ROCE packet comprising a layer-4 packet encapsulated within a layer-2 packet;extracting from the ROCE packet an indication of whether the packet is permitted to undergo Adaptive Routing (AR), by reading a bit in a layer-4 header of the layer-4 packet that is encapsulated within the layer-2 packet; androuting the ROCE packet using AR or using static routing, depending on the indication.
  • 14. The method according to claim 13, wherein the bit is a reserved bit in a ROCE Base Transport Header (BTH) of the ROCE packet.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application 63/404,551, filed Sep. 8, 2022, whose disclosure is incorporated herein by reference.

US Referenced Citations (271)
Number Name Date Kind
4312064 Bench et al. Jan 1982 A
6115385 Vig Sep 2000 A
6169741 Lemaire et al. Jan 2001 B1
6480500 Erimli et al. Nov 2002 B1
6532211 Rathonyi et al. Mar 2003 B1
6553028 Tang et al. Apr 2003 B1
6614758 Wong Sep 2003 B2
6665297 Harigochi et al. Dec 2003 B1
6775268 Wang et al. Aug 2004 B1
6795886 Nguyen Sep 2004 B1
6804532 Moon et al. Oct 2004 B1
6807175 Jennings Oct 2004 B1
6831918 Kavak Dec 2004 B1
6912589 Jain et al. Jun 2005 B1
6912604 Tzeng et al. Jun 2005 B1
6950428 Horst et al. Sep 2005 B1
7010607 Bunton Mar 2006 B1
7076569 Bailey et al. Jul 2006 B1
7221676 Green et al. May 2007 B2
7234001 Simpson et al. Jun 2007 B2
7274869 Pan et al. Sep 2007 B1
7286535 Ishikawa et al. Oct 2007 B2
7401157 Costantino et al. Jul 2008 B2
7590110 Beshai et al. Sep 2009 B2
7676597 Kagan et al. Mar 2010 B2
7746854 Ambe et al. Jun 2010 B2
7899930 Turner et al. Mar 2011 B1
7924837 Shabtay et al. Apr 2011 B1
7936770 Frattura et al. May 2011 B1
7969980 Florit et al. Jun 2011 B1
8094569 Gunukula et al. Jan 2012 B2
8175094 Bauchot et al. May 2012 B2
8195989 Lu et al. Jun 2012 B1
8213315 Crupnicoff et al. Jul 2012 B2
8401012 Underwood et al. Mar 2013 B2
8489718 Brar et al. Jul 2013 B1
8495194 Brar et al. Jul 2013 B1
8570865 Goldenberg et al. Oct 2013 B2
8576715 Bloch et al. Nov 2013 B2
8605575 Gunukula et al. Dec 2013 B2
8621111 Marr et al. Dec 2013 B2
8625427 Terry et al. Jan 2014 B1
8681641 Sajassi et al. Mar 2014 B1
8737269 Zhou et al. May 2014 B1
8755389 Poutievski et al. Jun 2014 B1
8774063 Beecroft Jul 2014 B2
8867356 Bloch et al. Oct 2014 B2
8873567 Mandal et al. Oct 2014 B1
8908510 Sela et al. Dec 2014 B2
8908704 Koren et al. Dec 2014 B2
9014006 Haramaty et al. Apr 2015 B2
9042234 Liljenstolpe et al. May 2015 B1
9137143 Parker et al. Sep 2015 B2
9231888 Bogdanski et al. Jan 2016 B2
9264382 Bogdanski et al. Feb 2016 B2
9385949 Vershkov et al. Jul 2016 B2
9544185 Yadav et al. Jan 2017 B1
9548960 Haramaty et al. Jan 2017 B2
9571400 Mandal et al. Feb 2017 B1
9584429 Haramaty et al. Feb 2017 B2
9699095 Elias et al. Jul 2017 B2
9729473 Haramaty et al. Aug 2017 B2
9876727 Gaist et al. Jan 2018 B2
9985910 Gafni et al. May 2018 B2
10009277 Goldenberg et al. Jun 2018 B2
10079782 Haramaty et al. Sep 2018 B2
10200294 Shpiner et al. Feb 2019 B2
10205683 Elias et al. Feb 2019 B2
10218642 Mula et al. Feb 2019 B2
10230652 Haramaty et al. Mar 2019 B2
10389646 Zdorov et al. Aug 2019 B2
10554556 Haramaty et al. Feb 2020 B2
10574546 Levi et al. Feb 2020 B2
10644995 Levy et al. May 2020 B2
11005724 Shpigelman et al. May 2021 B1
11310163 Lo et al. Apr 2022 B1
11336287 Rodriguez May 2022 B1
11411911 Levi et al. Aug 2022 B2
11520717 Clarke Dec 2022 B1
20010043564 Bloch et al. Nov 2001 A1
20010043614 Mswanadhham et al. Nov 2001 A1
20020009073 Furukawa et al. Jan 2002 A1
20020013844 Garrett et al. Jan 2002 A1
20020026525 Armitage Feb 2002 A1
20020039357 Lipasti et al. Apr 2002 A1
20020067693 Kodialam et al. Jun 2002 A1
20020071439 Reeves et al. Jun 2002 A1
20020085586 Tzeng Jul 2002 A1
20020136163 Kawakami et al. Sep 2002 A1
20020138645 Shinomiya et al. Sep 2002 A1
20020141412 Wong Oct 2002 A1
20020165897 Kagan et al. Nov 2002 A1
20020176363 Durinovic-Johri et al. Nov 2002 A1
20030016624 Bare Jan 2003 A1
20030039260 Fujisawa Feb 2003 A1
20030065856 Kagan et al. Apr 2003 A1
20030079005 Myers et al. Apr 2003 A1
20030097438 Bearden et al. May 2003 A1
20030223453 Stoler et al. Dec 2003 A1
20040024903 Costatino et al. Feb 2004 A1
20040062242 Wadia et al. Apr 2004 A1
20040111651 Mukherjee et al. Jun 2004 A1
20040202473 Nakamura et al. Oct 2004 A1
20050013245 Sreemanthula et al. Jan 2005 A1
20050154790 Nagata et al. Jul 2005 A1
20050157641 Roy Jul 2005 A1
20050259588 Preguica Nov 2005 A1
20060126627 Diouf Jun 2006 A1
20060143300 See et al. Jun 2006 A1
20060182034 Klinker et al. Aug 2006 A1
20060215645 Kangyu Sep 2006 A1
20060291480 Cho et al. Dec 2006 A1
20070030817 Arunachalam et al. Feb 2007 A1
20070058536 Vaananen et al. Mar 2007 A1
20070058646 Hermoni Mar 2007 A1
20070070998 Sethuram et al. Mar 2007 A1
20070091911 Watanabe et al. Apr 2007 A1
20070104192 Yoon et al. May 2007 A1
20070183418 Riddoch et al. Aug 2007 A1
20070223470 Stahl Sep 2007 A1
20070237083 Oh et al. Oct 2007 A9
20080002690 Ver Steeg et al. Jan 2008 A1
20080101378 Krueger May 2008 A1
20080112413 Pong May 2008 A1
20080165797 Aceves Jul 2008 A1
20080186981 Seto et al. Aug 2008 A1
20080189432 Abali et al. Aug 2008 A1
20080267078 Farinacci et al. Oct 2008 A1
20080298248 Roeck et al. Dec 2008 A1
20090010159 Brownell et al. Jan 2009 A1
20090022154 Kiribe et al. Jan 2009 A1
20090097496 Nakamura et al. Apr 2009 A1
20090103534 Malledant et al. Apr 2009 A1
20090119565 Park et al. May 2009 A1
20090262741 Jungck et al. Oct 2009 A1
20100020796 Park et al. Jan 2010 A1
20100039959 Gilmartin Feb 2010 A1
20100049942 Kim et al. Feb 2010 A1
20100111529 Zeng et al. May 2010 A1
20100141428 Mildenberger et al. Jun 2010 A1
20100189113 Csaszar et al. Jul 2010 A1
20100216444 Mariniello et al. Aug 2010 A1
20100284404 Gopinath et al. Nov 2010 A1
20100290385 Ankaiah et al. Nov 2010 A1
20100290458 Assarpour et al. Nov 2010 A1
20100315958 Luo et al. Dec 2010 A1
20110019673 Fernandez Jan 2011 A1
20110080913 Liu et al. Apr 2011 A1
20110085440 Owens et al. Apr 2011 A1
20110085449 Jeyachandran et al. Apr 2011 A1
20110090784 Gan Apr 2011 A1
20110164496 Loh et al. Jul 2011 A1
20110164518 Daraiseh et al. Jul 2011 A1
20110225391 Burroughs et al. Sep 2011 A1
20110249679 Lin et al. Oct 2011 A1
20110255410 Yamen et al. Oct 2011 A1
20110265006 Morimura et al. Oct 2011 A1
20110299529 Olsson et al. Dec 2011 A1
20120020207 Corti et al. Jan 2012 A1
20120075999 Ko et al. Mar 2012 A1
20120082057 Welin et al. Apr 2012 A1
20120144065 Parker et al. Jun 2012 A1
20120147752 Ashwood-Smith et al. Jun 2012 A1
20120163797 Wang Jun 2012 A1
20120170582 Abts et al. Jul 2012 A1
20120207175 Raman et al. Aug 2012 A1
20120250500 Liu Oct 2012 A1
20120250679 Judge et al. Oct 2012 A1
20120287791 Xi et al. Nov 2012 A1
20120300669 Zahavi Nov 2012 A1
20120314706 Liss Dec 2012 A1
20130044636 Koponen et al. Feb 2013 A1
20130071116 Ong Mar 2013 A1
20130083701 Tomic et al. Apr 2013 A1
20130114599 Arad May 2013 A1
20130114619 Wakumoto May 2013 A1
20130159548 Vasseur et al. Jun 2013 A1
20130170451 Krause et al. Jul 2013 A1
20130182604 Moreno et al. Jul 2013 A1
20130204933 Cardona et al. Aug 2013 A1
20130208720 Ellis et al. Aug 2013 A1
20130242745 Umezuki Sep 2013 A1
20130259033 Hefty Oct 2013 A1
20130297757 Han et al. Nov 2013 A1
20130315237 Kagan et al. Nov 2013 A1
20130322256 Bader et al. Dec 2013 A1
20130329727 Rajagopalan et al. Dec 2013 A1
20130336116 Vasseur et al. Dec 2013 A1
20130336164 Yang et al. Dec 2013 A1
20140016457 Enyedi et al. Jan 2014 A1
20140022942 Han et al. Jan 2014 A1
20140043959 Owens et al. Feb 2014 A1
20140059440 Sasaki et al. Feb 2014 A1
20140105034 Sun Apr 2014 A1
20140140341 Bataineh et al. May 2014 A1
20140169173 Naouri et al. Jun 2014 A1
20140192646 Mir et al. Jul 2014 A1
20140198636 Thayalan et al. Jul 2014 A1
20140211808 Koren et al. Jul 2014 A1
20140269305 Nguyen Sep 2014 A1
20140313880 Lu et al. Oct 2014 A1
20140328180 Kim et al. Nov 2014 A1
20140343967 Baker Nov 2014 A1
20150030033 Vasseur et al. Jan 2015 A1
20150052252 Gilde et al. Feb 2015 A1
20150092539 Sivabalan et al. Apr 2015 A1
20150124815 Beliveau et al. May 2015 A1
20150127797 Attar et al. May 2015 A1
20150131663 Brar et al. May 2015 A1
20150163144 Koponen et al. Jun 2015 A1
20150172070 Csaszar Jun 2015 A1
20150172226 Borshteen Jun 2015 A1
20150180782 Rimmer Jun 2015 A1
20150194215 Douglas et al. Jul 2015 A1
20150195204 Haramaty et al. Jul 2015 A1
20150222533 Birrittella Aug 2015 A1
20150249590 Gusat et al. Sep 2015 A1
20150295858 Chrysos et al. Oct 2015 A1
20150372916 Haramaty et al. Dec 2015 A1
20160012004 Arimilli et al. Jan 2016 A1
20160014636 Bahr et al. Jan 2016 A1
20160028613 Haramaty et al. Jan 2016 A1
20160043933 Gopalarathnam Feb 2016 A1
20160080120 Unger et al. Mar 2016 A1
20160080321 Pan et al. Mar 2016 A1
20160182378 Basavaraja et al. Jun 2016 A1
20160294715 Raindel et al. Oct 2016 A1
20160380893 Chopra et al. Dec 2016 A1
20170054445 Wang Feb 2017 A1
20170054591 Hyoudou et al. Feb 2017 A1
20170068669 Levy et al. Mar 2017 A1
20170070474 Haramaty et al. Mar 2017 A1
20170163775 Ravi et al. Jun 2017 A1
20170180243 Haramaty et al. Jun 2017 A1
20170187614 Haramaty et al. Jun 2017 A1
20170187637 Underwood Jun 2017 A1
20170195758 Schrans et al. Jul 2017 A1
20170244630 Levy et al. Aug 2017 A1
20170270119 Kfir et al. Sep 2017 A1
20170286292 Levy et al. Oct 2017 A1
20170331740 Levy et al. Nov 2017 A1
20170358111 Madsen Dec 2017 A1
20180024841 Hiscock Jan 2018 A1
20180026878 Zahavi et al. Jan 2018 A1
20180062990 Kumar et al. Mar 2018 A1
20180089127 Flajslik et al. Mar 2018 A1
20180139132 Edsall et al. May 2018 A1
20180302288 Schmatz Oct 2018 A1
20190068484 Oprea Feb 2019 A1
20190230560 Huang Jul 2019 A1
20200042667 Swaminathan et al. Feb 2020 A1
20200067822 Malhotra et al. Feb 2020 A1
20200136956 Neshat Apr 2020 A1
20200234146 Lee et al. Jul 2020 A1
20200236052 Srinivasan Jul 2020 A1
20210344782 Shpigelman Nov 2021 A1
20220014607 Pilnik et al. Jan 2022 A1
20220045972 Aibester et al. Feb 2022 A1
20220078104 Yallouz et al. Mar 2022 A1
20220086848 Sharma et al. Mar 2022 A1
20220103480 Chiesa et al. Mar 2022 A1
20220182309 Bataineh et al. Jun 2022 A1
20220231957 Friedman Jul 2022 A1
20220360511 Raindel Nov 2022 A1
20230038307 Blendin et al. Feb 2023 A1
20230164086 York May 2023 A1
20230209406 Hu Jun 2023 A1
20230239233 Grandhye et al. Jul 2023 A1
20230318980 Wei et al. Oct 2023 A1
20240080266 Friedman Mar 2024 A1
20240089194 Almog Mar 2024 A1
Foreign Referenced Citations (15)
Number Date Country
1394053 Jan 2003 CN
105141512 Dec 2015 CN
110602211 Dec 2019 CN
110704361 Jan 2020 CN
110719193 Jan 2020 CN
112311694 Feb 2021 CN
112565245 Mar 2021 CN
113746744 Dec 2021 CN
11549927 Dec 2022 CN
3509255 Jul 2019 EP
2012037494 Mar 2012 WO
WO-2013074075 May 2013 WO
2015175567 Nov 2015 WO
2016014362 Jan 2016 WO
2016105446 Jun 2016 WO
Non-Patent Literature Citations (63)
Entry
U.S. Appl. No. 17/902,920 Office Action dated Feb. 14, 2024.
Ronen et al., U.S. Appl. No. 17/353,869, filed Jun. 22, 2021.
Valadarsky et al., “Xpander: Towards Optimal-Performance Datacenters,” Proceedings of CoNEXT '16, pp. 205-219, Dec. 2016.
Bilu et al., “Lifts, Discrepancy and Nearly Optimal Spectral Gap*,” Combinatorica, vol. 26, No. 5, Bolyai Society—Springer-Verlag, pp. 495-519, year 2006.
InfiniBand Trade Association, “Supplement to Infiniband Architecture Specification,” vol. 1, release 1.2.1—Annex A17: RoCEv2, pp. 1-23, Sep. 2, 2014.
InfiniBand Trade Association, “InfiniBand Architecture Specification,” vol. 1, Release 1.5, Jun. 2, 2021, Draft, Table 6 (Base Transport Header Fields), pp. 1-2, year 2021.
Cisco, “Cisco ACI Remote Leaf Architecture—White Paper,” pp. 1-83, updated Jan. 22, 2020.
Gandelman et al., U.S. Appl. No. 17/539,252, filed Dec. 1, 2021.
Friedman et al., U.S. Appl. No. 17/902,920, filed Sep. 5, 2022.
Thulasiraman et al., “Logical Topology Augmentation for Guaranteed Survivability Under Multiple Failures in IP-over-WDM Optical Network,” 2009 IEEE 3rd International Symposium on Advanced Networks and Telecommunication Systems (ANTS), pp. 1-3, year 2009.
Nastiti et al., “Link Failure Emulation with Dijkstra and Bellman-Ford Algorithm in Software Defined Network Architecture,” Abstract of Case Study: Telkom University—Topology, 2018 6th IEEE Conference on Information and Communication Technology (ICoICT), pp. 135-140, year 2018.
Kamiyama et al., “Network Topology Design Considering Detour Traffic Caused by Link Failure,” Networks 2008—The 13th International Telecommunications Network Strategy and Planning Symposium, pp. 1-8, year 2008.
Nkposong et al., “Experiences with BGP in Large Scale Data Centers: Teaching an Old Protocol New Tricks”, pp. 1-47, JANOG33 Meeting (Japan Network Operators' Group), Beppu City, Japan, Jan. 23-24, 2014.
U.S. Appl. No. 17/539,252 Office Action dated Apr. 26, 2023.
U.S. Appl. No. 17/353,869 Office Action dated Jun. 9, 2023.
U.S. Appl. No. 17/353,869 Office Action dated Jan. 12, 2023.
Leiserson, “Fat-Trees: Universal Networks for Hardware Efficient Supercomputing”, IEEE Transactions on Computers, vol. C-34, pp. 892-901, Oct. 1985.
Oehring et al., “On Generalized Fat Trees”, Proceedings of the 9th International Symposium on Parallel Processing, Santa Barbara, USA, pp. 37-44, Apr. 1995.
Zahavi, “D-Mod-K Routing Providing Non-Blocking Traffic for Shift Permutations on Real Life Fat Trees”, CCIT Technical Report #776, Technion—Israel Institute of Technology, Haifa, Israel, pp. 1-7, Aug. 2010.
Yuan et al., “Oblivious Routing for Fat-Tree Based System Area Networks with Uncertain Traffic Demands”, Proceedings of ACM Sigmetrics—the International Conference on Measurement and Modeling of Computer Systems, pp. 337-348, San Diego, USA, pp. 337-348, Jun. 2007.
Matsuoka, “You Don't Really Need Big Fat Switches Anymore—Almost”, IPSJ SIG Technical Reports, vol. 2003, No. 83, pp. 157-162, year 2003.
Kim et al., “Technology-Driven, Highly-Scalable Dragonfly Topology”, 35th International Symposium on Computer Architecture, pp. 77-78, Beijing, China, pp. 77-88, Jun. 2008.
Jiang et al., “Indirect Adaptive Routing on Large Scale Interconnection Networks”, 36th International Symposium on Computer Architecture, Austin, USA, pp. 220-231, Jun. 2009.
Minkenberg et al., “Adaptive Routing in Data Center Bridges”, Proceedings of 17th IEEE Symposium on High Performance Interconnects, New York, USA, pp. 33-41, Aug. 2009.
Kim et al., “Adaptive Routing in High-Radix Clos Network”, Proceedings of the 2006 ACM/IEEE Conference on Supercomputing (SC2006), Tampa, USA, pp. 1-11, Nov. 2006.
InfiniBand Trade Association, “InfiniBandTM Architecture Specification”, vol. 1, Release 1.3, pp. 1-1842, Mar. 3, 2015.
Culley et al., “Marker PDU Aligned Framing for TCP Specification”, IETF Network Working Group, RFC 5044, pp. 1-74, Oct. 2007.
Shah et al., “Direct Data Placement over Reliable Transports”, IETF Network Working Group, RFC 5041, pp. 1-38, Oct. 2007.
Martinez et al., “Supporting fully adaptive routing in Infiniband networks”, Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS'03), pp. 1-10, Apr. 2003.
Joseph, “Adaptive routing in distributed decentralized systems: NeuroGrid, Gnutella & Freenet”, Proceedings of Workshop on Infrastructure for Agents, MAS and Scalable MAS, Montreal, Canada, pp. 1-11, year 2001.
Gusat et al., “R3C2: Reactive Route & Rate Control for CEE”, Proceedings of 18th IEEE Symposium on High Performance Interconnects, New York, USA, pp. 50-57, Aug. 2010.
Wu et al., “DARD: Distributed adaptive routing datacenter networks”, Proceedings of IEEE 32nd International Conference Distributed Computing Systems, pp. 32-41, Jun. 2012.
Ding et al., “Level-wise scheduling algorithm for fat tree interconnection networks”, Proceedings of the 2006 ACM/IEEE Conference on Supercomputing (SC 2006), pp. 1-9, Nov. 2006.
Prisacari et al., “Performance implications of remote-only load balancing under adversarial traffic in Dragonflies”, Proceedings of the 8th International Workshop on Interconnection Network Architecture: On-Chip, Multi-Chip, pp. 1-4, Jan. 2014.
Li et al., “Multicast Replication Using Dual Lookups in Large Packet-Based Switches”, 2006 IET International Conference on Wireless, Mobile and Multimedia Networks, pp. 1-3, Nov. 2006.
Nichols et al., “Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPV6 Headers”, Network Working Group, RFC 2474, pp. 1-20, Dec. 1998.
Microsoft., “How IPv4 Multicasting Works”, pp. 1-22, Mar. 28, 2003.
Suchara et al., “Network Architecture for Joint Failure Recovery and Traffic Engineering”, Proceedings of the ACM Sigmetrics joint international conference on Measurement and modeling of computer systems, pp. 97-108, Jun. 2011.
IEEE 802.1Q, “IEEE Standard for Local and metropolitan area networks Virtual Bridged Local Area Networks”, IEEE Computer Society, pp. 1-303, May 19, 2006.
Plummer, D., “An Ethernet Address Resolution Protocol,” Network Working Group, Request for Comments (RFC) 826, pp. 1-10, Nov. 1982.
Hinden et al., “IP Version 6 Addressing Architecture,” Network Working Group ,Request for Comments (RFC) 2373, pp. 1-26, Jul. 1998.
Garcia et al., “On-the-Fly 10 Adaptive Routing in High-Radix Hierarchical Networks,” Proceedings of the 2012 International Conference on Parallel Processing (ICPP), pp. 279-288, Sep. 2012.
Dally et al., “Deadlock-Free Message Routing in Multiprocessor Interconnection Networks”, IEEE Transactions on Computers, vol. C-36, No. 5, pp. 547-553, May 1987.
Nkposong et al., “Experiences with BGP in Large Scale Data Centers:Teaching an old protocol new tricks”, pp. 1-44, Jan. 31, 2014.
“Equal-cost multi-path routing”, Wikipedia, pp. 1-2, Oct. 13, 2014.
Thaler et al., “Multipath Issues in Unicast and Multicast Next-Hop Selection”, Network Working Group, RFC 2991, pp. 1-9, Nov. 2000.
Glass et al., “The turn model for adaptive routing”, Journal of the ACM, vol. 41, No. 5, pp. 874-902, Sep. 1994.
Mahalingam et al., “VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks”, Internet Draft, pp. 1-20, Aug. 22, 2012.
Sinha et al., “Harnessing TCP's Burstiness with Flowlet Switching”, 3rd ACM Sigcomm Workshop on Hot Topics in Networks (HotNets), pp. 1-6, Nov. 11, 2004.
Vishnu et al., “Hot-Spot Avoidance With Multi-Pathing Over InfiniBand: An MPI Perspective”, Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid'07), pp. 1-8, year 2007.
NOWLAB—Network Based Computing Lab, pp. 1-2, years 2002-2015, as downloaded from http://nowlab.cse.ohio-state.edu/publications/conf-presentations/2007/vishnu-ccgrid07.pdf.
Alizadeh et al., “CONGA: Distributed Congestion-Aware Load Balancing for Datacenters”, Cisco Systems, pp. 1-12, Aug. 9, 2014.
Geoffray et al., “Adaptive Routing Strategies for Modern High Performance Networks”, 16th IEEE Symposium on High Performance Interconnects (HOTI '08), pp. 165-172, Aug. 2008.
Anderson et al., “On the Stability of Adaptive Routing in the Presence of Congestion Control”, IEEE Infocom, pp. 1-11, year 2003.
Perry et al., “Fastpass: A Centralized “Zero-Queue” Datacenter Network”, M.I.T. Computer Science & Artificial Intelligence Lab, pp. 1-12, year 2014.
Afek et al., “Sampling and Large Flow Detection in SDN”, Sigcomm '15, London, UK, pp. 345-346, Aug. 2015.
Amante et al., “IPv6 Flow Label Specification”, Request for Comments: 6437, pp. 1-15, Nov. 2011.
Cao et al., “Implementation Method for High-radix Fat-tree Deterministic Source-routing Interconnection Network”, Computer Science, vol. 39, issue 12, pp. 33-37, year 2012.
Shpiner et al., “Dragonfly+: Low Cost Topology for Scaling Datacenters”, IEEE 3rd International Workshop on High-Performance Interconnection Networks in the Exascale and Big-Data Era (HiPINEB), pp. 1-9, Feb. 2017.
Zahavi et al., “Distributed Adaptive Routing for Big-Data Applications Running on Data Center Networks,” Proceedings of the Eighth ACM/IEEE Symposium on Architectures for Networking and Communication Systems, New York, USA, pp. 99-110, Oct. 2012.
Mellanox White Paper, “The Shield: Self-Healing Interconnect,” pp. 1-2, year 2019.
Zhao et al., “Recovery Strategy from Network Multi-link Failures Based on Overlay Network Constructing Technique,” Bulletin of Science and Technology, vol. 32, No. 10, pp. 170-239, Oct. 2016.
CN Application # 202210593405.5 Office Action dated Sep. 15, 2023.
Related Publications (1)
Number Date Country
20240089194 A1 Mar 2024 US
Provisional Applications (1)
Number Date Country
63404551 Sep 2022 US