Lines Matching refs:merge_flow

881 			struct nfp_fl_payload *merge_flow)  in nfp_flower_merge_action()  argument
901 merge_flow->meta.shortcut = cpu_to_be32(NFP_FL_SC_ACT_NULL); in nfp_flower_merge_action()
903 merge_flow->meta.shortcut = sub_flow2->meta.shortcut; in nfp_flower_merge_action()
905 merge_flow->meta.act_len = sub1_act_len + sub2_act_len; in nfp_flower_merge_action()
906 merge_act = merge_flow->action_data; in nfp_flower_merge_action()
948 merge_flow->meta.act_len -= sizeof(*post_tun_push_vlan); in nfp_flower_merge_action()
960 list_del(&link->merge_flow.list); in nfp_flower_unlink_flow()
965 static void nfp_flower_unlink_flows(struct nfp_fl_payload *merge_flow, in nfp_flower_unlink_flows() argument
970 list_for_each_entry(link, &merge_flow->linked_flows, merge_flow.list) in nfp_flower_unlink_flows()
977 static int nfp_flower_link_flows(struct nfp_fl_payload *merge_flow, in nfp_flower_link_flows() argument
986 link->merge_flow.flow = merge_flow; in nfp_flower_link_flows()
987 list_add_tail(&link->merge_flow.list, &merge_flow->linked_flows); in nfp_flower_link_flows()
1010 struct nfp_fl_payload *merge_flow; in nfp_flower_merge_offloaded_flows() local
1036 merge_flow = nfp_flower_allocate_new(&merge_key_ls); in nfp_flower_merge_offloaded_flows()
1037 if (!merge_flow) in nfp_flower_merge_offloaded_flows()
1040 merge_flow->tc_flower_cookie = (unsigned long)merge_flow; in nfp_flower_merge_offloaded_flows()
1041 merge_flow->ingress_dev = sub_flow1->ingress_dev; in nfp_flower_merge_offloaded_flows()
1043 memcpy(merge_flow->unmasked_data, sub_flow1->unmasked_data, in nfp_flower_merge_offloaded_flows()
1045 memcpy(merge_flow->mask_data, sub_flow1->mask_data, in nfp_flower_merge_offloaded_flows()
1048 err = nfp_flower_merge_action(sub_flow1, sub_flow2, merge_flow); in nfp_flower_merge_offloaded_flows()
1052 err = nfp_flower_link_flows(merge_flow, sub_flow1); in nfp_flower_merge_offloaded_flows()
1056 err = nfp_flower_link_flows(merge_flow, sub_flow2); 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()
1061 merge_flow->ingress_dev, NULL); in nfp_flower_merge_offloaded_flows()
1065 err = rhashtable_insert_fast(&priv->flow_table, &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows()
1081 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_merge_offloaded_flows()
1086 merge_flow->in_hw = true; in nfp_flower_merge_offloaded_flows()
1099 &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows()
1102 nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_merge_offloaded_flows()
1104 nfp_flower_unlink_flows(merge_flow, sub_flow2); in nfp_flower_merge_offloaded_flows()
1106 nfp_flower_unlink_flows(merge_flow, sub_flow1); in nfp_flower_merge_offloaded_flows()
1108 kfree(merge_flow->action_data); in nfp_flower_merge_offloaded_flows()
1109 kfree(merge_flow->mask_data); in nfp_flower_merge_offloaded_flows()
1110 kfree(merge_flow->unmasked_data); in nfp_flower_merge_offloaded_flows()
1111 kfree(merge_flow); in nfp_flower_merge_offloaded_flows()
1457 struct nfp_fl_payload *merge_flow) in nfp_flower_remove_merge_flow() argument
1467 link = list_first_entry(&merge_flow->linked_flows, in nfp_flower_remove_merge_flow()
1468 struct nfp_fl_payload_link, merge_flow.list); in nfp_flower_remove_merge_flow()
1475 err = nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_remove_merge_flow()
1482 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_remove_merge_flow()
1499 list_for_each_entry_safe(link, temp, &merge_flow->linked_flows, in nfp_flower_remove_merge_flow()
1500 merge_flow.list) { in nfp_flower_remove_merge_flow()
1517 kfree(merge_flow->action_data); in nfp_flower_remove_merge_flow()
1518 kfree(merge_flow->mask_data); in nfp_flower_remove_merge_flow()
1519 kfree(merge_flow->unmasked_data); in nfp_flower_remove_merge_flow()
1521 &merge_flow->fl_node, in nfp_flower_remove_merge_flow()
1523 kfree_rcu(merge_flow, rcu); in nfp_flower_remove_merge_flow()
1536 link->merge_flow.flow); in nfp_flower_del_linked_merge_flows()
1631 struct nfp_fl_payload *merge_flow) in __nfp_flower_update_merge_stats() argument
1639 ctx_id = be32_to_cpu(merge_flow->meta.host_ctx_id); in __nfp_flower_update_merge_stats()
1655 list_for_each_entry(link, &merge_flow->linked_flows, merge_flow.list) { in __nfp_flower_update_merge_stats()
1673 __nfp_flower_update_merge_stats(app, link->merge_flow.flow); in nfp_flower_update_merge_stats()