Lines Matching defs:app

86 int nfp_flower_offload_one_police(struct nfp_app *app, bool ingress,
92 skb = nfp_flower_cmsg_alloc(app, sizeof(struct nfp_police_config),
115 nfp_ctrl_tx(app->ctrl, skb);
165 nfp_flower_install_rate_limiter(struct nfp_app *app, struct net_device *netdev,
171 struct nfp_flower_priv *fl_priv = app->priv;
274 nfp_flower_offload_one_police(repr->app, true,
289 nfp_flower_remove_rate_limiter(struct nfp_app *app, struct net_device *netdev,
293 struct nfp_flower_priv *fl_priv = app->priv;
329 skb = nfp_flower_cmsg_alloc(repr->app, sizeof(struct nfp_police_config),
339 nfp_ctrl_tx(repr->app->ctrl, skb);
345 void nfp_flower_stats_rlim_reply(struct nfp_app *app, struct sk_buff *skb)
347 struct nfp_flower_priv *fl_priv = app->priv;
358 return nfp_act_stats_reply(app, msg);
362 netdev = nfp_app_dev_get(app, netdev_port_id, NULL);
396 skb = nfp_flower_cmsg_alloc(fl_priv->app,
412 nfp_ctrl_tx(fl_priv->app->ctrl, skb);
422 repr_set = rcu_dereference(fl_priv->app->reprs[NFP_REPR_TYPE_VF]);
465 nfp_flower_stats_rate_limiter(struct nfp_app *app, struct net_device *netdev,
469 struct nfp_flower_priv *fl_priv = app->priv;
503 void nfp_flower_qos_init(struct nfp_app *app)
505 struct nfp_flower_priv *fl_priv = app->priv;
509 nfp_init_meter_table(app);
514 void nfp_flower_qos_cleanup(struct nfp_app *app)
516 struct nfp_flower_priv *fl_priv = app->priv;
521 int nfp_flower_setup_qos_offload(struct nfp_app *app, struct net_device *netdev,
525 struct nfp_flower_priv *fl_priv = app->priv;
536 ret = nfp_flower_install_rate_limiter(app, netdev, flow, extack);
539 ret = nfp_flower_remove_rate_limiter(app, netdev, flow, extack);
542 ret = nfp_flower_stats_rate_limiter(app, netdev, flow, extack);
562 nfp_flower_search_meter_entry(struct nfp_app *app, u32 meter_id)
564 struct nfp_flower_priv *priv = app->priv;
571 nfp_flower_add_meter_entry(struct nfp_app *app, u32 meter_id)
574 struct nfp_flower_priv *priv = app->priv;
602 static void nfp_flower_del_meter_entry(struct nfp_app *app, u32 meter_id)
605 struct nfp_flower_priv *priv = app->priv;
621 int nfp_flower_setup_meter_entry(struct nfp_app *app,
626 struct nfp_flower_priv *fl_priv = app->priv;
634 nfp_flower_del_meter_entry(app, meter_id);
637 meter_entry = nfp_flower_add_meter_entry(app, meter_id);
664 int nfp_init_meter_table(struct nfp_app *app)
666 struct nfp_flower_priv *priv = app->priv;
694 nfp_act_install_actions(struct nfp_app *app, struct flow_offload_action *fl_act,
699 struct nfp_flower_priv *fl_priv = app->priv;
736 if (nfp_flower_setup_meter_entry(app, action, NFP_METER_ADD, meter_id))
742 nfp_flower_offload_one_police(app, false, pps, meter_id,
752 nfp_act_remove_actions(struct nfp_app *app, struct flow_offload_action *fl_act,
769 meter_entry = nfp_flower_search_meter_entry(app, meter_id);
777 skb = nfp_flower_cmsg_alloc(app, sizeof(struct nfp_police_config),
789 nfp_ctrl_tx(app->ctrl, skb);
790 nfp_flower_setup_meter_entry(app, NULL, NFP_METER_DEL, meter_id);
796 nfp_act_stats_reply(struct nfp_app *app, void *pmsg)
798 struct nfp_flower_priv *fl_priv = app->priv;
806 meter_entry = nfp_flower_search_meter_entry(app, meter_id);
828 nfp_act_stats_actions(struct nfp_app *app, struct flow_offload_action *fl_act,
831 struct nfp_flower_priv *fl_priv = app->priv;
843 meter_entry = nfp_flower_search_meter_entry(app, fl_act->index);
868 int nfp_setup_tc_act_offload(struct nfp_app *app,
872 struct nfp_flower_priv *fl_priv = app->priv;
879 return nfp_act_install_actions(app, fl_act, extack);
881 return nfp_act_remove_actions(app, fl_act, extack);
883 return nfp_act_stats_actions(app, fl_act, extack);