Lines Matching +full:key +full:- +full:release
12 void *key; member
16 struct flow_dissector_key_meta *key, *mask; member
20 struct flow_dissector_key_basic *key, *mask; member
24 struct flow_dissector_key_control *key, *mask; member
28 struct flow_dissector_key_eth_addrs *key, *mask; member
32 struct flow_dissector_key_vlan *key, *mask; member
36 struct flow_dissector_key_arp *key, *mask; member
40 struct flow_dissector_key_ipv4_addrs *key, *mask; member
44 struct flow_dissector_key_ipv6_addrs *key, *mask; member
48 struct flow_dissector_key_ip *key, *mask; member
52 struct flow_dissector_key_ports *key, *mask; member
56 struct flow_dissector_key_ports_range *key, *mask; member
60 struct flow_dissector_key_icmp *key, *mask; member
64 struct flow_dissector_key_tcp *key, *mask; member
68 struct flow_dissector_key_ipsec *key, *mask; member
72 struct flow_dissector_key_mpls *key, *mask; member
76 struct flow_dissector_key_keyid *key, *mask; member
80 struct flow_dissector_key_enc_opts *key, *mask; member
84 struct flow_dissector_key_ct *key, *mask; member
88 struct flow_dissector_key_pppoe *key, *mask; member
92 struct flow_dissector_key_l2tpv3 *key, *mask; member
219 FLOW_ACTION_HW_STATS_DONT_CARE = BIT(FLOW_ACTION_HW_STATS_NUM_BITS) - 1,
341 return action->num_entries; in flow_action_has_entries()
345 * flow_offload_has_one_action() - check if exactly one action is present
352 return action->num_entries == 1; in flow_offload_has_one_action()
358 return entry == &action->entries[action->num_entries - 1]; in flow_action_is_last_entry()
362 for (__i = 0, __act = &(__actions)->entries[0]; \
363 __i < (__actions)->num_entries; \
364 __act = &(__actions)->entries[++__i])
378 if (i && action_entry->hw_stats != last_hw_stats) { in flow_action_mixed_hw_stats_check()
382 last_hw_stats = action_entry->hw_stats; in flow_action_mixed_hw_stats_check()
391 return &action->entries[0]; in flow_action_first_entry_get()
410 WARN_ON_ONCE(!action_entry->hw_stats); in __flow_action_hw_stats_check()
413 ~action_entry->hw_stats & FLOW_ACTION_HW_STATS_ANY) { in __flow_action_hw_stats_check()
417 !(action_entry->hw_stats & BIT(allow_bit))) { in __flow_action_hw_stats_check()
447 enum flow_dissector_key_id key) in flow_rule_match_key() argument
449 return dissector_uses_key(rule->match.dissector, key); in flow_rule_match_key()
453 * flow_rule_is_supp_control_flags() - check for supported control flags
475 * flow_rule_is_supp_enc_control_flags() - check for supported control flags
497 * flow_rule_has_control_flags() - check for presence of any control flags
510 * flow_rule_has_enc_control_flags() - check for presence of any control flags
523 * flow_rule_match_has_control_flags() - match and check for any control flags
539 return flow_rule_has_control_flags(match.mask->flags, extack); in flow_rule_match_has_control_flags()
556 flow_stats->pkts += pkts; in flow_stats_update()
557 flow_stats->bytes += bytes; in flow_stats_update()
558 flow_stats->drops += drops; in flow_stats_update()
559 flow_stats->lastused = max_t(u64, flow_stats->lastused, lastused); in flow_stats_update()
565 flow_stats->used_hw_stats |= used_hw_stats; in flow_stats_update()
566 flow_stats->used_hw_stats_valid = true; in flow_stats_update()
624 void (*release)(void *cb_priv); member
631 void (*release)(void *cb_priv));
634 void (*release)(void *cb_priv),
652 list_add_tail(&block_cb->list, &offload->cb_list); in flow_block_cb_add()
658 list_move(&block_cb->list, &offload->cb_list); in flow_block_cb_remove()
664 list_del(&block_cb->indr.list); in flow_indr_block_cb_remove()
665 list_move(&block_cb->list, &offload->cb_list); in flow_indr_block_cb_remove()
722 return flow_cmd->rule; in flow_cls_offload_flow_rule()
727 INIT_LIST_HEAD(&flow_block->cb_list); in flow_block_init()
737 void (*release)(void *cb_priv));