Skip to content

Commit d4b69ba

Browse files
jahurleydavem330
authored andcommitted
nfp: flower: remove unnecessary code in flow lookup
Recent changes to NFP mean that stats updates from fw to driver no longer require a flow lookup and (because egdev offload has been removed) the ingress netdev for a lookup is now always known. Remove obsolete code in a flow lookup that matches on host context and that allows for a netdev to be NULL. Signed-off-by: John Hurley <john.hurley@netronome.com> Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 4f63fde commit d4b69ba

File tree

3 files changed

+6
-14
lines changed

3 files changed

+6
-14
lines changed

drivers/net/ethernet/netronome/nfp/flower/main.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ struct nfp_fl_pre_lag;
2020
struct net_device;
2121
struct nfp_app;
2222

23-
#define NFP_FL_STATS_CTX_DONT_CARE cpu_to_be32(0xffffffff)
2423
#define NFP_FL_STATS_ELEM_RS FIELD_SIZEOF(struct nfp_fl_stats_id, \
2524
init_unalloc)
2625
#define NFP_FLOWER_MASK_ENTRY_RS 256
@@ -242,7 +241,7 @@ int nfp_modify_flow_metadata(struct nfp_app *app,
242241

243242
struct nfp_fl_payload *
244243
nfp_flower_search_fl_table(struct nfp_app *app, unsigned long tc_flower_cookie,
245-
struct net_device *netdev, __be32 host_ctx);
244+
struct net_device *netdev);
246245
struct nfp_fl_payload *
247246
nfp_flower_remove_fl_table(struct nfp_app *app, unsigned long tc_flower_cookie);
248247

drivers/net/ethernet/netronome/nfp/flower/metadata.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ struct nfp_mask_id_table {
2121
struct nfp_fl_flow_table_cmp_arg {
2222
struct net_device *netdev;
2323
unsigned long cookie;
24-
__be32 host_ctx;
2524
};
2625

2726
static int nfp_release_stats_entry(struct nfp_app *app, u32 stats_context_id)
@@ -76,14 +75,13 @@ static int nfp_get_stats_entry(struct nfp_app *app, u32 *stats_context_id)
7675
/* Must be called with either RTNL or rcu_read_lock */
7776
struct nfp_fl_payload *
7877
nfp_flower_search_fl_table(struct nfp_app *app, unsigned long tc_flower_cookie,
79-
struct net_device *netdev, __be32 host_ctx)
78+
struct net_device *netdev)
8079
{
8180
struct nfp_fl_flow_table_cmp_arg flower_cmp_arg;
8281
struct nfp_flower_priv *priv = app->priv;
8382

8483
flower_cmp_arg.netdev = netdev;
8584
flower_cmp_arg.cookie = tc_flower_cookie;
86-
flower_cmp_arg.host_ctx = host_ctx;
8785

8886
return rhashtable_lookup_fast(&priv->flow_table, &flower_cmp_arg,
8987
nfp_flower_table_params);
@@ -307,8 +305,7 @@ int nfp_compile_flow_metadata(struct nfp_app *app,
307305
priv->stats[stats_cxt].bytes = 0;
308306
priv->stats[stats_cxt].used = jiffies;
309307

310-
check_entry = nfp_flower_search_fl_table(app, flow->cookie, netdev,
311-
NFP_FL_STATS_CTX_DONT_CARE);
308+
check_entry = nfp_flower_search_fl_table(app, flow->cookie, netdev);
312309
if (check_entry) {
313310
if (nfp_release_stats_entry(app, stats_cxt))
314311
return -EINVAL;
@@ -353,9 +350,7 @@ static int nfp_fl_obj_cmpfn(struct rhashtable_compare_arg *arg,
353350
const struct nfp_fl_flow_table_cmp_arg *cmp_arg = arg->key;
354351
const struct nfp_fl_payload *flow_entry = obj;
355352

356-
if ((!cmp_arg->netdev || flow_entry->ingress_dev == cmp_arg->netdev) &&
357-
(cmp_arg->host_ctx == NFP_FL_STATS_CTX_DONT_CARE ||
358-
flow_entry->meta.host_ctx_id == cmp_arg->host_ctx))
353+
if (flow_entry->ingress_dev == cmp_arg->netdev)
359354
return flow_entry->tc_flower_cookie != cmp_arg->cookie;
360355

361356
return 1;

drivers/net/ethernet/netronome/nfp/flower/offload.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -512,8 +512,7 @@ nfp_flower_del_offload(struct nfp_app *app, struct net_device *netdev,
512512
if (nfp_netdev_is_nfp_repr(netdev))
513513
port = nfp_port_from_netdev(netdev);
514514

515-
nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev,
516-
NFP_FL_STATS_CTX_DONT_CARE);
515+
nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev);
517516
if (!nfp_flow)
518517
return -ENOENT;
519518

@@ -561,8 +560,7 @@ nfp_flower_get_stats(struct nfp_app *app, struct net_device *netdev,
561560
struct nfp_fl_payload *nfp_flow;
562561
u32 ctx_id;
563562

564-
nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev,
565-
NFP_FL_STATS_CTX_DONT_CARE);
563+
nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev);
566564
if (!nfp_flow)
567565
return -EINVAL;
568566

0 commit comments

Comments
 (0)