Lines Matching refs:merge_flow

879 			struct nfp_fl_payload *merge_flow)  in nfp_flower_merge_action()  argument
899 merge_flow->meta.shortcut = cpu_to_be32(NFP_FL_SC_ACT_NULL); in nfp_flower_merge_action()
901 merge_flow->meta.shortcut = sub_flow2->meta.shortcut; in nfp_flower_merge_action()
903 merge_flow->meta.act_len = sub1_act_len + sub2_act_len; in nfp_flower_merge_action()
904 merge_act = merge_flow->action_data; in nfp_flower_merge_action()
946 merge_flow->meta.act_len -= sizeof(*post_tun_push_vlan); in nfp_flower_merge_action()
958 list_del(&link->merge_flow.list); in nfp_flower_unlink_flow()
963 static void nfp_flower_unlink_flows(struct nfp_fl_payload *merge_flow, in nfp_flower_unlink_flows() argument
968 list_for_each_entry(link, &merge_flow->linked_flows, merge_flow.list) in nfp_flower_unlink_flows()
975 static int nfp_flower_link_flows(struct nfp_fl_payload *merge_flow, in nfp_flower_link_flows() argument
984 link->merge_flow.flow = merge_flow; in nfp_flower_link_flows()
985 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
1028 merge_flow = nfp_flower_allocate_new(&merge_key_ls); in nfp_flower_merge_offloaded_flows()
1029 if (!merge_flow) in nfp_flower_merge_offloaded_flows()
1032 merge_flow->tc_flower_cookie = (unsigned long)merge_flow; in nfp_flower_merge_offloaded_flows()
1033 merge_flow->ingress_dev = sub_flow1->ingress_dev; in nfp_flower_merge_offloaded_flows()
1035 memcpy(merge_flow->unmasked_data, sub_flow1->unmasked_data, in nfp_flower_merge_offloaded_flows()
1037 memcpy(merge_flow->mask_data, sub_flow1->mask_data, in nfp_flower_merge_offloaded_flows()
1040 err = nfp_flower_merge_action(sub_flow1, sub_flow2, merge_flow); in nfp_flower_merge_offloaded_flows()
1044 err = nfp_flower_link_flows(merge_flow, sub_flow1); in nfp_flower_merge_offloaded_flows()
1048 err = nfp_flower_link_flows(merge_flow, sub_flow2); in nfp_flower_merge_offloaded_flows()
1052 merge_tc_off.cookie = merge_flow->tc_flower_cookie; in nfp_flower_merge_offloaded_flows()
1053 err = nfp_compile_flow_metadata(app, &merge_tc_off, merge_flow, in nfp_flower_merge_offloaded_flows()
1054 merge_flow->ingress_dev, extack); in nfp_flower_merge_offloaded_flows()
1058 err = rhashtable_insert_fast(&priv->flow_table, &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows()
1063 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_merge_offloaded_flows()
1068 merge_flow->in_hw = true; in nfp_flower_merge_offloaded_flows()
1075 &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows()
1078 nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_merge_offloaded_flows()
1080 nfp_flower_unlink_flows(merge_flow, sub_flow2); in nfp_flower_merge_offloaded_flows()
1082 nfp_flower_unlink_flows(merge_flow, sub_flow1); in nfp_flower_merge_offloaded_flows()
1084 kfree(merge_flow->action_data); in nfp_flower_merge_offloaded_flows()
1085 kfree(merge_flow->mask_data); in nfp_flower_merge_offloaded_flows()
1086 kfree(merge_flow->unmasked_data); in nfp_flower_merge_offloaded_flows()
1087 kfree(merge_flow); in nfp_flower_merge_offloaded_flows()
1340 struct nfp_fl_payload *merge_flow) in nfp_flower_remove_merge_flow() argument
1348 link = list_first_entry(&merge_flow->linked_flows, in nfp_flower_remove_merge_flow()
1349 struct nfp_fl_payload_link, merge_flow.list); in nfp_flower_remove_merge_flow()
1356 err = nfp_modify_flow_metadata(app, merge_flow); in nfp_flower_remove_merge_flow()
1363 err = nfp_flower_xmit_flow(app, merge_flow, in nfp_flower_remove_merge_flow()
1380 list_for_each_entry_safe(link, temp, &merge_flow->linked_flows, in nfp_flower_remove_merge_flow()
1381 merge_flow.list) in nfp_flower_remove_merge_flow()
1384 kfree(merge_flow->action_data); in nfp_flower_remove_merge_flow()
1385 kfree(merge_flow->mask_data); in nfp_flower_remove_merge_flow()
1386 kfree(merge_flow->unmasked_data); in nfp_flower_remove_merge_flow()
1388 &merge_flow->fl_node, in nfp_flower_remove_merge_flow()
1390 kfree_rcu(merge_flow, rcu); in nfp_flower_remove_merge_flow()
1403 link->merge_flow.flow); in nfp_flower_del_linked_merge_flows()
1475 struct nfp_fl_payload *merge_flow) in __nfp_flower_update_merge_stats() argument
1483 ctx_id = be32_to_cpu(merge_flow->meta.host_ctx_id); in __nfp_flower_update_merge_stats()
1499 list_for_each_entry(link, &merge_flow->linked_flows, merge_flow.list) { in __nfp_flower_update_merge_stats()
1517 __nfp_flower_update_merge_stats(app, link->merge_flow.flow); in nfp_flower_update_merge_stats()