Lines Matching refs:nfp_flow
95 nfp_flower_xmit_flow(struct nfp_app *app, struct nfp_fl_payload *nfp_flow, in nfp_flower_xmit_flow() argument
103 key_len = nfp_flow->meta.key_len; in nfp_flower_xmit_flow()
104 mask_len = nfp_flow->meta.mask_len; in nfp_flower_xmit_flow()
105 act_len = nfp_flow->meta.act_len; in nfp_flower_xmit_flow()
112 nfp_flow->meta.key_len >>= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
113 nfp_flow->meta.mask_len >>= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
114 nfp_flow->meta.act_len >>= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
121 memcpy(msg, &nfp_flow->meta, meta_len); in nfp_flower_xmit_flow()
122 memcpy(&msg[meta_len], nfp_flow->unmasked_data, key_len); in nfp_flower_xmit_flow()
123 memcpy(&msg[meta_len + key_len], nfp_flow->mask_data, mask_len); in nfp_flower_xmit_flow()
125 nfp_flow->action_data, act_len); in nfp_flower_xmit_flow()
130 nfp_flow->meta.key_len <<= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
131 nfp_flow->meta.mask_len <<= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
132 nfp_flow->meta.act_len <<= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
1553 struct nfp_fl_payload *nfp_flow; in nfp_flower_del_offload() local
1569 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_del_offload()
1570 if (!nfp_flow) { in nfp_flower_del_offload()
1575 err = nfp_modify_flow_metadata(app, nfp_flow); in nfp_flower_del_offload()
1579 if (nfp_flow->nfp_tun_ipv4_addr) in nfp_flower_del_offload()
1580 nfp_tunnel_del_ipv4_off(app, nfp_flow->nfp_tun_ipv4_addr); in nfp_flower_del_offload()
1582 if (nfp_flow->nfp_tun_ipv6) in nfp_flower_del_offload()
1583 nfp_tunnel_put_ipv6_off(app, nfp_flow->nfp_tun_ipv6); in nfp_flower_del_offload()
1585 if (!nfp_flow->in_hw) { in nfp_flower_del_offload()
1590 if (nfp_flow->pre_tun_rule.dev) { in nfp_flower_del_offload()
1594 predt = nfp_flow->pre_tun_rule.predt; in nfp_flower_del_offload()
1603 err = nfp_flower_xmit_pre_tun_del_flow(app, nfp_flow); in nfp_flower_del_offload()
1606 err = nfp_flower_xmit_flow(app, nfp_flow, in nfp_flower_del_offload()
1612 nfp_flower_del_linked_merge_flows(app, nfp_flow); in nfp_flower_del_offload()
1615 kfree(nfp_flow->action_data); in nfp_flower_del_offload()
1616 kfree(nfp_flow->mask_data); in nfp_flower_del_offload()
1617 kfree(nfp_flow->unmasked_data); in nfp_flower_del_offload()
1619 &nfp_flow->fl_node, in nfp_flower_del_offload()
1621 kfree_rcu(nfp_flow, rcu); in nfp_flower_del_offload()
1690 struct nfp_fl_payload *nfp_flow; in nfp_flower_get_stats() local
1700 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_get_stats()
1701 if (!nfp_flow) { in nfp_flower_get_stats()
1706 ctx_id = be32_to_cpu(nfp_flow->meta.host_ctx_id); in nfp_flower_get_stats()
1710 if (!list_empty(&nfp_flow->linked_flows)) in nfp_flower_get_stats()
1711 nfp_flower_update_merge_stats(app, nfp_flow); in nfp_flower_get_stats()