Patents Assigned to Mellanox Technologies TLV Ltd.
  • Patent number: 10645033
    Abstract: In a packet network of ingress nodes and egress nodes connected by a fabric transmit queues are associated with a hash table that stores packet descriptors. When new packets are received in the ingress nodes, credits are obtained from the egress nodes that reflect capacities of the transmit queues to accommodate the new packets. The credits are consumed by transmitting at least a portion of the new packets from the ingress nodes to the egress nodes via the fabric and storing descriptors of the new packets in a hash table. In order to transmit the packets in order by sequence number, when a desired packet sequence number is found by a hash lookup, the new packet having that sequence number is forwarded through the egress nodes.
    Type: Grant
    Filed: March 27, 2017
    Date of Patent: May 5, 2020
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Amir Rosen, Gil Levy
  • Patent number: 10630590
    Abstract: A credit loop that produces a deadlock is identified in a network of switches that are interconnected for packet traffic flows therethrough. The identification is carried out by periodically transmitting respective credit loop control messages from the loop-participating switches via their deadlock-suspected egress ports to respective next-hop switches. The CLCMs has switch port-unique identifiers (SPUIDs). The loop is identified when in one of the next-hop switches the SPUID of a received CLCM is equal to the SPUID of a transmitted CLCM thereof. A master switch is selected for resolving the deadlock.
    Type: Grant
    Filed: June 18, 2017
    Date of Patent: April 21, 2020
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Alexander Shpiner, Eitan Zahavi, Vladimir Zdornov, Tal Anker, Matty Kadosh
  • Patent number: 10623316
    Abstract: Packet classification apparatus includes a plurality of switches, including one or more leaf switches and one or more spine switches, each including a memory configured to hold packet classification entries. The ports of the leaf switches include external ports for connection to a packet network and internal ports, which are connected to the ports of at least one of the spine switches. The packet classification entries are selected from a database, which includes an outer partition, which is stored in the memory of the leaf switches, and at least one inner partition, which is stored in the memory of the one or more spine switches.
    Type: Grant
    Filed: September 28, 2017
    Date of Patent: April 14, 2020
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Barak Gafni, Gil Levy, Aviv Kfir
  • Patent number: 10623296
    Abstract: A method for packet generation includes designating a group of one or more ports, from among multiple ports of one or more network elements, to perform the packet generation. A circular packet path, which traverses one or more buffers of the ports in the group, is configured. A burst of one or more packets is provided to the group, so as to cause the burst of packets to repeatedly traverse the circular packet path. A packet stream, including the repeated burst of packets, is transmitted from one of the ports.
    Type: Grant
    Filed: July 4, 2017
    Date of Patent: April 14, 2020
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Zachy Haramaty, Liron Mula, George Elias, Aviv Kfir, Barak Gafni, Gil Levy, Benny Koren, Itamar Rabenstein, Maty Golovaty
  • Patent number: 10616113
    Abstract: A method for packet processing includes representing a routing table for a network as a binary search tree of address prefixes ordered by prefix lengths. For each node j in the binary search tree, a respective hash table is stored, including entries representing the address prefixes of length Lj. Each address prefix includes Lj-c most significant bits (MSB) and c least significant bits (LSB), and each entry in the respective hash table includes a matching value corresponding to the Lj-c MSB of one or more of the address prefixes and one or more action codes indexed by the c LSB of the one or more of the address prefixes. Upon receiving from the network a data packet having a destination address, the binary search tree is traversed to find a longest prefix match by performing, at each node j, a hash lookup in the respective hash table.
    Type: Grant
    Filed: July 19, 2018
    Date of Patent: April 7, 2020
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Gil Levy, Aviv Kfir
  • Patent number: 10601714
    Abstract: A method for communication includes receiving and forwarding packets in multiple flows to respective egress interfaces of a switching element for transmission to a network. For each of one or more of the egress interfaces, in each of a succession of arbitration cycles, a respective number of the packets in each of the plurality of the flows that are queued for transmission through the egress interface is assessed, and the flows for which the respective number is less than a selected threshold to a first group, while assigning the flows for which the respective number is equal to or greater than the selected threshold are assigned to a second group. The received packets that have been forwarded to the egress interface and belong to the flows in the first group are transmitted with a higher priority than the flows in the second group.
    Type: Grant
    Filed: April 26, 2018
    Date of Patent: March 24, 2020
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Eyal Srebro, Sagi Kuks, Liron Mula, Barak Gafni, Benny Koren, George Elias, Itamar Rabenstein, Niv Aibester
  • Patent number: 10592240
    Abstract: An electronic apparatus includes a permutation circuit and an arbitration circuit. The permutation circuit is configured to apply to an input vector a permutation selected from a plurality of predefined permutations in response to a control word. The arbitration circuit is configured to receive a vector of requests for a resource, to instruct the permutation circuit to apply a randomly-selected permutation to the vector of requests, by configuring the permutation circuit with a corresponding randomly-selected control word so as to produce a permuted vector, to select an element of the permuted vector, to apply to the permuted vector an inverse of the randomly-selected permutation so as to produce an inversely-permuted vector, to identify an element of the inversely-permuted vector to which the selected element of the permuted vector is mapped, and to assign the resource to a client corresponding to the identified element of the inversely-permuted vector.
    Type: Grant
    Filed: October 15, 2018
    Date of Patent: March 17, 2020
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Liron Mula, Gil Levy
  • Patent number: 10581762
    Abstract: A network switch includes switch circuitry and multiple ports. The ports are configured to communicate with a communication network. The switch circuitry is configured to receive via the ports multiple packets, which are destined to a destination network node and which specify attributes used by the destination network node as cache keys for on-demand fetching of context items into a cache memory of the destination network node, to control a rate of fetching the context items into the cache memory at the destination network node, by ordering the received packets in a sequence, based on the attributes of the respective packets, using an ordering criterion that aims to place packets that access a common context item in proximity to one another in the sequence, and to forward the received packets to the destination network node, via the ports, in accordance with the ordered sequence.
    Type: Grant
    Filed: December 6, 2017
    Date of Patent: March 3, 2020
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Alex Shpiner, Tal Anker, Matty Kadosh
  • Patent number: 10574546
    Abstract: A network element includes multiple interfaces and circuitry. The interfaces are configured to connect to a communication system. The circuitry is configured to monitor a respective buffering parameter of data flows received via an ingress interface and queued while awaiting transmission via respective egress interfaces, to identify, based on the respective buffering parameter, at least one data flow for mirroring, to select one or more packets of the identified data flow for analysis by a network manager, and to send the selected packets to the network manager over the communication system via an egress interface.
    Type: Grant
    Filed: September 27, 2016
    Date of Patent: February 25, 2020
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Lion Levi, Gil Levy, Zachy Haramaty
  • Patent number: 10554556
    Abstract: A network element includes a plurality of ports and processing circuitry. The ports are configured for connecting to a communication network. The processing circuitry is configured to receive a packet from the communication network via one of the ports, to assign the packet to a selected queue, to verify whether the packet matches a rule, wherein matching the packet to the rule depends on whether the selected queue is congested, and, when the packet matches the rule, to apply to the packet an action associated with the rule.
    Type: Grant
    Filed: August 8, 2017
    Date of Patent: February 4, 2020
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Zachy Haramaty, Ilya Vershkov, Aviad Raveh, Matty Kadosh, Aviv Kfir
  • Patent number: 10530673
    Abstract: Communication apparatus includes a plurality of ports, including at least a first port configured to transmit and receive first data packets over a network in accordance with a network-layer protocol to and from a network management station, and a second port configured to be connected to a neighboring unmanaged device so as to transmit and receive second data packets to and from the unmanaged device in accordance with a link-layer protocol. A processor is configured to receive telemetry data from the unmanaged device via the second port in accordance with the link-layer protocol, to aggregate the received telemetry data in a memory, and to report the aggregated telemetry data to the network management station via the first port in accordance with the network-layer protocol.
    Type: Grant
    Filed: January 4, 2018
    Date of Patent: January 7, 2020
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventor: Shachar Dor
  • Patent number: 10515015
    Abstract: A data packet is received in a network element. The network element has a cache memory in which cache entries represent a portion of addresses stored in a main memory, The destination address and the cache entries each comprise a binary number. A hash function is applied to the masked destination address to access a hash table. When the number of most significant bits corresponding to the value in the hash table in one of the cache entries and in the destination address are identical, routing information for the packet is retrieved from the cache entry.
    Type: Grant
    Filed: March 20, 2018
    Date of Patent: December 24, 2019
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego
  • Patent number: 10496680
    Abstract: A method for classification includes extracting respective classification keys from a collection of data items and defining a set of patterns for matching to the classification keys. A plurality of memory banks contain respective Bloom filters, each Bloom configured to indicate one or more patterns in the set that are candidates to match a given classification key. A respective first hash function is applied to the classification keys for each pattern in order to select, for each classification key, one of the Bloom filters to query for the pattern. The selected Bloom filters are queried by applying a respective second hash function to each classification key, so as to receive from the Bloom filters an indication of the one or more candidate patterns. The data items are classified by matching the respective classification keys against the candidate patterns.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: December 3, 2019
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli, Efim Yehiel Kravchik
  • Patent number: 10498612
    Abstract: Communication apparatus includes multiple interfaces connected to a packet data network and at least one memory configured as a buffer to contain packets received through the ingress interfaces while awaiting transmission to the network via respective egress interfaces. Processing circuitry is configured to identify data flows to which the data packets that are received through the ingress interfaces belong, to assess respective bandwidth characteristics of the data flows, and to select one or more of the data flows as candidate flows for mirroring responsively to the respective bandwidth characteristics. The processing circuitry selects, responsively to one or more predefined mirroring criteria, one or more of the data packets in the candidate flows for analysis by a network manager, and sends the selected data packets to the network manager over the network via one of the egress interfaces.
    Type: Grant
    Filed: December 26, 2016
    Date of Patent: December 3, 2019
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Lion Levi, George Elias
  • Patent number: 10491521
    Abstract: In a network element cache operation is enhanced by extracting a set of fields from a packet, constructing a hash key from the extracted fields, and identifying a subset of the fields, wherein the field values thereof fail to exist in a set of classification rules. The hash key by is modified by masking the subset of the extracted fields. A hash lookup is performed using the modified hash key in a cache memory that stores a portion of the classification rules. The packet is processed responsively to the lookup.
    Type: Grant
    Filed: March 26, 2017
    Date of Patent: November 26, 2019
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli, Aviv Kfir
  • Patent number: 10476794
    Abstract: Communication apparatus includes a TCAM, which stores a corpus of rules, including respective sets of unmasked and masked bits. The rules conform to respective rule patterns, each defining a different, respective sequence of masked and unmasked bits to which one or more of the rules conform. A RAM caches rule entries corresponding to rules belonging to one or more of the rule patterns that have been selected for caching. Decision logic extracts respective classification keys from data packets, each key including a string of bits extracted from selected fields in a given data packet, and classifies the data packets by first matching the respective classification keys to the cached rule entries in the RAM and, when no match is found in the RAM, by matching the respective classification keys to the rules in the TCAM.
    Type: Grant
    Filed: July 30, 2017
    Date of Patent: November 12, 2019
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Pedro Reviriego, Aviv Kfir, Salvatore Pontarelli
  • Patent number: 10432526
    Abstract: Communication apparatus includes a plurality of interfaces and routing logic coupled between the interfaces. The routing logic includes a parser, which extracts header data from selected fields of each data packet received from the network through an ingress interface. At least one hash calculator computes a hash over a first set of the header data extracted by the parser from each received data packet. A virtual routing and forwarding (VRF) instance selector selects a VRF instance for each received data packet responsively to both an ingress indicator associated with the received data packet and a second set of the header data extracted by the parser from the received data packet. A lookup engine selects an egress interface responsively to the selected VRF instance and the computed hash. Forwarding and switching logic forwards the data packet to the selected egress interface for transmission to the network.
    Type: Grant
    Filed: September 25, 2017
    Date of Patent: October 1, 2019
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Barak Gafni, Matty Kadosh, Aviv Kfir
  • Patent number: 10419329
    Abstract: Communication apparatus includes a plurality of interfaces for receiving and transmitting data packets from and to a network and a memory, which receives and stores context data with respect to multicast groups. Packet processing circuitry establishes reliable connections over the network with the receiving nodes in the multicast groups, and upon receiving from a packet source on the network an incoming unicast packet containing multicast data and containing multicast metadata that identifies a multicast group, sends an acknowledgment of the incoming unicast packet to the packet source, reads the context data from the memory with respect to the identified multicast group, and transmits multiple outgoing unicast packets containing the multicast data via respective egress interfaces to the receiving nodes in the multicast group over the reliable connections.
    Type: Grant
    Filed: March 30, 2017
    Date of Patent: September 17, 2019
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Lion Levi, George Elias, Oded Wertheim, Amiad Marelli, Miriam Menes, Itamar Rabenstein, Noam Avital, Evyatar Romlet, Ofir Merdler
  • Patent number: 10412673
    Abstract: A network element includes circuitry and multiple ports. The ports are configured to transmit packets to a common destination via multiple paths of a communication network. Each port includes multiple serializers that serially transmit the packets over respective physical lanes. The power consumed by each port is a nonlinear function of the number of serializers activated in the port. The circuitry is configured to select one or more serializers among the ports to (i) meet a throughput demand via the ports and (ii) minimize an overall power consumed by the ports under a constraint of the nonlinear function, and to activate only the selected serializers. The circuitry is configured to choose for a packet received in the network element and destined to the common destination a port in which at least one of the serializers is activated, and to transmit the packet to the common destination via the chosen port.
    Type: Grant
    Filed: May 28, 2017
    Date of Patent: September 10, 2019
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Gil Levy, Liron Mula, Aviv Kfir, Lavi Koch
  • Patent number: 10404574
    Abstract: An apparatus includes a network interface and a processor. The network interface is configured to communicate with a network that includes a plurality of switches interconnected in a Cartesian topology having multiple dimensions. The processor is configured to predefine an order among the dimensions of the Cartesian topology, to search for a preferred route via the network from a source switch to a destination switch, by evaluating candidate routes based at least on respective numbers of switches along the candidate routes for which traversal to a next-hop switch changes from one of the dimensions to another of the dimensions opposite to the predefined order, and to configure one or more of the switches in the network to route packets from the source switch to the destination switch along the preferred route.
    Type: Grant
    Filed: December 29, 2016
    Date of Patent: September 3, 2019
    Assignee: Mellanox Technologies TLV Ltd.
    Inventors: Vladimir Zdornov, Eitan Zahavi