• Ido Schimmel's avatar
    mlxsw: spectrum_dpipe: Add adjacency group size · e69cd9d7
    Ido Schimmel authored
    The adjacency group size is part of the match on the adjacency group and
    should therefore be exposed using dpipe.
    
    When non-equal-cost multi-path support will be introduced, the group's
    size will help users understand the exact number of adjacency entries
    each nexthop occupies, as a nexthop will no longer correspond to a
    single entry.
    
    The output for a multi-path route with two nexthops, one with weight 255
    and the second 1 will be:
    
    Example:
    
    $ devlink dpipe table dump pci/0000:01:00.0 name mlxsw_adj
    pci/0000:01:00.0:
      index 0
      match_value:
        type field_exact header mlxsw_meta field adj_index value 65536
        type field_exact header mlxsw_meta field adj_size value 512
        type field_exact header mlxsw_meta field adj_hash_index value 0
      action_value:
        type field_modify header ethernet field destination mac value e4:1d:2d:a5:f3:64
        type field_modify header mlxsw_meta field erif_port mapping ifindex mapping_value 3 value 1
    
      index 1
      match_value:
        type field_exact header mlxsw_meta field adj_index value 65536
        type field_exact header mlxsw_meta field adj_size value 512
        type field_exact header mlxsw_meta field adj_hash_index value 510
      action_value:
        type field_modify header ethernet field destination mac value e4:1d:2d:a5:f3:65
        type field_modify header mlxsw_meta field erif_port mapping ifindex mapping_value 4 value 2
    
    Thus, the first nexthop occupies 510 adjacency entries and the second 2,
    which leads to a ratio of 255 to 1.
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e69cd9d7
spectrum_dpipe.c 35.2 KB