Lines Matching defs:flow
12 struct nft_flow_rule *flow;
14 flow = kzalloc(sizeof(struct nft_flow_rule), GFP_KERNEL);
15 if (!flow)
18 flow->rule = flow_rule_alloc(num_actions);
19 if (!flow->rule) {
20 kfree(flow);
24 flow->rule->match.dissector = &flow->match.dissector;
25 flow->rule->match.mask = &flow->match.mask;
26 flow->rule->match.key = &flow->match.key;
28 return flow;
31 void nft_flow_rule_set_addr_type(struct nft_flow_rule *flow,
34 struct nft_flow_match *match = &flow->match;
54 struct nft_flow_rule *flow)
56 struct nft_flow_match *match = &flow->match;
92 struct nft_flow_rule *flow;
108 flow = nft_flow_rule_alloc(num_actions);
109 if (!flow)
127 err = expr->ops->offload(ctx, flow, expr);
133 nft_flow_rule_transfer_vlan(ctx, flow);
135 flow->proto = ctx->dep.l3num;
138 return flow;
141 nft_flow_rule_destroy(flow);
146 void nft_flow_rule_destroy(struct nft_flow_rule *flow)
151 flow_action_for_each(i, entry, &flow->rule->action) {
161 kfree(flow->rule);
162 kfree(flow);
245 const struct nft_flow_rule *flow,
253 if (flow)
254 proto = flow->proto;
260 if (flow)
261 cls_flow->rule = flow->rule;
266 struct nft_flow_rule *flow,
277 nft_flow_cls_offload_setup(cls_flow, basechain, rule, flow, &extack,
286 struct nft_flow_rule *flow,
291 return nft_flow_offload_cmd(chain, rule, flow, command, &cls_flow);