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()
1337 struct nfp_fl_payload *flow_pay; in nfp_flower_add_offload() local
1364 flow_pay = nfp_flower_allocate_new(key_layer); in nfp_flower_add_offload()
1365 if (!flow_pay) { in nfp_flower_add_offload()
1371 flow_pay, tun_type, extack); in nfp_flower_add_offload()
1375 err = nfp_flower_compile_action(app, rule, netdev, flow_pay, extack); in nfp_flower_add_offload()
1379 if (flow_pay->pre_tun_rule.dev) { in nfp_flower_add_offload()
1380 err = nfp_flower_validate_pre_tun_rule(app, flow_pay, key_layer, extack); in nfp_flower_add_offload()
1385 err = nfp_compile_flow_metadata(app, flow->cookie, flow_pay, netdev, extack); in nfp_flower_add_offload()
1389 flow_pay->tc_flower_cookie = flow->cookie; in nfp_flower_add_offload()
1390 err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, in nfp_flower_add_offload()
1397 if (flow_pay->pre_tun_rule.dev) { in nfp_flower_add_offload()
1406 predt->flow_pay = flow_pay; in nfp_flower_add_offload()
1410 flow_pay->pre_tun_rule.predt = predt; in nfp_flower_add_offload()
1414 err = nfp_flower_xmit_pre_tun_flow(app, flow_pay); in nfp_flower_add_offload()
1417 err = nfp_flower_xmit_flow(app, flow_pay, in nfp_flower_add_offload()
1427 flow_pay->in_hw = true; in nfp_flower_add_offload()
1436 &flow_pay->fl_node, in nfp_flower_add_offload()
1439 nfp_modify_flow_metadata(app, flow_pay); in nfp_flower_add_offload()
1441 if (flow_pay->nfp_tun_ipv6) in nfp_flower_add_offload()
1442 nfp_tunnel_put_ipv6_off(app, flow_pay->nfp_tun_ipv6); in nfp_flower_add_offload()
1443 kfree(flow_pay->action_data); in nfp_flower_add_offload()
1444 kfree(flow_pay->mask_data); in nfp_flower_add_offload()
1445 kfree(flow_pay->unmasked_data); in nfp_flower_add_offload()
1446 kfree(flow_pay); in nfp_flower_add_offload()