Lines Matching refs:match
24 flow->rule->match.dissector = &flow->match.dissector; in nft_flow_rule_alloc()
25 flow->rule->match.mask = &flow->match.mask; in nft_flow_rule_alloc()
26 flow->rule->match.key = &flow->match.key; in nft_flow_rule_alloc()
34 struct nft_flow_match *match = &flow->match; in nft_flow_rule_set_addr_type() local
35 struct nft_flow_key *mask = &match->mask; in nft_flow_rule_set_addr_type()
36 struct nft_flow_key *key = &match->key; in nft_flow_rule_set_addr_type()
38 if (match->dissector.used_keys & BIT_ULL(FLOW_DISSECTOR_KEY_CONTROL)) in nft_flow_rule_set_addr_type()
43 match->dissector.used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_CONTROL); in nft_flow_rule_set_addr_type()
44 match->dissector.offset[FLOW_DISSECTOR_KEY_CONTROL] = in nft_flow_rule_set_addr_type()
56 struct nft_flow_match *match = &flow->match; in nft_flow_rule_transfer_vlan() local
58 .value = match->key.basic.n_proto, in nft_flow_rule_transfer_vlan()
59 .mask = match->mask.basic.n_proto, in nft_flow_rule_transfer_vlan()
62 if (match->dissector.used_keys & BIT_ULL(FLOW_DISSECTOR_KEY_VLAN) && in nft_flow_rule_transfer_vlan()
63 (match->key.vlan.vlan_tpid == htons(ETH_P_8021Q) || in nft_flow_rule_transfer_vlan()
64 match->key.vlan.vlan_tpid == htons(ETH_P_8021AD))) { in nft_flow_rule_transfer_vlan()
65 match->key.basic.n_proto = match->key.cvlan.vlan_tpid; in nft_flow_rule_transfer_vlan()
66 match->mask.basic.n_proto = match->mask.cvlan.vlan_tpid; in nft_flow_rule_transfer_vlan()
67 match->key.cvlan.vlan_tpid = match->key.vlan.vlan_tpid; in nft_flow_rule_transfer_vlan()
68 match->mask.cvlan.vlan_tpid = match->mask.vlan.vlan_tpid; in nft_flow_rule_transfer_vlan()
69 match->key.vlan.vlan_tpid = ethertype.value; in nft_flow_rule_transfer_vlan()
70 match->mask.vlan.vlan_tpid = ethertype.mask; in nft_flow_rule_transfer_vlan()
71 match->dissector.offset[FLOW_DISSECTOR_KEY_CVLAN] = in nft_flow_rule_transfer_vlan()
73 match->dissector.used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_CVLAN); in nft_flow_rule_transfer_vlan()
74 } else if (match->dissector.used_keys & in nft_flow_rule_transfer_vlan()
76 (match->key.basic.n_proto == htons(ETH_P_8021Q) || in nft_flow_rule_transfer_vlan()
77 match->key.basic.n_proto == htons(ETH_P_8021AD))) { in nft_flow_rule_transfer_vlan()
78 match->key.basic.n_proto = match->key.vlan.vlan_tpid; in nft_flow_rule_transfer_vlan()
79 match->mask.basic.n_proto = match->mask.vlan.vlan_tpid; in nft_flow_rule_transfer_vlan()
80 match->key.vlan.vlan_tpid = ethertype.value; in nft_flow_rule_transfer_vlan()
81 match->mask.vlan.vlan_tpid = ethertype.mask; in nft_flow_rule_transfer_vlan()
82 match->dissector.offset[FLOW_DISSECTOR_KEY_VLAN] = in nft_flow_rule_transfer_vlan()
84 match->dissector.used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_VLAN); in nft_flow_rule_transfer_vlan()