Patents by Inventor Salvatore Pontarelli
Salvatore Pontarelli 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: 11917042Abstract: A network element includes one or more ports and a packet processor. The one or more ports are to transmit and receive packets over a network. The packet processor is to apply a plurality of rules to the packets, each rule specifying (i) expected values for each header field of a group of header fields of the packets, including, for a given header field in the group, at least a set of multiple expected values, (ii) a group ID associated with the set, and (iii) an action to be applied to the packets whose header fields match the expected values.Type: GrantFiled: August 15, 2021Date of Patent: February 27, 2024Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Gil Levy, Aviv Kfir, Pedro Reviriego, Salvatore Pontarelli
-
Patent number: 11782895Abstract: A hashing apparatus includes a memory and circuitry. The memory stores (i) multiple hash tables storing associative entries, each including at least one entry key and a respective value, the hash tables are associated with respective different hash functions, and an associative entry is accessible by applying the relevant hash function to a key matching an entry key in the associative entry, and (ii) an affinity table that stores table-selectors for selecting hash tables with which to start a key lookup. The circuitry receives a key, reads from the affinity table, by applying an affinity function to the key, a table-selector that selects a hash table, accesses in the selected hash table an associative entry by applying the hash function associated with the selected hash table to the key, and in response to detecting that the key matches an entry key in the associative entry, outputs the respective value.Type: GrantFiled: September 7, 2020Date of Patent: October 10, 2023Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Aviad Levy, Gil Levy, Pedro Reviriego, Salvatore Pontarelli
-
Publication number: 20230050155Abstract: A network element includes one or more ports and a packet processor. The one or more ports are to transmit and receive packets over a network. The packet processor is to apply a plurality of rules to the packets, each rule specifying (i) expected values for each header field of a group of header fields of the packets, including, for a given header field in the group, at least a set of multiple expected values, (ii) a group ID associated with the set, and (iii) an action to be applied to the packets whose header fields match the expected values.Type: ApplicationFiled: August 15, 2021Publication date: February 16, 2023Inventors: Gil Levy, Aviv Kfir, Pedro Reviriego, Salvatore Pontarelli
-
Patent number: 11550715Abstract: A system includes a memory, including a plurality of memory locations having different respective addresses, and a processor. The processor is configured to compute one of the addresses from (i) a first sequence of bits derived from a tag of a data item, and (ii) a second sequence of bits representing a class of the data item. The processor is further configured to write the data item to the memory location having the computed address and/or read the data item from the memory location having the computed address. Other embodiments are also described.Type: GrantFiled: August 16, 2020Date of Patent: January 10, 2023Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
-
Patent number: 11502912Abstract: A network device includes at least one communication ingress port, ingress packet processing circuitry and a packet-action cache memory (PACM). The at least one communication ingress port is configured to receive packets including packet headers from a network. The ingress packet processing circuitry is configured to receive the packets and to process the packets in accordance with respective packet actions specified for the packets. The PACM is configured to store one or more of the packet actions in association with one or more respective fingerprints which are calculated over the packet headers of the corresponding packets, for use by the ingress packet processing circuitry. The fingerprints are smaller than the corresponding packet headers.Type: GrantFiled: December 30, 2020Date of Patent: November 15, 2022Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
-
Patent number: 11502957Abstract: In one embodiment, a packet processing apparatus includes interfaces, a memory to store a representation of a routing table as a binary search tree of address prefixes, and store a marker with an embedded prefix including k marker bits providing a marker for an address prefix of a node corresponding to a prefix length greater than k, and n additional bits, such that the k marker bits concatenated with the n additional bits provide another address prefix, packet processing circuitry configured upon receiving a data packet having a destination address, to traverse the binary search tree to find a longest prefix match, compare a key with the k marker bits, extract an additional n bits from the destination address, and compare the extracted n bits with the n additional bits, and process the data packet in accordance with a forwarding action indicated by the longest prefix match.Type: GrantFiled: April 7, 2021Date of Patent: November 15, 2022Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Gil Levy, Aviv Kfir, Matty Kadosh, Salvatore Pontarelli, Pedro Reviriego
-
Publication number: 20220210022Abstract: A network device includes at least one communication ingress port, ingress packet processing circuitry and a packet-action cache memory (PACM). The at least one communication ingress port is configured to receive packets including packet headers from a network. The ingress packet processing circuitry is configured to receive the packets and to process the packets in accordance with respective packet actions specified for the packets. The PACM is configured to store one or more of the packet actions in association with one or more respective fingerprints which are calculated over the packet headers of the corresponding packets, for use by the ingress packet processing circuitry. The fingerprints are smaller than the corresponding packet headers.Type: ApplicationFiled: December 30, 2020Publication date: June 30, 2022Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
-
Patent number: 11327974Abstract: A collection of rules comprising fields that may have wildcard values. The method includes defining first and second subsets of the fields, the second subset being exclusive of the first subset. Intersections of overlapping fields of the first subset are added to the first subset to form an augmented first subset. Metadata from the augmented first subset and the fields not selected for the first subset are combined to define second parts of the rules. Data items are classified by matching a search key to one of the first parts and one of the second parts of the rules.Type: GrantFiled: August 2, 2018Date of Patent: May 10, 2022Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego, Matty Kadosh
-
Publication number: 20220075766Abstract: A hashing apparatus includes a memory and circuitry. The memory stores (i) multiple hash tables storing associative entries, each including at least one entry key and a respective value, the hash tables are associated with respective different hash functions, and an associative entry is accessible by applying the relevant hash function to a key matching an entry key in the associative entry, and (ii) an affinity table that stores table-selectors for selecting hash tables with which to start a key lookup. The circuitry receives a key, reads from the affinity table, by applying an affinity function to the key, a table-selector that selects a hash table, accesses in the selected hash table an associative entry by applying the hash function associated with the selected hash table to the key, and in response to detecting that the key matches an entry key in the associative entry, outputs the respective value.Type: ApplicationFiled: September 7, 2020Publication date: March 10, 2022Inventors: Aviad Levy, Gil Levy, Pedro Reviriego, Salvatore Pontarelli
-
Publication number: 20220050774Abstract: A system includes a memory, including a plurality of memory locations having different respective addresses, and a processor. The processor is configured to compute one of the addresses from (i) a first sequence of bits derived from a tag of a data item, and (ii) a second sequence of bits representing a class of the data item. The processor is further configured to write the data item to the memory location having the computed address and/or read the data item from the memory location having the computed address. Other embodiments are also described.Type: ApplicationFiled: August 16, 2020Publication date: February 17, 2022Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli
-
Publication number: 20210359943Abstract: In one embodiment, a packet processing apparatus includes interfaces, a memory to store a representation of a routing table as a binary search tree of address prefixes, and store a marker with an embedded prefix including k marker bits providing a marker for an address prefix of a node corresponding to a prefix length greater than k, and n additional bits, such that the k marker bits concatenated with the n additional bits provide another address prefix, packet processing circuitry configured upon receiving a data packet having a destination address, to traverse the binary search tree to find a longest prefix match, compare a key with the k marker bits, extract an additional n bits from the destination address, and compare the extracted n bits with the n additional bits, and process the data packet in accordance with a forwarding action indicated by the longest prefix match.Type: ApplicationFiled: April 7, 2021Publication date: November 18, 2021Inventors: Gil Levy, Aviv Kfir, Matty Kadosh, Salvatore Pontarelli, Pedro Reviriego
-
Patent number: 10708179Abstract: The apparatus (SW) has a plurality of input/output ports (P1, P2, P3, P4, P5) for receiving and transmitting data packets, and comprises a data packets handling circuitry (DPL) arranged to forward data packets between the input/output ports (P1, P2, P3, P4, P5) and an internal apparatus controller (CPL) arranged to control the data packet handling circuitry (DPL); the apparatus controller (CPL) is arranged to store (MEM) at least one state transition table (TT) to be used for controlling the forwarding of data packets by the data packets handling circuitry (DPL); the apparatus controller (CPL) is arranged to use the state transition table (TT) for implementing at least one finite state machine (FSM); the apparatus controller (CPL) is arranged to use the state transition table (TT) for handling separately distinct incoming data packets flows through corresponding distinct instances of finite state machine; the state transition table (TT) corresponds to the combination of a state table (ST), a condition table (Type: GrantFiled: March 27, 2017Date of Patent: July 7, 2020Assignee: CONSORZIO NAZIONALE INTERUNIVERSITARIO PER LE TELECOMUNICAZIONI (CNIT)Inventors: Giuseppe Bianchi, Salvatore Pontarelli, Marco Bonola, Carmelo Cascone, Davide Sanvito, Antonio Capone
-
Publication number: 20200042629Abstract: A collection of rules comprising fields that may have wildcard values. The method includes defining first and second subsets of the fields, the second subset being exclusive of the first subset. Intersections of overlapping fields of the first subset are added to the first subset to form an augmented first subset. Metadata from the augmented first subset and the fields not selected for the first subset are combined to define second parts of the rules. Data items are classified by matching a search key to one of the first parts and one of the second parts of the rules.Type: ApplicationFiled: August 2, 2018Publication date: February 6, 2020Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego, Matty Kadosh
-
Patent number: 10515015Abstract: 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: GrantFiled: March 20, 2018Date of Patent: December 24, 2019Assignee: MELLANOX TECHNOLOGIES TLV LTD.Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego
-
Patent number: 10496680Abstract: 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: GrantFiled: August 17, 2015Date of Patent: December 3, 2019Assignee: Mellanox Technologies TLV Ltd.Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli, Efim Yehiel Kravchik
-
Patent number: 10491521Abstract: 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: GrantFiled: March 26, 2017Date of Patent: November 26, 2019Assignee: Mellanox Technologies TLV Ltd.Inventors: Gil Levy, Pedro Reviriego, Salvatore Pontarelli, Aviv Kfir
-
Patent number: 10476794Abstract: 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: GrantFiled: July 30, 2017Date of Patent: November 12, 2019Assignee: MELLANOX TECHNOLOGIES TLV LTD.Inventors: Gil Levy, Pedro Reviriego, Aviv Kfir, Salvatore Pontarelli
-
Publication number: 20190294549Abstract: 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: ApplicationFiled: March 20, 2018Publication date: September 26, 2019Inventors: Gil Levy, Aviv Kfir, Salvatore Pontarelli, Pedro Reviriego
-
Publication number: 20190158388Abstract: The apparatus (SW) has a plurality of input/output ports (P1, P2, P3, P4, P5) for receiving and transmitting data packets, and comprises a data packets handling circuitry (DPL) arranged to forward data packets between the input/output ports (P1, P2, P3, P4, P5) and an internal apparatus controller (CPL) arranged to control the data packet handling circuitry (DPL); the apparatus controller (CPL) is arranged to store (MEM) at least one state transition table (TT) to be used for controlling the forwarding of data packets by the data packets handling circuitry (DPL); the apparatus controller (CPL) is arranged to use the state transition table (TT) for implementing at least one finite state machine (FSM); the apparatus controller (CPL) is arranged to use the state transition table (TT) for handling separately distinct incoming data packets flows through corresponding distinct instances of finite state machine; the state transition table (TT) corresponds to the combination of a state table (ST), a condition table (Type: ApplicationFiled: March 27, 2017Publication date: May 23, 2019Applicant: Consorzio Nazionale Interuniversitario Per le Telecpmunicazioni (CNIT)Inventors: Giuseppe BIANCHI, Salvatore PONTARELLI, Marco BONOLA, Carmelo CASCONE, Davide SANVITO, Antonio CAPONE
-
Publication number: 20190036821Abstract: 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: ApplicationFiled: July 30, 2017Publication date: January 31, 2019Inventors: Gil Levy, Pedro Reviriego, Aviv Kfir, Salvatore Pontarelli