Lines Matching refs:merge_flow

877 			struct nfp_fl_payload *merge_flow)  in nfp_flower_merge_action()  argument
897 merge_flow->meta.shortcut = cpu_to_be32(NFP_FL_SC_ACT_NULL); in nfp_flower_merge_action()
899 merge_flow->meta.shortcut = sub_flow2->meta.shortcut; in nfp_flower_merge_action()
901 merge_flow->meta.act_len = sub1_act_len + sub2_act_len; in nfp_flower_merge_action()
902 merge_act = merge_flow->action_data; in nfp_flower_merge_action()
944 merge_flow->meta.act_len -= sizeof(*post_tun_push_vlan); in nfp_flower_merge_action()
956 list_del(&link->merge_flow.list); in nfp_flower_unlink_flow()
961 static void nfp_flower_unlink_flows(struct nfp_fl_payload *merge_flow, in nfp_flower_unlink_flows() argument
966 list_for_each_entry(link, &merge_flow->linked_flows, merge_flow.list) in nfp_flower_unlink_flows()
973 static int nfp_flower_link_flows(struct nfp_fl_payload *merge_flow, in nfp_flower_link_flows() argument
982 link->merge_flow.flow = merge_flow; in nfp_flower_link_flows()
983 list_add_tail(&link->merge_flow.list, &merge_flow->linked_flows); in nfp_flower_link_flows()
1006 struct nfp_fl_payload *merge_flow; in nfp_flower_merge_offloaded_flows() local
1034 merge_flow = nfp_flower_allocate_new(&merge_key_ls); in nfp_flower_merge_offloaded_flows()
1035 if (!merge_flow) in nfp_flower_merge_offloaded_flows()
1038 merge_flow->tc_flower_cookie = (unsigned long)merge_flow; in nfp_flower_merge_offloaded_flows()
1039 merge_flow->ingress_dev = sub_flow1->ingress_dev; in nfp_flower_merge_offloaded_flows()
1041 memcpy(merge_flow->unmasked_data, sub_flow1->unmasked_data, in nfp_flower_merge_offloaded_flows()
1043 memcpy(merge_flow->mask_data, sub_flow1->mask_data, in nfp_flower_merge_offloaded_flows()
1046 err = nfp_flower_merge_action(sub_flow1, sub_flow2, merge_flow); in nfp_flower_merge_offloaded_flows()
1050 err = nfp_flower_link_flows(merge_flow, sub_flow1); in nfp_flower_merge_offloaded_flows()
1054 err = nfp_flower_link_flows(merge_flow, sub_flow2); 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()
1059 merge_flow->ingress_dev, NULL); in nfp_flower_merge_offloaded_flows()
1063 err = rhashtable_insert_fast(&priv->flow_table, &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows()
1079 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_merge_offloaded_flows()
1084 merge_flow->in_hw = true; in nfp_flower_merge_offloaded_flows()
1097 &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows()
1100 nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_merge_offloaded_flows()
1102 nfp_flower_unlink_flows(merge_flow, sub_flow2); in nfp_flower_merge_offloaded_flows()
1104 nfp_flower_unlink_flows(merge_flow, sub_flow1); in nfp_flower_merge_offloaded_flows()
1106 kfree(merge_flow->action_data); in nfp_flower_merge_offloaded_flows()
1107 kfree(merge_flow->mask_data); in nfp_flower_merge_offloaded_flows()
1108 kfree(merge_flow->unmasked_data); in nfp_flower_merge_offloaded_flows()
1109 kfree(merge_flow); in nfp_flower_merge_offloaded_flows()
1404 struct nfp_fl_payload *merge_flow) in nfp_flower_remove_merge_flow() argument
1414 link = list_first_entry(&merge_flow->linked_flows, in nfp_flower_remove_merge_flow()
1415 struct nfp_fl_payload_link, merge_flow.list); in nfp_flower_remove_merge_flow()
1422 err = nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_remove_merge_flow()
1429 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_remove_merge_flow()
1446 list_for_each_entry_safe(link, temp, &merge_flow->linked_flows, in nfp_flower_remove_merge_flow()
1447 merge_flow.list) { in nfp_flower_remove_merge_flow()
1464 kfree(merge_flow->action_data); in nfp_flower_remove_merge_flow()
1465 kfree(merge_flow->mask_data); in nfp_flower_remove_merge_flow()
1466 kfree(merge_flow->unmasked_data); in nfp_flower_remove_merge_flow()
1468 &merge_flow->fl_node, in nfp_flower_remove_merge_flow()
1470 kfree_rcu(merge_flow, rcu); in nfp_flower_remove_merge_flow()
1483 link->merge_flow.flow); in nfp_flower_del_linked_merge_flows()
1564 struct nfp_fl_payload *merge_flow) in __nfp_flower_update_merge_stats() argument
1572 ctx_id = be32_to_cpu(merge_flow->meta.host_ctx_id); in __nfp_flower_update_merge_stats()
1588 list_for_each_entry(link, &merge_flow->linked_flows, merge_flow.list) { in __nfp_flower_update_merge_stats()
1606 __nfp_flower_update_merge_stats(app, link->merge_flow.flow); in nfp_flower_update_merge_stats()