Lines Matching refs:nfp_flow
92 nfp_flower_xmit_flow(struct nfp_app *app, struct nfp_fl_payload *nfp_flow, in nfp_flower_xmit_flow() argument
100 key_len = nfp_flow->meta.key_len; in nfp_flower_xmit_flow()
101 mask_len = nfp_flow->meta.mask_len; in nfp_flower_xmit_flow()
102 act_len = nfp_flow->meta.act_len; in nfp_flower_xmit_flow()
109 nfp_flow->meta.key_len >>= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
110 nfp_flow->meta.mask_len >>= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
111 nfp_flow->meta.act_len >>= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
118 memcpy(msg, &nfp_flow->meta, meta_len); in nfp_flower_xmit_flow()
119 memcpy(&msg[meta_len], nfp_flow->unmasked_data, key_len); in nfp_flower_xmit_flow()
120 memcpy(&msg[meta_len + key_len], nfp_flow->mask_data, mask_len); in nfp_flower_xmit_flow()
122 nfp_flow->action_data, act_len); in nfp_flower_xmit_flow()
127 nfp_flow->meta.key_len <<= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
128 nfp_flow->meta.mask_len <<= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
129 nfp_flow->meta.act_len <<= NFP_FL_LW_SIZ; in nfp_flower_xmit_flow()
1423 struct nfp_fl_payload *nfp_flow; in nfp_flower_del_offload() local
1431 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_del_offload()
1432 if (!nfp_flow) { in nfp_flower_del_offload()
1437 err = nfp_modify_flow_metadata(app, nfp_flow); in nfp_flower_del_offload()
1441 if (nfp_flow->nfp_tun_ipv4_addr) in nfp_flower_del_offload()
1442 nfp_tunnel_del_ipv4_off(app, nfp_flow->nfp_tun_ipv4_addr); in nfp_flower_del_offload()
1444 if (nfp_flow->nfp_tun_ipv6) in nfp_flower_del_offload()
1445 nfp_tunnel_put_ipv6_off(app, nfp_flow->nfp_tun_ipv6); in nfp_flower_del_offload()
1447 if (!nfp_flow->in_hw) { in nfp_flower_del_offload()
1452 if (nfp_flow->pre_tun_rule.dev) 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()
1463 kfree(nfp_flow->action_data); in nfp_flower_del_offload()
1464 kfree(nfp_flow->mask_data); in nfp_flower_del_offload()
1465 kfree(nfp_flow->unmasked_data); in nfp_flower_del_offload()
1467 &nfp_flow->fl_node, in nfp_flower_del_offload()
1469 kfree_rcu(nfp_flow, rcu); in nfp_flower_del_offload()
1537 struct nfp_fl_payload *nfp_flow; in nfp_flower_get_stats() local
1541 nfp_flow = nfp_flower_search_fl_table(app, flow->cookie, netdev); in nfp_flower_get_stats()
1542 if (!nfp_flow) { in nfp_flower_get_stats()
1547 ctx_id = be32_to_cpu(nfp_flow->meta.host_ctx_id); in nfp_flower_get_stats()
1551 if (!list_empty(&nfp_flow->linked_flows)) in nfp_flower_get_stats()
1552 nfp_flower_update_merge_stats(app, nfp_flow); in nfp_flower_get_stats()