Commit de1f0a65 authored by Oz Shlomo's avatar Oz Shlomo Committed by Saeed Mahameed

net/mlx5e: TC, refactor access to hash key

Currently, a temp object is filled and used as a key for rhashtable_lookup.
Lookups will only works while key remains the first attribute in the
relevant rhashtable node object.

Fix this by passing a key, instead of a object containing the key.
Signed-off-by: default avatarOz Shlomo <ozsh@nvidia.com>
Reviewed-by: default avatarPaul Blakey <paulb@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
parent f4692ab1
...@@ -25,8 +25,8 @@ struct mlx5e_tc_act_stats { ...@@ -25,8 +25,8 @@ struct mlx5e_tc_act_stats {
static const struct rhashtable_params act_counters_ht_params = { static const struct rhashtable_params act_counters_ht_params = {
.head_offset = offsetof(struct mlx5e_tc_act_stats, hash), .head_offset = offsetof(struct mlx5e_tc_act_stats, hash),
.key_offset = 0, .key_offset = offsetof(struct mlx5e_tc_act_stats, tc_act_cookie),
.key_len = offsetof(struct mlx5e_tc_act_stats, counter), .key_len = sizeof_field(struct mlx5e_tc_act_stats, tc_act_cookie),
.automatic_shrinking = true, .automatic_shrinking = true,
}; };
...@@ -169,14 +169,11 @@ mlx5e_tc_act_stats_fill_stats(struct mlx5e_tc_act_stats_handle *handle, ...@@ -169,14 +169,11 @@ mlx5e_tc_act_stats_fill_stats(struct mlx5e_tc_act_stats_handle *handle,
{ {
struct rhashtable *ht = &handle->ht; struct rhashtable *ht = &handle->ht;
struct mlx5e_tc_act_stats *item; struct mlx5e_tc_act_stats *item;
struct mlx5e_tc_act_stats key;
u64 pkts, bytes, lastused; u64 pkts, bytes, lastused;
int err = 0; int err = 0;
key.tc_act_cookie = fl_act->cookie;
rcu_read_lock(); rcu_read_lock();
item = rhashtable_lookup(ht, &key, act_counters_ht_params); item = rhashtable_lookup(ht, &fl_act->cookie, act_counters_ht_params);
if (!item) { if (!item) {
rcu_read_unlock(); rcu_read_unlock();
err = -ENOENT; err = -ENOENT;
......
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