Lines Matching refs:flow_pay

546 	struct nfp_fl_payload *flow_pay;  in nfp_flower_allocate_new()  local
548 flow_pay = kmalloc(sizeof(*flow_pay), GFP_KERNEL); in nfp_flower_allocate_new()
549 if (!flow_pay) in nfp_flower_allocate_new()
552 flow_pay->meta.key_len = key_layer->key_size; in nfp_flower_allocate_new()
553 flow_pay->unmasked_data = kmalloc(key_layer->key_size, GFP_KERNEL); in nfp_flower_allocate_new()
554 if (!flow_pay->unmasked_data) in nfp_flower_allocate_new()
557 flow_pay->meta.mask_len = key_layer->key_size; in nfp_flower_allocate_new()
558 flow_pay->mask_data = kmalloc(key_layer->key_size, GFP_KERNEL); in nfp_flower_allocate_new()
559 if (!flow_pay->mask_data) in nfp_flower_allocate_new()
562 flow_pay->action_data = kmalloc(NFP_FL_MAX_A_SIZ, GFP_KERNEL); in nfp_flower_allocate_new()
563 if (!flow_pay->action_data) in nfp_flower_allocate_new()
566 flow_pay->nfp_tun_ipv4_addr = 0; in nfp_flower_allocate_new()
567 flow_pay->nfp_tun_ipv6 = NULL; in nfp_flower_allocate_new()
568 flow_pay->meta.flags = 0; in nfp_flower_allocate_new()
569 INIT_LIST_HEAD(&flow_pay->linked_flows); in nfp_flower_allocate_new()
570 flow_pay->in_hw = false; in nfp_flower_allocate_new()
571 flow_pay->pre_tun_rule.dev = NULL; in nfp_flower_allocate_new()
573 return flow_pay; in nfp_flower_allocate_new()
576 kfree(flow_pay->mask_data); in nfp_flower_allocate_new()
578 kfree(flow_pay->unmasked_data); in nfp_flower_allocate_new()
580 kfree(flow_pay); in nfp_flower_allocate_new()
1305 struct nfp_fl_payload *flow_pay; in nfp_flower_add_offload() local
1332 flow_pay = nfp_flower_allocate_new(key_layer); in nfp_flower_add_offload()
1333 if (!flow_pay) { in nfp_flower_add_offload()
1339 flow_pay, tun_type, extack); in nfp_flower_add_offload()
1343 err = nfp_flower_compile_action(app, rule, netdev, flow_pay, extack); in nfp_flower_add_offload()
1347 if (flow_pay->pre_tun_rule.dev) { in nfp_flower_add_offload()
1348 err = nfp_flower_validate_pre_tun_rule(app, flow_pay, key_layer, extack); in nfp_flower_add_offload()
1353 err = nfp_compile_flow_metadata(app, flow->cookie, flow_pay, netdev, extack); in nfp_flower_add_offload()
1357 flow_pay->tc_flower_cookie = flow->cookie; in nfp_flower_add_offload()
1358 err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, in nfp_flower_add_offload()
1365 if (flow_pay->pre_tun_rule.dev) in nfp_flower_add_offload()
1366 err = nfp_flower_xmit_pre_tun_flow(app, flow_pay); in nfp_flower_add_offload()
1368 err = nfp_flower_xmit_flow(app, flow_pay, in nfp_flower_add_offload()
1376 flow_pay->in_hw = true; in nfp_flower_add_offload()
1385 &flow_pay->fl_node, in nfp_flower_add_offload()
1388 nfp_modify_flow_metadata(app, flow_pay); in nfp_flower_add_offload()
1390 if (flow_pay->nfp_tun_ipv6) in nfp_flower_add_offload()
1391 nfp_tunnel_put_ipv6_off(app, flow_pay->nfp_tun_ipv6); in nfp_flower_add_offload()
1392 kfree(flow_pay->action_data); in nfp_flower_add_offload()
1393 kfree(flow_pay->mask_data); in nfp_flower_add_offload()
1394 kfree(flow_pay->unmasked_data); in nfp_flower_add_offload()
1395 kfree(flow_pay); in nfp_flower_add_offload()