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()
996 * @app: Pointer to the APP handle
1005 int nfp_flower_merge_offloaded_flows(struct nfp_app *app, in nfp_flower_merge_offloaded_flows() argument
1009 struct nfp_flower_priv *priv = app->priv; in nfp_flower_merge_offloaded_flows()
1026 nfp_flower_cmsg_warn(app, "The two flows are already merged.\n"); in nfp_flower_merge_offloaded_flows()
1060 err = nfp_compile_flow_metadata(app, merge_flow->tc_flower_cookie, merge_flow, in nfp_flower_merge_offloaded_flows()
1081 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_merge_offloaded_flows()
1102 nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_merge_offloaded_flows()
1117 * @app: Pointer to the APP handle
1127 nfp_flower_validate_pre_tun_rule(struct nfp_app *app, in nfp_flower_validate_pre_tun_rule() argument
1132 struct nfp_flower_priv *priv = app->priv; in nfp_flower_validate_pre_tun_rule()
1323 * @app: Pointer to the APP handle
1332 nfp_flower_add_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_add_offload() argument
1337 struct nfp_flower_priv *priv = app->priv; in nfp_flower_add_offload()
1361 err = nfp_flower_calculate_key_layers(app, netdev, key_layer, rule, in nfp_flower_add_offload()
1372 err = nfp_flower_compile_flow_match(app, rule, key_layer, netdev, in nfp_flower_add_offload()
1377 err = nfp_flower_compile_action(app, rule, netdev, flow_pay, extack); in nfp_flower_add_offload()
1382 err = nfp_flower_validate_pre_tun_rule(app, flow_pay, key_layer, extack); in nfp_flower_add_offload()
1387 err = nfp_compile_flow_metadata(app, flow->cookie, flow_pay, netdev, extack); in nfp_flower_add_offload()
1413 nfp_tun_link_and_update_nn_entries(app, predt); in nfp_flower_add_offload()
1416 err = nfp_flower_xmit_pre_tun_flow(app, flow_pay); in nfp_flower_add_offload()
1419 err = nfp_flower_xmit_flow(app, flow_pay, in nfp_flower_add_offload()
1441 nfp_modify_flow_metadata(app, flow_pay); in nfp_flower_add_offload()
1444 nfp_tunnel_put_ipv6_off(app, flow_pay->nfp_tun_ipv6); in nfp_flower_add_offload()
1455 nfp_flower_remove_merge_flow(struct nfp_app *app, in nfp_flower_remove_merge_flow() argument
1459 struct nfp_flower_priv *priv = app->priv; in nfp_flower_remove_merge_flow()
1475 err = nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_remove_merge_flow()
1477 nfp_flower_cmsg_warn(app, "Metadata fail for merge flow delete.\n"); in nfp_flower_remove_merge_flow()
1482 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_remove_merge_flow()
1485 nfp_flower_cmsg_warn(app, "Failed to delete merged flow.\n"); in nfp_flower_remove_merge_flow()
1490 err = nfp_flower_xmit_flow(app, origin, in nfp_flower_remove_merge_flow()
1493 nfp_flower_cmsg_warn(app, "Failed to revert merge flow.\n"); in nfp_flower_remove_merge_flow()
1527 nfp_flower_del_linked_merge_flows(struct nfp_app *app, in nfp_flower_del_linked_merge_flows() argument
1535 nfp_flower_remove_merge_flow(app, sub_flow, in nfp_flower_del_linked_merge_flows()
1541 * @app: Pointer to the APP handle
1551 nfp_flower_del_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_del_offload() argument
1554 struct nfp_flower_priv *priv = app->priv; in nfp_flower_del_offload()
1573 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_del_offload()
1579 err = nfp_modify_flow_metadata(app, nfp_flow); in nfp_flower_del_offload()
1584 nfp_tunnel_del_ipv4_off(app, nfp_flow->nfp_tun_ipv4_addr); in nfp_flower_del_offload()
1587 nfp_tunnel_put_ipv6_off(app, nfp_flow->nfp_tun_ipv6); in nfp_flower_del_offload()
1601 nfp_tun_unlink_and_update_nn_entries(app, predt); in nfp_flower_del_offload()
1607 err = nfp_flower_xmit_pre_tun_del_flow(app, nfp_flow); in nfp_flower_del_offload()
1610 err = nfp_flower_xmit_flow(app, nfp_flow, in nfp_flower_del_offload()
1616 nfp_flower_del_linked_merge_flows(app, nfp_flow); in nfp_flower_del_offload()
1630 __nfp_flower_update_merge_stats(struct nfp_app *app, in __nfp_flower_update_merge_stats() argument
1633 struct nfp_flower_priv *priv = app->priv; in __nfp_flower_update_merge_stats()
1666 nfp_flower_update_merge_stats(struct nfp_app *app, in nfp_flower_update_merge_stats() argument
1673 __nfp_flower_update_merge_stats(app, link->merge_flow.flow); in nfp_flower_update_merge_stats()
1678 * @app: Pointer to the APP handle
1688 nfp_flower_get_stats(struct nfp_app *app, struct net_device *netdev, in nfp_flower_get_stats() argument
1691 struct nfp_flower_priv *priv = app->priv; in nfp_flower_get_stats()
1704 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_get_stats()
1715 nfp_flower_update_merge_stats(app, nfp_flow); in nfp_flower_get_stats()
1729 nfp_flower_repr_offload(struct nfp_app *app, struct net_device *netdev, in nfp_flower_repr_offload() argument
1732 struct nfp_flower_priv *priv = app->priv; in nfp_flower_repr_offload()
1741 ret = nfp_flower_add_offload(app, netdev, flower); in nfp_flower_repr_offload()
1744 ret = nfp_flower_del_offload(app, netdev, flower); in nfp_flower_repr_offload()
1747 ret = nfp_flower_get_stats(app, netdev, flower); in nfp_flower_repr_offload()
1769 return nfp_flower_repr_offload(repr->app, repr->netdev, in nfp_flower_setup_tc_block_cb()
1772 return nfp_flower_setup_qos_offload(repr->app, repr->netdev, in nfp_flower_setup_tc_block_cb()
1825 int nfp_flower_setup_tc(struct nfp_app *app, struct net_device *netdev, in nfp_flower_setup_tc() argument
1838 struct nfp_app *app; member
1843 nfp_flower_indr_block_cb_priv_lookup(struct nfp_app *app, in nfp_flower_indr_block_cb_priv_lookup() argument
1847 struct nfp_flower_priv *priv = app->priv; in nfp_flower_indr_block_cb_priv_lookup()
1863 return nfp_flower_repr_offload(priv->app, priv->netdev, in nfp_flower_setup_indr_block_cb()
1879 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
1884 struct nfp_flower_priv *priv = app->priv; in nfp_flower_setup_indr_tc_block()
1888 !nfp_flower_internal_port_can_offload(app, netdev)) || in nfp_flower_setup_indr_tc_block()
1890 nfp_flower_internal_port_can_offload(app, netdev))) in nfp_flower_setup_indr_tc_block()
1897 cb_priv = nfp_flower_indr_block_cb_priv_lookup(app, netdev); in nfp_flower_setup_indr_tc_block()
1909 cb_priv->app = app; in nfp_flower_setup_indr_tc_block()
1915 f, netdev, sch, data, app, cleanup); in nfp_flower_setup_indr_tc_block()
1926 cb_priv = nfp_flower_indr_block_cb_priv_lookup(app, netdev); in nfp_flower_setup_indr_tc_block()
1946 nfp_setup_tc_no_dev(struct nfp_app *app, enum tc_setup_type type, void *data) in nfp_setup_tc_no_dev() argument
1953 return nfp_setup_tc_act_offload(app, data); in nfp_setup_tc_no_dev()