US 12,294,636 B2
Efficient memory utilization for cartesian products of rules
Gil Levy, Hod Hasharon (IL); and Aviv Kfir, Nili (IL)
Assigned to Mellanox Technologies, Ltd, Yokneam (IL)
Filed by MELLANOX TECHNOLOGIES, LTD., Yokneam (IL)
Filed on Feb. 26, 2024, as Appl. No. 18/586,613.
Application 18/586,613 is a continuation of application No. 17/679,160, filed on Feb. 24, 2022, granted, now 11,968,285.
Prior Publication US 2024/0195892 A1, Jun. 13, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 69/22 (2022.01); H04L 45/74 (2022.01); H04L 45/745 (2022.01)
CPC H04L 69/22 (2013.01) [H04L 45/742 (2013.01); H04L 45/74591 (2022.05)] 11 Claims
OG exemplary drawing
 
1. A network device, comprising:
one or more ports, to exchange packets over a network, each packet comprising a packet header having at least first and second header fields;
action-select circuitry, to:
for a given packet, determine a first search key based on the first header field of the given packet, and a second search key based on the second header field of the given packet;
compare the first search key to a first group of compare values, and, responsively to a match between the first search key and a first compare value in the first group, output a multi-element vector comprising multiple elements, each element of the multi-element vector being (i) set, if a corresponding second compare value in a second group of compare values matches the second search key, and (ii) not set, if the corresponding second compare value in the second group does not match the second search key;
generate a composite search key, by concatenating the second search key and the multi-element vector; and
compare the composite search key to a second group of compare values, and, responsively to a match between the composite search key and a second compare value in the second group, output an action indicator for applying to the given packet; and
a packet processor, to process the packets responsively to the packet headers, including applying an action to the given packet responsively to the action indicator, which was output by the compare circuitry.