mlxsw: Add fields for mlxsw's meta header for adjacency table
authorArkadi Sharshevsky <arkadis@mellanox.com>
Mon, 25 Sep 2017 08:32:22 +0000 (10:32 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Sep 2017 03:04:35 +0000 (20:04 -0700)
This patch adds field for mlxsw's meta header which will be used to
describe the match/action behavior of the adjacency table.

The fields are:
1. Adj_index - The global index of the nexthop group in the adjacency
   table.

2. Adj_hash_index - Local index offset which is based on packets hash
   mod the nexthop group size.

Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c

index 9164809..9253273 100644 (file)
@@ -43,6 +43,8 @@ enum mlxsw_sp_field_metadata_id {
        MLXSW_SP_DPIPE_FIELD_METADATA_ERIF_PORT,
        MLXSW_SP_DPIPE_FIELD_METADATA_L3_FORWARD,
        MLXSW_SP_DPIPE_FIELD_METADATA_L3_DROP,
+       MLXSW_SP_DPIPE_FIELD_METADATA_ADJ_INDEX,
+       MLXSW_SP_DPIPE_FIELD_METADATA_ADJ_HASH_INDEX,
 };
 
 static struct devlink_dpipe_field mlxsw_sp_dpipe_fields_metadata[] = {
@@ -62,6 +64,16 @@ static struct devlink_dpipe_field mlxsw_sp_dpipe_fields_metadata[] = {
                .id = MLXSW_SP_DPIPE_FIELD_METADATA_L3_DROP,
                .bitwidth = 1,
        },
+       {
+               .name = "adj_index",
+               .id = MLXSW_SP_DPIPE_FIELD_METADATA_ADJ_INDEX,
+               .bitwidth = 32,
+       },
+       {
+               .name = "adj_hash_index",
+               .id = MLXSW_SP_DPIPE_FIELD_METADATA_ADJ_HASH_INDEX,
+               .bitwidth = 32,
+       },
 };
 
 enum mlxsw_sp_dpipe_header_id {