• Ido Schimmel's avatar
    mlxsw: spectrum_acl: Allow encoding a partial key · ca49544e
    Ido Schimmel authored
    When working with 12 key blocks in the A-TCAM, rules are split into two
    records, which constitute two lookups. The two records are linked using
    a "large entry key ID". The ID is assigned to key blocks 6 to 11 and
    resolved during the first lookup. The second lookup is performed using
    the ID and the remaining key blocks.
    
    Allow encoding a partial key so that it can be later used to check if an
    ID can be reused.
    
    This is done by adding two arguments to the existing encode function
    that specify the range of the block indexes we would like to encode. The
    key and mask arguments become optional, as we will not need to encode
    both of them all the time.
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Reviewed-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ca49544e
core_acl_flex_keys.c 14.2 KB