Lines Matching refs:is_mask
92 size_t offset, size_t size, bool is_mask) in update_range() argument
98 if (!is_mask) in update_range()
116 #define SW_FLOW_KEY_PUT(match, field, value, is_mask) \ argument
119 sizeof((match)->key->field), is_mask); \
120 if (is_mask) \
126 #define SW_FLOW_KEY_MEMCPY_OFFSET(match, offset, value_p, len, is_mask) \ argument
128 update_range(match, offset, len, is_mask); \
129 if (is_mask) \
136 #define SW_FLOW_KEY_MEMCPY(match, field, value_p, len, is_mask) \ argument
138 value_p, len, is_mask)
140 #define SW_FLOW_KEY_MEMSET_FIELD(match, field, value, is_mask) \ argument
143 sizeof((match)->key->field), is_mask); \
144 if (is_mask) \
532 struct sw_flow_match *match, bool is_mask, in genev_tun_opt_from_nlattr() argument
553 if (!is_mask) { in genev_tun_opt_from_nlattr()
578 nla_len(a), is_mask); in genev_tun_opt_from_nlattr()
583 struct sw_flow_match *match, bool is_mask, in vxlan_tun_opt_from_nlattr() argument
627 if (!is_mask) in vxlan_tun_opt_from_nlattr()
634 is_mask); in vxlan_tun_opt_from_nlattr()
639 struct sw_flow_match *match, bool is_mask, in erspan_tun_opt_from_nlattr() argument
653 if (!is_mask) in erspan_tun_opt_from_nlattr()
661 nla_len(a), is_mask); in erspan_tun_opt_from_nlattr()
666 struct sw_flow_match *match, bool is_mask, in ip_tun_from_nlattr() argument
696 nla_get_be64(a), is_mask); in ip_tun_from_nlattr()
701 nla_get_in_addr(a), is_mask); in ip_tun_from_nlattr()
706 nla_get_in_addr(a), is_mask); in ip_tun_from_nlattr()
711 nla_get_in6_addr(a), is_mask); in ip_tun_from_nlattr()
716 nla_get_in6_addr(a), is_mask); in ip_tun_from_nlattr()
721 nla_get_u8(a), is_mask); in ip_tun_from_nlattr()
725 nla_get_u8(a), is_mask); in ip_tun_from_nlattr()
736 nla_get_be16(a), is_mask); in ip_tun_from_nlattr()
740 nla_get_be16(a), is_mask); in ip_tun_from_nlattr()
751 err = genev_tun_opt_from_nlattr(a, match, is_mask, log); in ip_tun_from_nlattr()
764 err = vxlan_tun_opt_from_nlattr(a, match, is_mask, log); in ip_tun_from_nlattr()
779 err = erspan_tun_opt_from_nlattr(a, match, is_mask, in ip_tun_from_nlattr()
798 SW_FLOW_KEY_PUT(match, tun_key.tun_flags, tun_flags, is_mask); in ip_tun_from_nlattr()
799 if (is_mask) in ip_tun_from_nlattr()
816 if (!is_mask) { in ip_tun_from_nlattr()
974 bool is_mask, bool inner) in encode_vlan_from_nlattrs() argument
986 SW_FLOW_KEY_PUT(match, eth.vlan.tpid, tpid, is_mask); in encode_vlan_from_nlattrs()
987 SW_FLOW_KEY_PUT(match, eth.vlan.tci, tci, is_mask); in encode_vlan_from_nlattrs()
989 SW_FLOW_KEY_PUT(match, eth.cvlan.tpid, tpid, is_mask); in encode_vlan_from_nlattrs()
990 SW_FLOW_KEY_PUT(match, eth.cvlan.tci, tci, is_mask); in encode_vlan_from_nlattrs()
1077 const struct nlattr **a, bool is_mask, in __parse_vlan_from_nlattrs() argument
1083 if (!is_mask) in __parse_vlan_from_nlattrs()
1092 err = encode_vlan_from_nlattrs(match, a, is_mask, inner); in __parse_vlan_from_nlattrs()
1102 if (!is_mask) in __parse_vlan_from_nlattrs()
1112 bool is_mask, bool log) in parse_vlan_from_nlattrs() argument
1118 is_mask, log); in parse_vlan_from_nlattrs()
1125 is_mask, log); in parse_vlan_from_nlattrs()
1135 bool is_mask, bool log) in parse_eth_type_from_nlattrs() argument
1140 if (is_mask) { in parse_eth_type_from_nlattrs()
1149 SW_FLOW_KEY_PUT(match, eth.type, eth_type, is_mask); in parse_eth_type_from_nlattrs()
1156 bool is_mask, bool log) in metadata_from_nlattrs() argument
1163 SW_FLOW_KEY_PUT(match, ovs_flow_hash, hash_val, is_mask); in metadata_from_nlattrs()
1170 SW_FLOW_KEY_PUT(match, recirc_id, recirc_id, is_mask); in metadata_from_nlattrs()
1176 nla_get_u32(a[OVS_KEY_ATTR_PRIORITY]), is_mask); in metadata_from_nlattrs()
1183 if (is_mask) { in metadata_from_nlattrs()
1191 SW_FLOW_KEY_PUT(match, phy.in_port, in_port, is_mask); in metadata_from_nlattrs()
1193 } else if (!is_mask) { in metadata_from_nlattrs()
1194 SW_FLOW_KEY_PUT(match, phy.in_port, DP_MAX_PORTS, is_mask); in metadata_from_nlattrs()
1200 SW_FLOW_KEY_PUT(match, phy.skb_mark, mark, is_mask); in metadata_from_nlattrs()
1205 is_mask, log) < 0) in metadata_from_nlattrs()
1220 SW_FLOW_KEY_PUT(match, ct_state, ct_state, is_mask); in metadata_from_nlattrs()
1227 SW_FLOW_KEY_PUT(match, ct_zone, ct_zone, is_mask); in metadata_from_nlattrs()
1234 SW_FLOW_KEY_PUT(match, ct.mark, mark, is_mask); in metadata_from_nlattrs()
1243 sizeof(*cl), is_mask); in metadata_from_nlattrs()
1251 SW_FLOW_KEY_PUT(match, ipv4.ct_orig.src, ct->ipv4_src, is_mask); in metadata_from_nlattrs()
1252 SW_FLOW_KEY_PUT(match, ipv4.ct_orig.dst, ct->ipv4_dst, is_mask); in metadata_from_nlattrs()
1253 SW_FLOW_KEY_PUT(match, ct.orig_tp.src, ct->src_port, is_mask); in metadata_from_nlattrs()
1254 SW_FLOW_KEY_PUT(match, ct.orig_tp.dst, ct->dst_port, is_mask); in metadata_from_nlattrs()
1255 SW_FLOW_KEY_PUT(match, ct_orig_proto, ct->ipv4_proto, is_mask); in metadata_from_nlattrs()
1265 is_mask); in metadata_from_nlattrs()
1268 is_mask); in metadata_from_nlattrs()
1269 SW_FLOW_KEY_PUT(match, ct.orig_tp.src, ct->src_port, is_mask); in metadata_from_nlattrs()
1270 SW_FLOW_KEY_PUT(match, ct.orig_tp.dst, ct->dst_port, is_mask); in metadata_from_nlattrs()
1271 SW_FLOW_KEY_PUT(match, ct_orig_proto, ct->ipv6_proto, is_mask); in metadata_from_nlattrs()
1283 SW_FLOW_KEY_PUT(match, mac_proto, is_mask ? 0xff : mac_proto, is_mask); in metadata_from_nlattrs()
1286 return parse_eth_type_from_nlattrs(match, attrs, a, is_mask, in metadata_from_nlattrs()
1387 struct sw_flow_match *match, bool is_mask, in nsh_key_put_from_nlattr() argument
1398 if (WARN_ON(is_push_nsh && is_mask)) in nsh_key_put_from_nlattr()
1430 base->flags, is_mask); in nsh_key_put_from_nlattr()
1432 base->ttl, is_mask); in nsh_key_put_from_nlattr()
1434 base->mdtype, is_mask); in nsh_key_put_from_nlattr()
1436 base->np, is_mask); in nsh_key_put_from_nlattr()
1438 base->path_hdr, is_mask); in nsh_key_put_from_nlattr()
1447 md1->context[i], is_mask); in nsh_key_put_from_nlattr()
1486 if (!is_mask) { in nsh_key_put_from_nlattr()
1509 bool is_mask, bool log) in ovs_key_from_nlattrs() argument
1513 err = metadata_from_nlattrs(net, match, &attrs, a, is_mask, log); in ovs_key_from_nlattrs()
1522 eth_key->eth_src, ETH_ALEN, is_mask); in ovs_key_from_nlattrs()
1524 eth_key->eth_dst, ETH_ALEN, is_mask); in ovs_key_from_nlattrs()
1536 err = parse_eth_type_from_nlattrs(match, &attrs, a, is_mask, in ovs_key_from_nlattrs()
1540 } else if (!is_mask) { in ovs_key_from_nlattrs()
1541 SW_FLOW_KEY_PUT(match, eth.type, htons(ETH_P_802_2), is_mask); in ovs_key_from_nlattrs()
1552 if (!is_mask && ipv4_key->ipv4_frag > OVS_FRAG_TYPE_MAX) { in ovs_key_from_nlattrs()
1558 ipv4_key->ipv4_proto, is_mask); in ovs_key_from_nlattrs()
1560 ipv4_key->ipv4_tos, is_mask); in ovs_key_from_nlattrs()
1562 ipv4_key->ipv4_ttl, is_mask); in ovs_key_from_nlattrs()
1564 ipv4_key->ipv4_frag, is_mask); in ovs_key_from_nlattrs()
1566 ipv4_key->ipv4_src, is_mask); in ovs_key_from_nlattrs()
1568 ipv4_key->ipv4_dst, is_mask); in ovs_key_from_nlattrs()
1576 if (!is_mask && ipv6_key->ipv6_frag > OVS_FRAG_TYPE_MAX) { in ovs_key_from_nlattrs()
1582 if (!is_mask && ipv6_key->ipv6_label & htonl(0xFFF00000)) { in ovs_key_from_nlattrs()
1589 ipv6_key->ipv6_label, is_mask); in ovs_key_from_nlattrs()
1591 ipv6_key->ipv6_proto, is_mask); in ovs_key_from_nlattrs()
1593 ipv6_key->ipv6_tclass, is_mask); in ovs_key_from_nlattrs()
1595 ipv6_key->ipv6_hlimit, is_mask); in ovs_key_from_nlattrs()
1597 ipv6_key->ipv6_frag, is_mask); in ovs_key_from_nlattrs()
1601 is_mask); in ovs_key_from_nlattrs()
1605 is_mask); in ovs_key_from_nlattrs()
1616 ipv6_exthdrs_key->hdrs, is_mask); in ovs_key_from_nlattrs()
1625 if (!is_mask && (arp_key->arp_op & htons(0xff00))) { in ovs_key_from_nlattrs()
1632 arp_key->arp_sip, is_mask); in ovs_key_from_nlattrs()
1634 arp_key->arp_tip, is_mask); in ovs_key_from_nlattrs()
1636 ntohs(arp_key->arp_op), is_mask); in ovs_key_from_nlattrs()
1638 arp_key->arp_sha, ETH_ALEN, is_mask); in ovs_key_from_nlattrs()
1640 arp_key->arp_tha, ETH_ALEN, is_mask); in ovs_key_from_nlattrs()
1647 is_mask, false, log) < 0) in ovs_key_from_nlattrs()
1669 mpls_key[i].mpls_lse, is_mask); in ovs_key_from_nlattrs()
1672 label_count_mask, is_mask); in ovs_key_from_nlattrs()
1681 SW_FLOW_KEY_PUT(match, tp.src, tcp_key->tcp_src, is_mask); in ovs_key_from_nlattrs()
1682 SW_FLOW_KEY_PUT(match, tp.dst, tcp_key->tcp_dst, is_mask); in ovs_key_from_nlattrs()
1689 is_mask); in ovs_key_from_nlattrs()
1697 SW_FLOW_KEY_PUT(match, tp.src, udp_key->udp_src, is_mask); in ovs_key_from_nlattrs()
1698 SW_FLOW_KEY_PUT(match, tp.dst, udp_key->udp_dst, is_mask); in ovs_key_from_nlattrs()
1706 SW_FLOW_KEY_PUT(match, tp.src, sctp_key->sctp_src, is_mask); in ovs_key_from_nlattrs()
1707 SW_FLOW_KEY_PUT(match, tp.dst, sctp_key->sctp_dst, is_mask); in ovs_key_from_nlattrs()
1716 htons(icmp_key->icmp_type), is_mask); in ovs_key_from_nlattrs()
1718 htons(icmp_key->icmp_code), is_mask); in ovs_key_from_nlattrs()
1727 htons(icmpv6_key->icmpv6_type), is_mask); in ovs_key_from_nlattrs()
1729 htons(icmpv6_key->icmpv6_code), is_mask); in ovs_key_from_nlattrs()
1740 is_mask); in ovs_key_from_nlattrs()
1742 nd_key->nd_sll, ETH_ALEN, is_mask); in ovs_key_from_nlattrs()
1744 nd_key->nd_tll, ETH_ALEN, is_mask); in ovs_key_from_nlattrs()
1970 bool is_mask) in ovs_nla_put_vlan() argument
1972 __be16 eth_type = !is_mask ? vh->tpid : htons(0xffff); in ovs_nla_put_vlan()
1980 static int nsh_key_to_nlattr(const struct ovs_key_nsh *nsh, bool is_mask, in nsh_key_to_nlattr() argument
1992 if (is_mask || nsh->base.mdtype == NSH_M_TYPE1) { in nsh_key_to_nlattr()
2009 const struct sw_flow_key *output, bool is_mask, in __ovs_nla_put_key() argument
2026 if ((swkey->tun_proto || is_mask)) { in __ovs_nla_put_key()
2038 if (is_mask && (output->phy.in_port == 0xffff)) in __ovs_nla_put_key()
2043 upper_u16 = !is_mask ? 0 : 0xffff; in __ovs_nla_put_key()
2066 if (ovs_nla_put_vlan(skb, &output->eth.vlan, is_mask)) in __ovs_nla_put_key()
2073 if (ovs_nla_put_vlan(skb, &output->eth.cvlan, is_mask)) in __ovs_nla_put_key()
2089 if (is_mask && output->eth.type) in __ovs_nla_put_key()
2146 if (nsh_key_to_nlattr(&output->nsh, is_mask, skb)) in __ovs_nla_put_key()
2262 const struct sw_flow_key *output, int attr, bool is_mask, in ovs_nla_put_key() argument
2271 err = __ovs_nla_put_key(swkey, output, is_mask, skb); in ovs_nla_put_key()
2831 static bool validate_nsh(const struct nlattr *attr, bool is_mask, in validate_nsh() argument
2839 ret = nsh_key_put_from_nlattr(attr, &match, is_mask, in validate_nsh()