Lines Matching refs:key
90 sizeof((match)->key->field), is_mask); \
92 (match)->mask->key.field = value; \
94 (match)->key->field = value; \
101 memcpy((u8 *)&(match)->mask->key + offset, value_p, \
104 memcpy((u8 *)(match)->key + offset, value_p, len); \
114 sizeof((match)->key->field), is_mask); \
116 memset((u8 *)&(match)->mask->key.field, value, \
117 sizeof((match)->mask->key.field)); \
119 memset((u8 *)&(match)->key->field, value, \
120 sizeof((match)->key->field)); \
149 if (match->key->eth.type == htons(ETH_P_ARP) in match_validate()
150 || match->key->eth.type == htons(ETH_P_RARP)) { in match_validate()
152 if (match->mask && (match->mask->key.eth.type == htons(0xffff))) in match_validate()
156 if (eth_p_mpls(match->key->eth.type)) { in match_validate()
158 if (match->mask && (match->mask->key.eth.type == htons(0xffff))) in match_validate()
162 if (match->key->eth.type == htons(ETH_P_IP)) { in match_validate()
164 if (match->mask && (match->mask->key.eth.type == htons(0xffff))) in match_validate()
167 if (match->key->ip.frag != OVS_FRAG_TYPE_LATER) { in match_validate()
168 if (match->key->ip.proto == IPPROTO_UDP) { in match_validate()
170 if (match->mask && (match->mask->key.ip.proto == 0xff)) in match_validate()
174 if (match->key->ip.proto == IPPROTO_SCTP) { in match_validate()
176 if (match->mask && (match->mask->key.ip.proto == 0xff)) in match_validate()
180 if (match->key->ip.proto == IPPROTO_TCP) { in match_validate()
183 if (match->mask && (match->mask->key.ip.proto == 0xff)) { in match_validate()
189 if (match->key->ip.proto == IPPROTO_ICMP) { in match_validate()
191 if (match->mask && (match->mask->key.ip.proto == 0xff)) in match_validate()
197 if (match->key->eth.type == htons(ETH_P_IPV6)) { in match_validate()
199 if (match->mask && (match->mask->key.eth.type == htons(0xffff))) in match_validate()
202 if (match->key->ip.frag != OVS_FRAG_TYPE_LATER) { in match_validate()
203 if (match->key->ip.proto == IPPROTO_UDP) { in match_validate()
205 if (match->mask && (match->mask->key.ip.proto == 0xff)) in match_validate()
209 if (match->key->ip.proto == IPPROTO_SCTP) { in match_validate()
211 if (match->mask && (match->mask->key.ip.proto == 0xff)) in match_validate()
215 if (match->key->ip.proto == IPPROTO_TCP) { in match_validate()
218 if (match->mask && (match->mask->key.ip.proto == 0xff)) { in match_validate()
224 if (match->key->ip.proto == IPPROTO_ICMPV6) { in match_validate()
226 if (match->mask && (match->mask->key.ip.proto == 0xff)) in match_validate()
229 if (match->key->tp.src == in match_validate()
231 match->key->tp.src == htons(NDISC_NEIGHBOUR_ADVERTISEMENT)) { in match_validate()
233 if (match->mask && (match->mask->key.tp.src == htons(0xff))) in match_validate()
446 if (nla_len(a) > sizeof(match->key->tun_opts)) { in genev_tun_opt_from_nlattr()
448 nla_len(a), sizeof(match->key->tun_opts)); in genev_tun_opt_from_nlattr()
476 if (match->key->tun_opts_len != nla_len(a)) { in genev_tun_opt_from_nlattr()
478 match->key->tun_opts_len, nla_len(a)); in genev_tun_opt_from_nlattr()
500 BUILD_BUG_ON(sizeof(opts) > sizeof(match->key->tun_opts)); in vxlan_tun_opt_from_nlattr()
682 if (ipv4 && !match->key->tun_key.u.ipv4.dst) { in ip_tun_from_nlattr()
686 if (ipv6 && ipv6_addr_any(&match->key->tun_key.u.ipv6.dst)) { in ip_tun_from_nlattr()
804 return __ip_tun_to_nlattr(skb, &tun_info->key, in ovs_nla_put_tunnel_info()
1012 sizeof(match->key->ipv6.addr.src), in ovs_key_from_nlattrs()
1016 sizeof(match->key->ipv6.addr.dst), in ovs_key_from_nlattrs()
1118 sizeof(match->key->ipv6.nd.target), in ovs_key_from_nlattrs()
1255 if (match->key->tun_proto) in ovs_nla_get_match()
1353 const struct sw_flow_key *key, bool log) in ovs_nla_get_identifier() argument
1364 memcpy(new_key, key, sizeof(*key)); in ovs_nla_get_identifier()
1391 struct sw_flow_key *key, in ovs_nla_get_flow_metadata() argument
1404 match.key = key; in ovs_nla_get_flow_metadata()
1406 memset(&key->ct, 0, sizeof(key->ct)); in ovs_nla_get_flow_metadata()
1407 key->phy.in_port = DP_MAX_PORTS; in ovs_nla_get_flow_metadata()
1662 return ovs_nla_put_key(&flow->key, &flow->key, in ovs_nla_put_masked_key()
1669 return ovs_nla_put_key(&flow->key, &flow->mask->key, in ovs_nla_put_mask()
1827 const struct sw_flow_key *key,
1832 const struct sw_flow_key *key, int depth, in validate_and_copy_sample() argument
1871 err = __ovs_nla_copy_actions(net, actions, key, depth + 1, sfa, in validate_and_copy_sample()
1883 struct sw_flow_key *key, in ovs_match_init() argument
1887 match->key = key; in ovs_match_init()
1890 memset(key, 0, sizeof(*key)); in ovs_match_init()
1893 memset(&mask->key, 0, sizeof(mask->key)); in ovs_match_init()
1898 static int validate_geneve_opts(struct sw_flow_key *key) in validate_geneve_opts() argument
1901 int opts_len = key->tun_opts_len; in validate_geneve_opts()
1904 option = (struct geneve_opt *)TUN_METADATA_OPTS(key, key->tun_opts_len); in validate_geneve_opts()
1921 key->tun_key.tun_flags |= crit_opt ? TUNNEL_CRIT_OPT : 0; in validate_geneve_opts()
1930 struct sw_flow_key key; in validate_and_copy_set_tun() local
1937 ovs_match_init(&match, &key, NULL); in validate_and_copy_set_tun()
1942 if (key.tun_opts_len) { in validate_and_copy_set_tun()
1945 err = validate_geneve_opts(&key); in validate_and_copy_set_tun()
1958 tun_dst = metadata_dst_alloc(key.tun_opts_len, GFP_KERNEL); in validate_and_copy_set_tun()
1974 if (key.tun_proto == AF_INET6) in validate_and_copy_set_tun()
1976 tun_info->key = key.tun_key; in validate_and_copy_set_tun()
1983 TUN_METADATA_OPTS(&key, key.tun_opts_len), in validate_and_copy_set_tun()
1984 key.tun_opts_len); in validate_and_copy_set_tun()
2203 const struct sw_flow_key *key, in __ovs_nla_copy_actions() argument
2320 err = validate_set(a, key, sfa, in __ovs_nla_copy_actions()
2327 err = validate_set(a, key, sfa, in __ovs_nla_copy_actions()
2334 err = validate_and_copy_sample(net, a, key, depth, sfa, in __ovs_nla_copy_actions()
2342 err = ovs_ct_copy_action(net, a, key, sfa, log); in __ovs_nla_copy_actions()
2367 const struct sw_flow_key *key, in ovs_nla_copy_actions() argument
2377 err = __ovs_nla_copy_actions(net, attr, key, 0, sfa, key->eth.type, in ovs_nla_copy_actions()
2378 key->eth.tci, log); in ovs_nla_copy_actions()
2437 err = ip_tun_to_nlattr(skb, &tun_info->key, in set_action_to_attr()