Patents by Inventor Lior Narkis

Lior Narkis has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11258885
    Abstract: One embodiment includes a network device, including hardware parsers to receive data of a header section of a packet, the header section including respective headers, parser configuration registers to store a default parsing configuration data set, wherein at least one of the hardware parsers is configured to parse at least one of the headers responsively to the default parsing configuration data set, yielding first parsed data, a packet processing engine to select a selected parsing configuration data set from a selection of parsing configuration data sets responsively to the first parsed data, cause loading of the selected parsing configuration data set into the parser configuration registers, and wherein ones of the hardware parsers are configured to parse respective ones of the headers responsively to the selected parsing configuration data set, yielding second parsed data, and process the packet responsively to the second parsed data.
    Type: Grant
    Filed: December 10, 2019
    Date of Patent: February 22, 2022
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Avi Urman, Lior Narkis, Noam Bloch
  • Publication number: 20220021629
    Abstract: A network node includes a network adapter and a host. The network adapter is coupled to a communication network. The host includes a processor running a client process and a communication stack, and is configured to receive packets from the communication network, and classify the received packets into respective flows that are associated with respective chunks in a receive buffer, to distribute payloads of the received packets among the chunks so that payloads of packets classified to a given flow are stored in a given chunk assigned to the given flow, and to notify the communication stack of the payloads in the given chunk, for transferring the payloads in the given chunk to the client process.
    Type: Application
    Filed: July 19, 2020
    Publication date: January 20, 2022
    Inventors: Gal Yefet, Avi Urman, Gil Kremer, Lior Narkis, Boris Pismenny
  • Publication number: 20210385169
    Abstract: Apparatuses, systems, and techniques to eliminate redundant data packets. In at least one embodiment, a communication apparatus generates redundant data packets, and sends them in multiple packet streams. In at least one embodiment, a communication apparatus eliminates redundant data packets from received packet streams.
    Type: Application
    Filed: August 23, 2021
    Publication date: December 9, 2021
    Inventors: Avi Urman, Lior Narkis, Gil Kremer, Saar Tarnopolsky, Dotan David Levi
  • Patent number: 11190462
    Abstract: Communication apparatus includes a host interface and a network interface, which receives from a packet communication network at least one packet stream including a sequence of data packets, which include headers containing respective sequence numbers and data payloads containing slices of the data segment having a predefined, fixed size per slice. Packet processing circuitry is configured to receive the data packets from the network interface, and to map the data payloads of the data packets in the at least one packet stream, using a linear mapping of the sequence numbers, to respective addresses in the buffer.
    Type: Grant
    Filed: November 24, 2019
    Date of Patent: November 30, 2021
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Dotan David Levi, Avi Urman, Lior Narkis
  • Publication number: 20210344600
    Abstract: A network adapter includes a host interface, a network interface, a memory and packet processing circuitry. The memory holds a shared buffer and multiple queues allocated to the multiple host processors. The packet processing circuitry is configured to receive from the network interface data packets destined to the host processors, to store payloads of at least some of the data packets in the shared buffer, to distribute headers of at least some of the data packets to the queues, to serve the data packets to the host processors by applying scheduling among the queues, to detect congestion in the data packets destined to a given host processor among the host processors, and, in response to the detected congestion, to mitigate the congestion in the data packets destined to the given host processor, while retaining uninterrupted processing of the data packets destined to the other host processors.
    Type: Application
    Filed: May 4, 2020
    Publication date: November 4, 2021
    Inventors: Avi Urman, Lior Narkis, Noam Bloch, Eyal Srebro, Shay Aisman
  • Publication number: 20210328923
    Abstract: In one embodiment, a network device includes an interface configured to receive a data packet including a header section, at least one parser to parse the data of the header section yielding a first header portion and a second header portion, a packet processing engine to fetch a first match-and-action table, match a first index having a corresponding first steering action entry in the first match-and-action table responsively to the first header portion, compute a cumulative lookup value based on the first header portion and the second header portion responsively to the first steering action entry, fetch a second match-and-action table responsively to the first steering action entry, match a second index having a corresponding second steering action entry in the second match-and-action table responsively to the cumulative lookup value, and steering the packet responsively to the second steering action entry.
    Type: Application
    Filed: April 21, 2020
    Publication date: October 21, 2021
    Inventors: Avi Urman, Lior Narkis, Ariel Shahar
  • Publication number: 20210297151
    Abstract: A network element one or more network ports, network time circuitry and packet processing circuitry. The network ports are configured to communicate with a communication network. The network time circuitry is configured to track a network time defined in the communication network. In some embodiments the packet processing circuitry is configured to receive a definition of one or more timeslots that are synchronized to the network time, and to send outbound packets to the communication network depending on the timeslots. In some embodiments the packet processing circuitry is configured to process inbound. packets, which are received from the communication network, depending on the timeslots.
    Type: Application
    Filed: July 7, 2020
    Publication date: September 23, 2021
    Inventors: Dotan David Levi, Avi Urman, Lior Narkis, Liron Mula, Paraskevas Bakopoulos, Ariel Almog, Roee Moyal, Gal Yefet
  • Publication number: 20210243121
    Abstract: A communication apparatus includes a host interface, connected to a peripheral component bus so as to communicate with a CPU and a memory of a host computer. A network interface is connected to a network. Packet processing circuitry is configured to receive from a first interface a data packet including a set of one or more headers that include header fields having respective values, to identify, responsively to at least one of the header fields, a corresponding entry in a header modification table that specifies a header modification operation, to modify the set of headers in accordance with the header modification operation, to check whether the entry specifies an additional header modification operation, to output the modified set of headers if the entry does not specify an additional header modification operation, and, if the entry specifies an additional header modification operation, to feed-back the modified set of headers.
    Type: Application
    Filed: February 4, 2020
    Publication date: August 5, 2021
    Inventors: Avi Urman, Lior Narkis, Noam Bloch
  • Publication number: 20210243140
    Abstract: A network adapter includes a host interface configured to communicate with a host, a network interface configured to communicate with a communication network, and packet processing circuitry. The packet processing circuitry is configured to receive a packet from the host via the host interface, or from the communication network via the network interface, to receive an indication of a network time used for synchronizing network elements in the communication network, to match the packet to a rule, the rule including a condition and an action, and to perform the action in response to the packet meeting the condition, wherein one or more of (i) the condition in the rule and (ii) the action in the rule, depend on the network time.
    Type: Application
    Filed: February 5, 2020
    Publication date: August 5, 2021
    Inventors: Dotan David Levi, Avi Urman, Lior Narkis, Liron Mula
  • Publication number: 20210176345
    Abstract: One embodiment includes a network device, including hardware parsers to receive data of a header section of a packet, the header section including respective headers, parser configuration registers to store a default parsing configuration data set, wherein at least one of the hardware parsers is configured to parse at least one of the headers responsively to the default parsing configuration data set, yielding first parsed data, a packet processing engine to select a selected parsing configuration data set from a selection of parsing configuration data sets responsively to the first parsed data, cause loading of the selected parsing configuration data set into the parser configuration registers, and wherein ones of the hardware parsers are configured to parse respective ones of the headers responsively to the selected parsing configuration data set, yielding second parsed data, and process the packet responsively to the second parsed data.
    Type: Application
    Filed: December 10, 2019
    Publication date: June 10, 2021
    Inventors: Avi Urman, Lior Narkis, Noam Bloch
  • Patent number: 10841243
    Abstract: A network interface controller that is connected to a host and a packet communications network. The network interface controller includes electrical circuitry configured as a packet processing pipeline with a plurality of stages. It is determined in the network interface controller that at least a portion of the stages of the pipeline are acceleration-defined stages. Packets are processed in the pipeline by transmitting data to an accelerator from the acceleration-defined stages, performing respective acceleration tasks on the transmitted data in the accelerator, and returning processed data from the accelerator to receiving stages of the pipeline.
    Type: Grant
    Filed: June 20, 2018
    Date of Patent: November 17, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Dotan Levi, Liran Liss, Haggai Eran, Noam Bloch, Idan Burstein, Lior Narkis, Avraham Ganor
  • Patent number: 10642775
    Abstract: A computer peripheral device includes a host interface, which is configured to communicate over a bus with a host processor and with a system memory of the host processor. Processing circuitry in the peripheral device is configured to receive and execute work items submitted to the peripheral device by client processes running on the host processor, and responsively to completing execution of the work items, to write completion reports to the system memory, including first completion reports of a first data size and second completion reports of a second data size, which is smaller than the first data size.
    Type: Grant
    Filed: June 30, 2019
    Date of Patent: May 5, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Igor Voks, Dror Bohrer, Lior Narkis, Ariel Shahar
  • Patent number: 10637828
    Abstract: Network interface apparatus includes packet processing circuitry, comprising hardware logic coupled between a network interface and a host interface for connection to a host processor. The hardware logic accesses a list of active connections established between the local processes running on the host processor and corresponding processes on other computers on the network and maintains context information with respect to each of the active connections. Upon receiving a packet from the network having a header identifying the packet as having been transmitted to a local process in accordance with a predefined transport protocol, the hardware logic checks the list to find a connection to which the packet belongs and upon finding the connection, verifies that the packet conforms to the respective state indicated by the context information for the connection and, if so, updates the context information and passes the packet to the local process.
    Type: Grant
    Filed: September 17, 2017
    Date of Patent: April 28, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Omri Kahalon, Lior Narkis, Muhamad Grefat
  • Patent number: 10572400
    Abstract: A packet processing device CPU, including multiple processing cores. A NIC, which is coupled to the CPU, includes at least one network port, receives a flow of incoming data packets in a sequential order from a packet communication network, and receive logic, which delivers the incoming data packets in the flow to a designated group of the cores for processing by the cores in the group, while distributing the incoming data packets to the cores in alternation among the cores in the group. In response to the incoming data packets, the cores in the group generate corresponding outgoing data packets and queue the outgoing data packets for transmission by the NIC in the sequential order of the incoming data packets. Transmit logic in the NIC transmits the outgoing data packets to the network in the sequential order via the at least one network port.
    Type: Grant
    Filed: June 15, 2017
    Date of Patent: February 25, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Dotan Finkelstein, Lior Narkis, Dror Bohrer, Roee Moyal
  • Patent number: 10547553
    Abstract: A mechanism is provided for partial offload of connection tracking from a host processor to a network interface device. Software running in the host processor is used for connection establishment. After a connection has been established the software initializes and transfers flow-control to the network interface device. Thereafter, the network interface device continues transferring packets to the destination, while the software in the host processor monitors the flow. If the connection has been terminated or has expired flow control reverts to the software. Modes of operation are provided for network interface devices with and without a specific connection-tracking module.
    Type: Grant
    Filed: June 4, 2018
    Date of Patent: January 28, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Guy Shattah, Ron Efraim, Lior Narkis
  • Publication number: 20190379714
    Abstract: A method including configuring a transmit process to store information including a queue of packets to be transmitted, the queue defining transmit process packets to be transmitted, each packet associated with a transmission time, and configuring a synchronization process to receive from the transmit process at least some of the information. The synchronization process performs one of: A) accessing a dummy send queue and a completion queue, and transmitting one or more of the transmit process packets in accordance with a completion queue entry in the completion queue, and B) sends a doorbell to transmission hardware at a time when at least one of the transmit process packets is to be transmitted, the synchronization process including a master queue configured to store transmission entries, each transmission entry including a transmit process indicator and an indication of transmit process packets to be transmitted. Related apparatus and methods are also described.
    Type: Application
    Filed: June 4, 2019
    Publication date: December 12, 2019
    Inventors: Dotan David Levi, Alex Vainman, Natan Manevich, Nir Nitzani, Ilan Smith, Richard Hastie, Noam Bloch, Lior Narkis, Rafi Weiner
  • Patent number: 10462060
    Abstract: Packet flows received in a data network are assigned to respective entries of a database. During an accumulation interval byte counts of the assigned packet flows are accumulated in the respective database entries. The packet flows are classified as elephant flows when differences between the byte counts and a reference byte count exceed a threshold and are reported after expiration of the accumulation interval.
    Type: Grant
    Filed: February 14, 2018
    Date of Patent: October 29, 2019
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Jacob Ruthstein, David Mozes, Dror Bohrer, Ariel Shahar, Lior Narkis, Noam Bloch
  • Patent number: 10454991
    Abstract: A network interface device includes a host interface for connection to a host processor and a network interface, which is configured to transmit and receive data packets over a network, and which comprises multiple distinct physical ports configured for connection to the network. Processing circuitry is configured to receive, via one of the physical ports, a data packet from the network and to decide, responsively to a destination identifier in the packet, whether to deliver a payload of the data packet to the host processor via the host interface or to forward the data packet to the network via another one of the physical ports.
    Type: Grant
    Filed: March 16, 2015
    Date of Patent: October 22, 2019
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Noam Bloch, Ariel Shachar, Michael Kagan, Lior Narkis, Shlomo Raikin
  • Publication number: 20190253362
    Abstract: Packet flows received in a data network are assigned to respective entries of a database. During an accumulation interval byte counts of the assigned packet flows are accumulated in the respective database entries. The packet flows are classified as elephant flows when differences between the byte counts and a reference byte count exceed a threshold and are reported after expiration of the accumulation interval.
    Type: Application
    Filed: February 14, 2018
    Publication date: August 15, 2019
    Inventors: Jacob Ruthstein, David Mozes, Dror Bohrer, Ariel Shahar, Lior Narkis, Noam Bloch
  • Patent number: 10382350
    Abstract: Network interface apparatus includes a host interface and a network interface, which receives packets in multiple packet flows destined for one or more virtual machines running on a host processor. Packet processing circuitry receives a first instruction from the host processor to offload preprocessing of the data packets in a specified flow in accordance with a specified rule, and initiates preprocessing of the data packets while writing one or more initial data packets from the specified flow to a temporary buffer. Upon subsequently receiving a second instruction to enable the specified rule, the initial data packets are delivered from the temporary buffer, after preprocessing by the packet processing circuitry, directly to a virtual machine to which the specified flow is destined, followed by preprocessing and delivery of subsequent data packets in the specified flow to the virtual machine.
    Type: Grant
    Filed: September 12, 2017
    Date of Patent: August 13, 2019
    Assignee: Mellanox Technologies, Ltd.
    Inventors: Dror Bohrer, Noam Bloch, Lior Narkis, Hillel Chapman, Gilad Hammer