Lines Matching full:app
95 nfp_flower_xmit_flow(struct nfp_app *app, struct nfp_fl_payload *nfp_flow, in nfp_flower_xmit_flow() argument
116 skb = nfp_flower_cmsg_alloc(app, tot_len, mtype, GFP_KERNEL); in nfp_flower_xmit_flow()
134 nfp_ctrl_tx(app->ctrl, skb); in nfp_flower_xmit_flow()
238 nfp_flower_calculate_key_layers(struct nfp_app *app, in nfp_flower_calculate_key_layers() argument
247 struct nfp_flower_priv *priv = app->priv; in nfp_flower_calculate_key_layers()
992 * @app: Pointer to the APP handle
1001 int nfp_flower_merge_offloaded_flows(struct nfp_app *app, in nfp_flower_merge_offloaded_flows() argument
1005 struct nfp_flower_priv *priv = app->priv; in nfp_flower_merge_offloaded_flows()
1024 nfp_flower_cmsg_warn(app, "The two flows are already merged.\n"); in nfp_flower_merge_offloaded_flows()
1058 err = nfp_compile_flow_metadata(app, merge_flow->tc_flower_cookie, merge_flow, in nfp_flower_merge_offloaded_flows()
1079 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_merge_offloaded_flows()
1100 nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_merge_offloaded_flows()
1115 * @app: Pointer to the APP handle
1125 nfp_flower_validate_pre_tun_rule(struct nfp_app *app, in nfp_flower_validate_pre_tun_rule() argument
1130 struct nfp_flower_priv *priv = app->priv; in nfp_flower_validate_pre_tun_rule()
1321 * @app: Pointer to the APP handle
1330 nfp_flower_add_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_add_offload() argument
1335 struct nfp_flower_priv *priv = app->priv; in nfp_flower_add_offload()
1359 err = nfp_flower_calculate_key_layers(app, netdev, key_layer, rule, in nfp_flower_add_offload()
1370 err = nfp_flower_compile_flow_match(app, rule, key_layer, netdev, in nfp_flower_add_offload()
1375 err = nfp_flower_compile_action(app, rule, netdev, flow_pay, extack); in nfp_flower_add_offload()
1380 err = nfp_flower_validate_pre_tun_rule(app, flow_pay, key_layer, extack); in nfp_flower_add_offload()
1385 err = nfp_compile_flow_metadata(app, flow->cookie, flow_pay, netdev, extack); in nfp_flower_add_offload()
1411 nfp_tun_link_and_update_nn_entries(app, predt); in nfp_flower_add_offload()
1414 err = nfp_flower_xmit_pre_tun_flow(app, flow_pay); in nfp_flower_add_offload()
1417 err = nfp_flower_xmit_flow(app, flow_pay, in nfp_flower_add_offload()
1439 nfp_modify_flow_metadata(app, flow_pay); in nfp_flower_add_offload()
1442 nfp_tunnel_put_ipv6_off(app, flow_pay->nfp_tun_ipv6); in nfp_flower_add_offload()
1453 nfp_flower_remove_merge_flow(struct nfp_app *app, in nfp_flower_remove_merge_flow() argument
1457 struct nfp_flower_priv *priv = app->priv; in nfp_flower_remove_merge_flow()
1473 err = nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_remove_merge_flow()
1475 nfp_flower_cmsg_warn(app, "Metadata fail for merge flow delete.\n"); in nfp_flower_remove_merge_flow()
1480 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_remove_merge_flow()
1483 nfp_flower_cmsg_warn(app, "Failed to delete merged flow.\n"); in nfp_flower_remove_merge_flow()
1488 err = nfp_flower_xmit_flow(app, origin, in nfp_flower_remove_merge_flow()
1491 nfp_flower_cmsg_warn(app, "Failed to revert merge flow.\n"); in nfp_flower_remove_merge_flow()
1525 nfp_flower_del_linked_merge_flows(struct nfp_app *app, in nfp_flower_del_linked_merge_flows() argument
1533 nfp_flower_remove_merge_flow(app, sub_flow, in nfp_flower_del_linked_merge_flows()
1539 * @app: Pointer to the APP handle
1549 nfp_flower_del_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_del_offload() argument
1552 struct nfp_flower_priv *priv = app->priv; in nfp_flower_del_offload()
1571 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_del_offload()
1577 err = nfp_modify_flow_metadata(app, nfp_flow); in nfp_flower_del_offload()
1582 nfp_tunnel_del_ipv4_off(app, nfp_flow->nfp_tun_ipv4_addr); in nfp_flower_del_offload()
1585 nfp_tunnel_put_ipv6_off(app, nfp_flow->nfp_tun_ipv6); in nfp_flower_del_offload()
1599 nfp_tun_unlink_and_update_nn_entries(app, predt); in nfp_flower_del_offload()
1605 err = nfp_flower_xmit_pre_tun_del_flow(app, nfp_flow); in nfp_flower_del_offload()
1608 err = nfp_flower_xmit_flow(app, nfp_flow, in nfp_flower_del_offload()
1614 nfp_flower_del_linked_merge_flows(app, nfp_flow); in nfp_flower_del_offload()
1628 __nfp_flower_update_merge_stats(struct nfp_app *app, in __nfp_flower_update_merge_stats() argument
1631 struct nfp_flower_priv *priv = app->priv; in __nfp_flower_update_merge_stats()
1664 nfp_flower_update_merge_stats(struct nfp_app *app, in nfp_flower_update_merge_stats() argument
1671 __nfp_flower_update_merge_stats(app, link->merge_flow.flow); in nfp_flower_update_merge_stats()
1676 * @app: Pointer to the APP handle
1686 nfp_flower_get_stats(struct nfp_app *app, struct net_device *netdev, in nfp_flower_get_stats() argument
1689 struct nfp_flower_priv *priv = app->priv; in nfp_flower_get_stats()
1702 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_get_stats()
1713 nfp_flower_update_merge_stats(app, nfp_flow); in nfp_flower_get_stats()
1727 nfp_flower_repr_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_repr_offload() argument
1735 return nfp_flower_add_offload(app, netdev, flower); in nfp_flower_repr_offload()
1737 return nfp_flower_del_offload(app, netdev, flower); in nfp_flower_repr_offload()
1739 return nfp_flower_get_stats(app, netdev, flower); in nfp_flower_repr_offload()
1756 return nfp_flower_repr_offload(repr->app, repr->netdev, in nfp_flower_setup_tc_block_cb()
1759 return nfp_flower_setup_qos_offload(repr->app, repr->netdev, in nfp_flower_setup_tc_block_cb()
1811 int nfp_flower_setup_tc(struct nfp_app *app, struct net_device *netdev, in nfp_flower_setup_tc() argument
1824 struct nfp_app *app; member
1829 nfp_flower_indr_block_cb_priv_lookup(struct nfp_app *app, in nfp_flower_indr_block_cb_priv_lookup() argument
1833 struct nfp_flower_priv *priv = app->priv; in nfp_flower_indr_block_cb_priv_lookup()
1849 return nfp_flower_repr_offload(priv->app, priv->netdev, in nfp_flower_setup_indr_block_cb()
1865 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
1870 struct nfp_flower_priv *priv = app->priv; in nfp_flower_setup_indr_tc_block()
1874 !nfp_flower_internal_port_can_offload(app, netdev)) || in nfp_flower_setup_indr_tc_block()
1876 nfp_flower_internal_port_can_offload(app, netdev))) in nfp_flower_setup_indr_tc_block()
1881 cb_priv = nfp_flower_indr_block_cb_priv_lookup(app, netdev); in nfp_flower_setup_indr_tc_block()
1893 cb_priv->app = app; in nfp_flower_setup_indr_tc_block()
1899 f, netdev, sch, data, app, cleanup); in nfp_flower_setup_indr_tc_block()
1910 cb_priv = nfp_flower_indr_block_cb_priv_lookup(app, netdev); in nfp_flower_setup_indr_tc_block()
1930 nfp_setup_tc_no_dev(struct nfp_app *app, enum tc_setup_type type, void *data) in nfp_setup_tc_no_dev() argument
1937 return nfp_setup_tc_act_offload(app, data); in nfp_setup_tc_no_dev()