Patents by Inventor Tal Mizrahi

Tal Mizrahi 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: 10673727
    Abstract: A first network device forwards a plurality of packets to the one or more network ports for transmission to a second network device, wherein ones of the packets include a field for indicating different, independent types of information. A field populator is configured to, for each of at least some packets among the plurality of packets: determine, from a set of different, independent types of information, a type of information to be included in the field of the packet according to a schedule known by the second network device, and populate the field in the packet only with data according to the type of information determined according to the schedule.
    Type: Grant
    Filed: May 23, 2017
    Date of Patent: June 2, 2020
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventor: Tal Mizrahi
  • Patent number: 10651974
    Abstract: A network device receives a packet having i) a first field that is to be updated by the network device, and ii) a second field that includes current error detection information corresponding to content of the packet, the content including the first field. The network device determines an update value that is to be added to a current value of the first field to generate a new value of the first field. The network device generates new error detection information using the current error detection information and the update value, and without using the current value of the first field. The network device modifies the second field to include the new error detection information, and modifies the first field to include the new value.
    Type: Grant
    Filed: February 20, 2018
    Date of Patent: May 12, 2020
    Assignee: Marvell Asia Pte, Ltd.
    Inventor: Tal Mizrahi
  • Patent number: 10616001
    Abstract: In a method for egress processing packets in a network device, a first stage engine, implemented in hardware, identifies a particular set of computer-readable instructions for a particular packet. The particular set of computer-readable instructions is identified from among a plurality of sets of computer-readable instructions stored in a memory, respective ones of the plurality of sets of computer-readable instructions being for performing different sets of egress processing operations with respect to different packets. A second stage processor, configured to execute computer-readable instructions stored in the memory, executes the particular set of computer-readable instructions, identified by the first stage engine, to perform the corresponding set of egress processing with respect to the particular packet.
    Type: Grant
    Filed: May 2, 2018
    Date of Patent: April 7, 2020
    Assignee: Marvell Asia Pte, Ltd.
    Inventors: Ilan Mayer-Wolf, Ilan Yerushalmi, David Melman, Tal Mizrahi
  • Publication number: 20200106866
    Abstract: A packet received by a network device via a network. A first portion of the packet is stored in a packet memory, the first portion including at least a payload of the packet. The packet is processed based on information from a header of the packet. After the packet is processed, a second portion of the packet is stored in the packet memory, the second portion including at least a portion of the header of the packet. When the packet is to be transmitted the first portion of the packet and the second portion of the packet are retrieved from the packet memory, and the first portion and the second portion are combined to generate a transmit packet.
    Type: Application
    Filed: November 25, 2019
    Publication date: April 2, 2020
    Inventors: Carmi ARAD, Ilan MAYER-WOLF, Rami ZEMACH, David MELMAN, Ilan YERUSHALMI, Tal MIZRAHI, Lior VALENCY
  • Publication number: 20200007448
    Abstract: A general load balancing value for a packet received by a network device is generated based at least in part on information in a header of the packet. The packet is directed to a network interface group comprising a set of network interfaces via which the packet can be transmitted towards a destination of the packet. A group-specific load balancing value for the packet is then determined based on group-specific load balancing configuration corresponding to the network interface group and is used to select a network interface, from among the set of network interfaces, and the packet is transmitted towards the destination of the packet via the selected network interface. The group-specific load balancing configuration corresponding to the network interface group is subsequently reconfigured to redistribute selection of network interfaces, among the set of network interfaces, for transmission of packets subsequently directed to the network interface group.
    Type: Application
    Filed: May 3, 2019
    Publication date: January 2, 2020
    Inventors: Tal MIZRAHI, David MELMAN, Adar PEERY
  • Publication number: 20190394108
    Abstract: A network device comprises time measurement units configured to measure receipt times and transmit times of packets received/transmitted via network interfaces. One or more memories store configuration information that indicates certain network interface pairs and/or certain packet flows that are enabled for latency measurement. A packet processor includes a latency monitoring trigger unit configured to select, using the configuration information, packets that are forwarded between the certain network interface pairs and/or that belong to the certain packet flows for latency monitoring.
    Type: Application
    Filed: September 9, 2019
    Publication date: December 26, 2019
    Inventors: Tal MIZRAHI, David MELMAN, Adar PEERY, Rami ZEMACH
  • Patent number: 10491718
    Abstract: A packet received by a network device via a network. A first portion of the packet is stored in a packet memory, the first portion including at least a payload of the packet. The packet is processed based on information from a header of the packet. After the packet is processed, a second portion of the packet is stored in the packet memory, the second portion including at least a portion of the header of the packet. When the packet is to be transmitted the first portion of the packet and the second portion of the packet are retrieved from the packet memory, and the first portion and the second portion are combined to generate a transmit packet.
    Type: Grant
    Filed: May 17, 2017
    Date of Patent: November 26, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Carmi Arad, Ilan Mayer-Wolf, Rami Zemach, David Melman, Ilan Yerushalmi, Tal Mizrahi, Lior Valency
  • Patent number: 10469382
    Abstract: A switching system comprises a controlling switch and multiple port extenders. The controlling switch includes: a plurality of controlling switch ports; and a first packet processor having a first forwarding engine. The first forwarding engine is configured to forward packets received at any controlling switch port to any other controlling switch port. Each of at least some multiple port extenders includes: at least one local upstream port coupled to the controlling switch directly or via another port extender; a plurality of local downstream ports; and a second packet processor having a second forwarding engine and a forwarding database. The second forwarding engine is configured to forward packets i) received at the downstream ports, and ii) for which the forwarding database does not include forwarding information, only to the at least one upstream port. The second packet processor has reduced functionality as compared to the first packet processor.
    Type: Grant
    Filed: January 24, 2018
    Date of Patent: November 5, 2019
    Assignee: Marvell World Trade Ltd.
    Inventors: Ilan Yerushalmi, David Melman, Tal Mizrahi, Donald Pannell
  • Patent number: 10439748
    Abstract: A network device receives a packet that conforms to a protocol that i) defines a time stamp field, ii) does not define a dedicated field for time correction information, and iii) defines a plurality of general purpose extension fields. The packet includes (i) a time stamp generated by a source node in the time stamp field, and (ii) a time correction value corresponding to multiple ones of the plurality of intermediate nodes, the time correction value being located in one of the general purpose extension fields. The network device identifies (i) a time specified by the time stamp, and (ii) time correction information specified in the one general purpose extension field, and uses the time correction information and the time specified by the time stamp to synchronize a clock maintained by the network device to a clock maintained by the source node.
    Type: Grant
    Filed: February 21, 2018
    Date of Patent: October 8, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventor: Tal Mizrahi
  • Patent number: 10411983
    Abstract: A network device comprises time measurement units configured to measure receipt times and transmit times of packets received/transmitted via network interfaces. One or more memories store configuration information that indicates certain network interface pairs and/or certain packet flows that are enabled for latency measurement. A packet processor includes a latency monitoring trigger unit configured to select, using the configuration information, packets that are forwarded between the certain network interface pairs and/or that belong to the certain packet flows for latency monitoring.
    Type: Grant
    Filed: May 17, 2017
    Date of Patent: September 10, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Tal Mizrahi, David Melman, Adar Peery, Rami Zemach
  • Publication number: 20190268272
    Abstract: In a network device, a flow classification hardware engine is configured to: store flow state information regarding known flows of packets in a flow information table in association with respective assigned flow identifiers (IDs). The assigned flow IDs are from an ordered set of M flow IDs, where M is a positive integer. In response to detecting new flows of packets, the flow classification hardware engine: i) assigns respective flow IDs, from the ordered set of M flow IDs, to the new flows, and ii) creates respective entries in the flow information table for the new flows. An embedded processor periodically, as part of a background process: i) identifies an oldest assigned flow ID, from the ordered set of M flow IDs, and ii) makes storage space in the flow information table corresponding to the oldest assigned flow ID available for a new flow.
    Type: Application
    Filed: January 29, 2019
    Publication date: August 29, 2019
    Inventors: Tal MIZRAHI, Rami ZEMACH, Carmi ARAD, David MELMAN, Yosef KATAN
  • Publication number: 20190238469
    Abstract: Methods and systems are provided for processing a received packet based on associated state information. A packet processor of a network device receives a packet from a network. The received packet is classified as belonging to at least one respective identified flow from among a plurality of identified flows. For a respective received packet that belongs to an identified flow a current state value for the identified flow is ascertained based on a state table. The current state value is assigned to the respective received packet based on the current state value using the state table for the identified flow. A packet processing operation is subsequently performed on the respective received packet based in part on the state value of the identified flow to which the respective packet belongs.
    Type: Application
    Filed: October 31, 2018
    Publication date: August 1, 2019
    Inventors: Tal Mizrahi, David Melman
  • Patent number: 10348626
    Abstract: A network device configured to store a plurality of network forwarding addresses as an encoded linked list of attributes of network values and forwarding addresses. The network device is configured to encode subsequent elements of the linked list such that a packet processor of the network device, in response to a data packet, processes only a difference between the elements without processing all of the respective attributes. The network device is further configured to forward the data packet as a result of reading the encoded elements of the linked list.
    Type: Grant
    Filed: June 17, 2014
    Date of Patent: July 9, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventor: Tal Mizrahi
  • Patent number: 10244047
    Abstract: A data unit is received at a first one of a plurality of network devices associated with a first one of the plurality of link aggregate groups. A hashing function is applied to the data unit to generate a first hash value, where the first hash value identifies a communication link in the first one of the plurality of link aggregate groups. The data unit is received at a second one of the plurality of network devices associated with a second one of the plurality of link aggregate groups. The hashing function is applied to the data unit to generate a second hash value that is distinct from the first value, where the second hash value identifies a communication link in a second one of the plurality of link aggregate groups along which the data unit is to be communicated.
    Type: Grant
    Filed: January 11, 2016
    Date of Patent: March 26, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Tal Mizrahi, Aviran Kadosh, Denis Krivitski
  • Patent number: 10243857
    Abstract: A method for updating multipath groups of a network device is described. A first table defining a first multipath group of multiple egress interfaces is created. A change in network path availability at one or more egress interface members of the first multipath group is identified. The first multipath group includes at least some egress interfaces that remain available and that support at least some active packet sessions. A second table defining a second multipath group is created and coexists with the first multipath group. The second multipath group includes the remaining network paths that remain available. The first multipath group and the first table are selected for forwarding a packet from the active packet sessions. The second multipath group and the second table are selected for forwarding a packet from new packet sessions that are established after the change in the path availability.
    Type: Grant
    Filed: September 11, 2017
    Date of Patent: March 26, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Tal Mizrahi, Carmi Arad
  • Patent number: 10216220
    Abstract: A first request signal that indicates a request for a time maintained by a clock implemented in first circuitry is sent from second circuitry. The first circuitry utilizes a first clock signal derived from a first oscillator and the second circuitry utilizes a second clock signal derived from a second oscillator. The first circuitry adjusts a first time value from the clock to compensate for a first latency or jitter caused by converting the first request signal to a second request signal synchronized to the first clock. The second circuitry further adjusts the adjusted first time value to generate a second time value that compensates for i) a second latency between sending the first request signal and receiving the adjusted first time value, and ii) a third latency or jitter caused by synchronizing the adjusted first time value to the second clock.
    Type: Grant
    Filed: January 15, 2017
    Date of Patent: February 26, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventor: Tal Mizrahi
  • Patent number: 10205658
    Abstract: Aspects of the disclosure provide a method for processing packets in a network device. The method can include populating a policy database with one or more bidirectional rules that are to be selectively applied in a packet processing operation. Ones of the bidirectional rules can include at least: a first address field populated with a first value corresponding to a source address for first packet flow that is traversing a network in a first direction and to a destination address for second packet flow that is traversing the network in a second direction different from the first direction, a second address field populated with a second value, and an action that is applicable to packet flow having a respective source address and destination address corresponding to the first values stored in the first address field and to the second values stored in the second address field.
    Type: Grant
    Filed: January 7, 2016
    Date of Patent: February 12, 2019
    Assignee: MARVELL ISRAEL (M.I.S.L) LTD.
    Inventors: Yoram Revah, Tal Mizrahi, David Melman
  • Patent number: 10205547
    Abstract: A network device includes one or more ports coupled to a network, a path determination module, and a clock synchronization module. The one or more ports receive a plurality of time synchronization packets from a master clock device. The path determination module identifies, based on respective path information included in each of at least some of the plurality of time synchronization packets, particular communication paths among two or more communication paths between the master clock device and the network device, via which the respective time synchronization packets traveled from the master clock device to the network device. The clock module determines a system time clock based on respective time information included in the at least some of the plurality of time synchronization packets and the identifications of the particular communication paths via which the respective time synchronization packets traveled from the master clock device to the network device.
    Type: Grant
    Filed: October 30, 2017
    Date of Patent: February 12, 2019
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventor: Tal Mizrahi
  • Publication number: 20180287820
    Abstract: In a method for egress processing packets in a network device, a first stage engine, implemented in hardware, identifies a particular set of computer-readable instructions for a particular packet. The particular set of computer-readable instructions is identified from among a plurality of sets of computer-readable instructions stored in a memory, respective ones of the plurality of sets of computer-readable instructions being for performing different sets of egress processing operations with respect to different packets. A second stage processor, configured to execute computer-readable instructions stored in the memory, executes the particular set of computer-readable instructions, identified by the first stage engine, to perform the corresponding set of egress processing with respect to the particular packet.
    Type: Application
    Filed: May 2, 2018
    Publication date: October 4, 2018
    Inventors: Ilan MAYER-WOLF, Ilan YERUSHALMI, David MELMAN, Tal MIZRAHI
  • Publication number: 20180287819
    Abstract: A packet type corresponding to a packet received by a network device is determined. Based on the packet type, one or more header fields to be extracted from a header of the packet are identified. Identifying the one or more header fields includes extracting, from a memory based on the packet type, respective indicators of locations of the one or more header fields and respective indicators of sizes of the one or more header fields. The one or more identified header fields from the header of the packet, based on the respective indicators of locations of the one or more header fields and respective indicators of sizes of the one or more header fields. The packet is then processed based on the one or more header fields extracted from the header. The processing includes deter mining at least one port to which to forward the packet.
    Type: Application
    Filed: March 28, 2018
    Publication date: October 4, 2018
    Inventors: Ilan MAYER-WOLF, Ilan YERUSHALMI, David MELMAN, Tal MIZRAHI