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()
1555 struct nfp_fl_payload *nfp_flow; in nfp_flower_del_offload() local
1571 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_del_offload()
1572 if (!nfp_flow) { in nfp_flower_del_offload()
1577 err = nfp_modify_flow_metadata(app, nfp_flow); in nfp_flower_del_offload()
1581 if (nfp_flow->nfp_tun_ipv4_addr) in nfp_flower_del_offload()
1582 nfp_tunnel_del_ipv4_off(app, nfp_flow->nfp_tun_ipv4_addr); in nfp_flower_del_offload()
1584 if (nfp_flow->nfp_tun_ipv6) in nfp_flower_del_offload()
1585 nfp_tunnel_put_ipv6_off(app, nfp_flow->nfp_tun_ipv6); in nfp_flower_del_offload()
1587 if (!nfp_flow->in_hw) { in nfp_flower_del_offload()
1592 if (nfp_flow->pre_tun_rule.dev) { in nfp_flower_del_offload()
1596 predt = nfp_flow->pre_tun_rule.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()
1617 kfree(nfp_flow->action_data); in nfp_flower_del_offload()
1618 kfree(nfp_flow->mask_data); in nfp_flower_del_offload()
1619 kfree(nfp_flow->unmasked_data); in nfp_flower_del_offload()
1621 &nfp_flow->fl_node, in nfp_flower_del_offload()
1623 kfree_rcu(nfp_flow, rcu); in nfp_flower_del_offload()
1692 struct nfp_fl_payload *nfp_flow; in nfp_flower_get_stats() local
1702 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_get_stats()
1703 if (!nfp_flow) { in nfp_flower_get_stats()
1708 ctx_id = be32_to_cpu(nfp_flow->meta.host_ctx_id); in nfp_flower_get_stats()
1712 if (!list_empty(&nfp_flow->linked_flows)) in nfp_flower_get_stats()
1713 nfp_flower_update_merge_stats(app, nfp_flow); in nfp_flower_get_stats()