Lines Matching full:app
92 nfp_flower_xmit_flow(struct nfp_app *app, struct nfp_fl_payload *nfp_flow, in nfp_flower_xmit_flow() argument
113 skb = nfp_flower_cmsg_alloc(app, tot_len, mtype, GFP_KERNEL); in nfp_flower_xmit_flow()
131 nfp_ctrl_tx(app->ctrl, skb); in nfp_flower_xmit_flow()
239 nfp_flower_calculate_key_layers(struct nfp_app *app, in nfp_flower_calculate_key_layers() argument
249 struct nfp_flower_priv *priv = app->priv; in nfp_flower_calculate_key_layers()
994 * @app: Pointer to the APP handle
1003 int nfp_flower_merge_offloaded_flows(struct nfp_app *app, in nfp_flower_merge_offloaded_flows() argument
1008 struct nfp_flower_priv *priv = app->priv; in nfp_flower_merge_offloaded_flows()
1053 err = nfp_compile_flow_metadata(app, &merge_tc_off, merge_flow, in nfp_flower_merge_offloaded_flows()
1063 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_merge_offloaded_flows()
1078 nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_merge_offloaded_flows()
1093 * @app: Pointer to the APP handle
1103 nfp_flower_validate_pre_tun_rule(struct nfp_app *app, in nfp_flower_validate_pre_tun_rule() argument
1108 struct nfp_flower_priv *priv = app->priv; in nfp_flower_validate_pre_tun_rule()
1235 * @app: Pointer to the APP handle
1244 nfp_flower_add_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_add_offload() argument
1248 struct nfp_flower_priv *priv = app->priv; in nfp_flower_add_offload()
1263 err = nfp_flower_calculate_key_layers(app, netdev, key_layer, flow, in nfp_flower_add_offload()
1274 err = nfp_flower_compile_flow_match(app, flow, key_layer, netdev, in nfp_flower_add_offload()
1279 err = nfp_flower_compile_action(app, flow, netdev, flow_pay, extack); in nfp_flower_add_offload()
1284 err = nfp_flower_validate_pre_tun_rule(app, flow_pay, key_layer, extack); in nfp_flower_add_offload()
1289 err = nfp_compile_flow_metadata(app, flow, flow_pay, netdev, extack); in nfp_flower_add_offload()
1302 err = nfp_flower_xmit_pre_tun_flow(app, flow_pay); in nfp_flower_add_offload()
1304 err = nfp_flower_xmit_flow(app, flow_pay, in nfp_flower_add_offload()
1324 nfp_modify_flow_metadata(app, flow_pay); in nfp_flower_add_offload()
1327 nfp_tunnel_put_ipv6_off(app, flow_pay->nfp_tun_ipv6); in nfp_flower_add_offload()
1338 nfp_flower_remove_merge_flow(struct nfp_app *app, in nfp_flower_remove_merge_flow() argument
1342 struct nfp_flower_priv *priv = app->priv; in nfp_flower_remove_merge_flow()
1356 err = nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_remove_merge_flow()
1358 nfp_flower_cmsg_warn(app, "Metadata fail for merge flow delete.\n"); in nfp_flower_remove_merge_flow()
1363 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_remove_merge_flow()
1366 nfp_flower_cmsg_warn(app, "Failed to delete merged flow.\n"); in nfp_flower_remove_merge_flow()
1371 err = nfp_flower_xmit_flow(app, origin, in nfp_flower_remove_merge_flow()
1374 nfp_flower_cmsg_warn(app, "Failed to revert merge flow.\n"); in nfp_flower_remove_merge_flow()
1394 nfp_flower_del_linked_merge_flows(struct nfp_app *app, in nfp_flower_del_linked_merge_flows() argument
1402 nfp_flower_remove_merge_flow(app, sub_flow, in nfp_flower_del_linked_merge_flows()
1408 * @app: Pointer to the APP handle
1418 nfp_flower_del_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_del_offload() argument
1421 struct nfp_flower_priv *priv = app->priv; in nfp_flower_del_offload()
1431 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_del_offload()
1437 err = nfp_modify_flow_metadata(app, nfp_flow); in nfp_flower_del_offload()
1442 nfp_tunnel_del_ipv4_off(app, nfp_flow->nfp_tun_ipv4_addr); in nfp_flower_del_offload()
1445 nfp_tunnel_put_ipv6_off(app, nfp_flow->nfp_tun_ipv6); in nfp_flower_del_offload()
1453 err = nfp_flower_xmit_pre_tun_del_flow(app, nfp_flow); in nfp_flower_del_offload()
1455 err = nfp_flower_xmit_flow(app, nfp_flow, in nfp_flower_del_offload()
1460 nfp_flower_del_linked_merge_flows(app, nfp_flow); in nfp_flower_del_offload()
1474 __nfp_flower_update_merge_stats(struct nfp_app *app, in __nfp_flower_update_merge_stats() argument
1477 struct nfp_flower_priv *priv = app->priv; in __nfp_flower_update_merge_stats()
1510 nfp_flower_update_merge_stats(struct nfp_app *app, in nfp_flower_update_merge_stats() argument
1517 __nfp_flower_update_merge_stats(app, link->merge_flow.flow); in nfp_flower_update_merge_stats()
1522 * @app: Pointer to the APP handle
1532 nfp_flower_get_stats(struct nfp_app *app, struct net_device *netdev, in nfp_flower_get_stats() argument
1535 struct nfp_flower_priv *priv = app->priv; in nfp_flower_get_stats()
1541 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_get_stats()
1552 nfp_flower_update_merge_stats(app, nfp_flow); in nfp_flower_get_stats()
1566 nfp_flower_repr_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_repr_offload() argument
1574 return nfp_flower_add_offload(app, netdev, flower); in nfp_flower_repr_offload()
1576 return nfp_flower_del_offload(app, netdev, flower); in nfp_flower_repr_offload()
1578 return nfp_flower_get_stats(app, netdev, flower); in nfp_flower_repr_offload()
1594 return nfp_flower_repr_offload(repr->app, repr->netdev, in nfp_flower_setup_tc_block_cb()
1597 return nfp_flower_setup_qos_offload(repr->app, repr->netdev, in nfp_flower_setup_tc_block_cb()
1649 int nfp_flower_setup_tc(struct nfp_app *app, struct net_device *netdev, in nfp_flower_setup_tc() argument
1662 struct nfp_app *app; member
1667 nfp_flower_indr_block_cb_priv_lookup(struct nfp_app *app, in nfp_flower_indr_block_cb_priv_lookup() argument
1671 struct nfp_flower_priv *priv = app->priv; in nfp_flower_indr_block_cb_priv_lookup()
1694 return nfp_flower_repr_offload(priv->app, priv->netdev, in nfp_flower_setup_indr_block_cb()
1710 nfp_flower_setup_indr_tc_block(struct net_device *netdev, struct Qdisc *sch, struct nfp_app *app, in nfp_flower_setup_indr_tc_block() argument
1715 struct nfp_flower_priv *priv = app->priv; in nfp_flower_setup_indr_tc_block()
1719 !nfp_flower_internal_port_can_offload(app, netdev)) || in nfp_flower_setup_indr_tc_block()
1721 nfp_flower_internal_port_can_offload(app, netdev))) in nfp_flower_setup_indr_tc_block()
1726 cb_priv = nfp_flower_indr_block_cb_priv_lookup(app, netdev); in nfp_flower_setup_indr_tc_block()
1738 cb_priv->app = app; in nfp_flower_setup_indr_tc_block()
1744 f, netdev, sch, data, app, cleanup); in nfp_flower_setup_indr_tc_block()
1755 cb_priv = nfp_flower_indr_block_cb_priv_lookup(app, netdev); in nfp_flower_setup_indr_tc_block()