Commit 1ed5574c authored by Arkadi Sharshevsky's avatar Arkadi Sharshevsky Committed by David S. Miller

mlxsw: spectrum_router: Add support for setting counters on IPv6 neighbors

Add support for setting counters on IPv6 neighbors based on dpipe's host6
table counter status.
Signed-off-by: default avatarArkadi Sharshevsky <arkadis@mellanox.com>
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 410774bd
...@@ -1008,21 +1008,33 @@ mlxsw_sp_neigh_entry_remove(struct mlxsw_sp *mlxsw_sp, ...@@ -1008,21 +1008,33 @@ mlxsw_sp_neigh_entry_remove(struct mlxsw_sp *mlxsw_sp,
} }
static bool static bool
mlxsw_sp_neigh4_counter_should_alloc(struct mlxsw_sp *mlxsw_sp) mlxsw_sp_neigh_counter_should_alloc(struct mlxsw_sp *mlxsw_sp,
struct mlxsw_sp_neigh_entry *neigh_entry)
{ {
struct devlink *devlink; struct devlink *devlink;
const char *table_name;
switch (mlxsw_sp_neigh_entry_type(neigh_entry)) {
case AF_INET:
table_name = MLXSW_SP_DPIPE_TABLE_NAME_HOST4;
break;
case AF_INET6:
table_name = MLXSW_SP_DPIPE_TABLE_NAME_HOST6;
break;
default:
WARN_ON(1);
return false;
}
devlink = priv_to_devlink(mlxsw_sp->core); devlink = priv_to_devlink(mlxsw_sp->core);
return devlink_dpipe_table_counter_enabled(devlink, return devlink_dpipe_table_counter_enabled(devlink, table_name);
MLXSW_SP_DPIPE_TABLE_NAME_HOST4);
} }
static void static void
mlxsw_sp_neigh_counter_alloc(struct mlxsw_sp *mlxsw_sp, mlxsw_sp_neigh_counter_alloc(struct mlxsw_sp *mlxsw_sp,
struct mlxsw_sp_neigh_entry *neigh_entry) struct mlxsw_sp_neigh_entry *neigh_entry)
{ {
if (mlxsw_sp_neigh_entry_type(neigh_entry) != AF_INET || if (!mlxsw_sp_neigh_counter_should_alloc(mlxsw_sp, neigh_entry))
!mlxsw_sp_neigh4_counter_should_alloc(mlxsw_sp))
return; return;
if (mlxsw_sp_flow_counter_alloc(mlxsw_sp, &neigh_entry->counter_index)) if (mlxsw_sp_flow_counter_alloc(mlxsw_sp, &neigh_entry->counter_index))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment