Lines Matching defs:key
81 struct fl_flow_key key;
116 struct fl_flow_key key;
133 .key_offset = offsetof(struct fl_flow_mask, key),
146 const u8 *bytes = (const u8 *) &mask->key;
147 size_t size = sizeof(mask->key);
167 static void *fl_key_get_start(struct fl_flow_key *key,
170 return (u8 *) key + mask->range.start;
173 static void fl_set_masked_key(struct fl_flow_key *mkey, struct fl_flow_key *key,
176 const long *lkey = fl_key_get_start(key, mask);
177 const long *lmask = fl_key_get_start(&mask->key, mask);
188 const long *lmask = fl_key_get_start(&mask->key, mask);
202 static void fl_clear_masked_range(struct fl_flow_key *key,
205 memset(fl_key_get_start(key, mask), 0, fl_mask_range(mask));
209 struct fl_flow_key *key,
214 min_mask = ntohs(filter->mask->key.tp_range.tp_min.dst);
215 max_mask = ntohs(filter->mask->key.tp_range.tp_max.dst);
216 min_val = ntohs(filter->key.tp_range.tp_min.dst);
217 max_val = ntohs(filter->key.tp_range.tp_max.dst);
220 if (ntohs(key->tp_range.tp.dst) < min_val ||
221 ntohs(key->tp_range.tp.dst) > max_val)
232 struct fl_flow_key *key,
237 min_mask = ntohs(filter->mask->key.tp_range.tp_min.src);
238 max_mask = ntohs(filter->mask->key.tp_range.tp_max.src);
239 min_val = ntohs(filter->key.tp_range.tp_min.src);
240 max_val = ntohs(filter->key.tp_range.tp_max.src);
243 if (ntohs(key->tp_range.tp.src) < min_val ||
244 ntohs(key->tp_range.tp.src) > max_val)
263 struct fl_flow_key *key)
268 if (!fl_range_port_dst_cmp(filter, key, mkey))
271 if (!fl_range_port_src_cmp(filter, key, mkey))
282 struct cls_fl_filter *fl_mask_lookup(struct fl_flow_mask *mask, struct fl_flow_key *key)
286 fl_set_masked_key(&mkey, key, mask);
288 return fl_lookup_range(mask, &mkey, key);
455 cls_flower.rule->match.mask = &f->mask->key;
456 cls_flower.rule->match.key = &f->mkey;
764 static int fl_set_key_port_range(struct nlattr **tb, struct fl_flow_key *key,
768 fl_set_key_val(tb, &key->tp_range.tp_min.dst,
770 TCA_FLOWER_UNSPEC, sizeof(key->tp_range.tp_min.dst));
771 fl_set_key_val(tb, &key->tp_range.tp_max.dst,
773 TCA_FLOWER_UNSPEC, sizeof(key->tp_range.tp_max.dst));
774 fl_set_key_val(tb, &key->tp_range.tp_min.src,
776 TCA_FLOWER_UNSPEC, sizeof(key->tp_range.tp_min.src));
777 fl_set_key_val(tb, &key->tp_range.tp_max.src,
779 TCA_FLOWER_UNSPEC, sizeof(key->tp_range.tp_max.src));
792 ntohs(key->tp_range.tp_max.dst) <=
793 ntohs(key->tp_range.tp_min.dst)) {
800 ntohs(key->tp_range.tp_max.src) <=
801 ntohs(key->tp_range.tp_min.src)) {
1051 u32 key, mask;
1059 key = be32_to_cpu(nla_get_u32(tb[TCA_FLOWER_KEY_FLAGS]));
1065 fl_set_key_flag(key, mask, flags_key, flags_mask,
1067 fl_set_key_flag(key, mask, flags_key, flags_mask,
1075 struct flow_dissector_key_ip *key,
1083 fl_set_key_val(tb, &key->tos, tos_key, &mask->tos, tos_mask, sizeof(key->tos));
1084 fl_set_key_val(tb, &key->ttl, ttl_key, &mask->ttl, ttl_mask, sizeof(key->ttl));
1087 static int fl_set_geneve_opt(const struct nlattr *nla, struct fl_flow_key *key,
1099 if (key->enc_opts.len > FLOW_DIS_TUN_OPTS_MAX - 4)
1102 opt = (struct geneve_opt *)&key->enc_opts.data[key->enc_opts.len];
1125 * fields from the key.
1131 NL_SET_ERR_MSG(extack, "Missing tunnel key geneve option class, type or data");
1139 int new_len = key->enc_opts.len;
1144 NL_SET_ERR_MSG(extack, "Tunnel key geneve option data is less than 4 bytes long");
1148 NL_SET_ERR_MSG(extack, "Tunnel key geneve option data is not a multiple of 4 bytes long");
1175 static int fl_set_vxlan_opt(const struct nlattr *nla, struct fl_flow_key *key,
1183 md = (struct vxlan_metadata *)&key->enc_opts.data[key->enc_opts.len];
1200 NL_SET_ERR_MSG(extack, "Missing tunnel key vxlan option gbp");
1212 static int fl_set_erspan_opt(const struct nlattr *nla, struct fl_flow_key *key,
1220 md = (struct erspan_metadata *)&key->enc_opts.data[key->enc_opts.len];
1238 NL_SET_ERR_MSG(extack, "Missing tunnel key erspan option ver");
1247 NL_SET_ERR_MSG(extack, "Missing tunnel key erspan option index");
1258 NL_SET_ERR_MSG(extack, "Missing tunnel key erspan option dir or hwid");
1270 NL_SET_ERR_MSG(extack, "Tunnel key erspan option ver is incorrect");
1277 static int fl_set_enc_opt(struct nlattr **tb, struct fl_flow_key *key,
1311 if (key->enc_opts.dst_opt_type &&
1312 key->enc_opts.dst_opt_type != TUNNEL_GENEVE_OPT) {
1317 key->enc_opts.dst_opt_type = TUNNEL_GENEVE_OPT;
1318 option_len = fl_set_geneve_opt(nla_opt_key, key,
1324 key->enc_opts.len += option_len;
1336 if (key->enc_opts.len != mask->enc_opts.len) {
1342 if (key->enc_opts.dst_opt_type) {
1347 key->enc_opts.dst_opt_type = TUNNEL_VXLAN_OPT;
1348 option_len = fl_set_vxlan_opt(nla_opt_key, key,
1354 key->enc_opts.len += option_len;
1366 if (key->enc_opts.len != mask->enc_opts.len) {
1372 if (key->enc_opts.dst_opt_type) {
1377 key->enc_opts.dst_opt_type = TUNNEL_ERSPAN_OPT;
1378 option_len = fl_set_erspan_opt(nla_opt_key, key,
1384 key->enc_opts.len += option_len;
1396 if (key->enc_opts.len != mask->enc_opts.len) {
1439 struct flow_dissector_key_ct *key,
1450 fl_set_key_val(tb, &key->ct_state, TCA_FLOWER_KEY_CT_STATE,
1452 sizeof(key->ct_state));
1454 err = fl_validate_ct_state(key->ct_state & mask->ct_state,
1466 fl_set_key_val(tb, &key->ct_zone, TCA_FLOWER_KEY_CT_ZONE,
1468 sizeof(key->ct_zone));
1475 fl_set_key_val(tb, &key->ct_mark, TCA_FLOWER_KEY_CT_MARK,
1477 sizeof(key->ct_mark));
1484 fl_set_key_val(tb, key->ct_labels, TCA_FLOWER_KEY_CT_LABELS,
1486 sizeof(key->ct_labels));
1493 struct fl_flow_key *key, struct fl_flow_key *mask,
1503 key->meta.ingress_ifindex = err;
1507 fl_set_key_val(tb, key->eth.dst, TCA_FLOWER_KEY_ETH_DST,
1509 sizeof(key->eth.dst));
1510 fl_set_key_val(tb, key->eth.src, TCA_FLOWER_KEY_ETH_SRC,
1512 sizeof(key->eth.src));
1521 &key->vlan, &mask->vlan);
1530 &key->cvlan, &mask->cvlan);
1531 fl_set_key_val(tb, &key->basic.n_proto,
1535 sizeof(key->basic.n_proto));
1537 key->basic.n_proto = ethertype;
1542 key->basic.n_proto = ethertype;
1547 if (key->basic.n_proto == htons(ETH_P_IP) ||
1548 key->basic.n_proto == htons(ETH_P_IPV6)) {
1549 fl_set_key_val(tb, &key->basic.ip_proto, TCA_FLOWER_KEY_IP_PROTO,
1551 sizeof(key->basic.ip_proto));
1552 fl_set_key_ip(tb, false, &key->ip, &mask->ip);
1556 key->control.addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS;
1558 fl_set_key_val(tb, &key->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC,
1560 sizeof(key->ipv4.src));
1561 fl_set_key_val(tb, &key->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST,
1563 sizeof(key->ipv4.dst));
1565 key->control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS;
1567 fl_set_key_val(tb, &key->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC,
1569 sizeof(key->ipv6.src));
1570 fl_set_key_val(tb, &key->ipv6.dst, TCA_FLOWER_KEY_IPV6_DST,
1572 sizeof(key->ipv6.dst));
1575 if (key->basic.ip_proto == IPPROTO_TCP) {
1576 fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_TCP_SRC,
1578 sizeof(key->tp.src));
1579 fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_TCP_DST,
1581 sizeof(key->tp.dst));
1582 fl_set_key_val(tb, &key->tcp.flags, TCA_FLOWER_KEY_TCP_FLAGS,
1584 sizeof(key->tcp.flags));
1585 } else if (key->basic.ip_proto == IPPROTO_UDP) {
1586 fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_UDP_SRC,
1588 sizeof(key->tp.src));
1589 fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_UDP_DST,
1591 sizeof(key->tp.dst));
1592 } else if (key->basic.ip_proto == IPPROTO_SCTP) {
1593 fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_SCTP_SRC,
1595 sizeof(key->tp.src));
1596 fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_SCTP_DST,
1598 sizeof(key->tp.dst));
1599 } else if (key->basic.n_proto == htons(ETH_P_IP) &&
1600 key->basic.ip_proto == IPPROTO_ICMP) {
1601 fl_set_key_val(tb, &key->icmp.type, TCA_FLOWER_KEY_ICMPV4_TYPE,
1604 sizeof(key->icmp.type));
1605 fl_set_key_val(tb, &key->icmp.code, TCA_FLOWER_KEY_ICMPV4_CODE,
1608 sizeof(key->icmp.code));
1609 } else if (key->basic.n_proto == htons(ETH_P_IPV6) &&
1610 key->basic.ip_proto == IPPROTO_ICMPV6) {
1611 fl_set_key_val(tb, &key->icmp.type, TCA_FLOWER_KEY_ICMPV6_TYPE,
1614 sizeof(key->icmp.type));
1615 fl_set_key_val(tb, &key->icmp.code, TCA_FLOWER_KEY_ICMPV6_CODE,
1618 sizeof(key->icmp.code));
1619 } else if (key->basic.n_proto == htons(ETH_P_MPLS_UC) ||
1620 key->basic.n_proto == htons(ETH_P_MPLS_MC)) {
1621 ret = fl_set_key_mpls(tb, &key->mpls, &mask->mpls, extack);
1624 } else if (key->basic.n_proto == htons(ETH_P_ARP) ||
1625 key->basic.n_proto == htons(ETH_P_RARP)) {
1626 fl_set_key_val(tb, &key->arp.sip, TCA_FLOWER_KEY_ARP_SIP,
1628 sizeof(key->arp.sip));
1629 fl_set_key_val(tb, &key->arp.tip, TCA_FLOWER_KEY_ARP_TIP,
1631 sizeof(key->arp.tip));
1632 fl_set_key_val(tb, &key->arp.op, TCA_FLOWER_KEY_ARP_OP,
1634 sizeof(key->arp.op));
1635 fl_set_key_val(tb, key->arp.sha, TCA_FLOWER_KEY_ARP_SHA,
1637 sizeof(key->arp.sha));
1638 fl_set_key_val(tb, key->arp.tha, TCA_FLOWER_KEY_ARP_THA,
1640 sizeof(key->arp.tha));
1643 if (key->basic.ip_proto == IPPROTO_TCP ||
1644 key->basic.ip_proto == IPPROTO_UDP ||
1645 key->basic.ip_proto == IPPROTO_SCTP) {
1646 ret = fl_set_key_port_range(tb, key, mask, extack);
1653 key->enc_control.addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS;
1655 fl_set_key_val(tb, &key->enc_ipv4.src,
1659 sizeof(key->enc_ipv4.src));
1660 fl_set_key_val(tb, &key->enc_ipv4.dst,
1664 sizeof(key->enc_ipv4.dst));
1669 key->enc_control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS;
1671 fl_set_key_val(tb, &key->enc_ipv6.src,
1675 sizeof(key->enc_ipv6.src));
1676 fl_set_key_val(tb, &key->enc_ipv6.dst,
1680 sizeof(key->enc_ipv6.dst));
1683 fl_set_key_val(tb, &key->enc_key_id.keyid, TCA_FLOWER_KEY_ENC_KEY_ID,
1685 sizeof(key->enc_key_id.keyid));
1687 fl_set_key_val(tb, &key->enc_tp.src, TCA_FLOWER_KEY_ENC_UDP_SRC_PORT,
1689 sizeof(key->enc_tp.src));
1691 fl_set_key_val(tb, &key->enc_tp.dst, TCA_FLOWER_KEY_ENC_UDP_DST_PORT,
1693 sizeof(key->enc_tp.dst));
1695 fl_set_key_ip(tb, true, &key->enc_ip, &mask->enc_ip);
1697 fl_set_key_val(tb, &key->hash.hash, TCA_FLOWER_KEY_HASH,
1699 sizeof(key->hash.hash));
1702 ret = fl_set_enc_opt(tb, key, mask, extack);
1707 ret = fl_set_key_ct(tb, &key->ct, &mask->ct, extack);
1712 ret = fl_set_key_flags(tb, &key->control.flags,
1721 const void *psrc = fl_key_get_start(&src->key, src);
1722 void *pdst = fl_key_get_start(&dst->key, src);
1833 if ((newmask->key.tp_range.tp_min.dst &&
1834 newmask->key.tp_range.tp_max.dst) ||
1835 (newmask->key.tp_range.tp_min.src &&
1836 newmask->key.tp_range.tp_max.src))
1843 fl_init_dissector(&newmask->dissector, &newmask->key);
1878 * with same key. Any concurrent lookups with same key will return
1940 err = fl_set_key(net, tb, &f->key, &mask->key, extack);
1945 fl_set_masked_key(&f->mkey, &f->key, mask);
1967 /* It is okay if filter with same key exists when
2267 cls_flower.rule->match.mask = &f->mask->key;
2268 cls_flower.rule->match.key = &f->mkey;
2340 cls_flower.rule->match.key = &tmplt->dummy_key;
2436 static int fl_dump_key_port_range(struct sk_buff *skb, struct fl_flow_key *key,
2439 if (fl_dump_key_val(skb, &key->tp_range.tp_min.dst,
2442 sizeof(key->tp_range.tp_min.dst)) ||
2443 fl_dump_key_val(skb, &key->tp_range.tp_max.dst,
2446 sizeof(key->tp_range.tp_max.dst)) ||
2447 fl_dump_key_val(skb, &key->tp_range.tp_min.src,
2450 sizeof(key->tp_range.tp_min.src)) ||
2451 fl_dump_key_val(skb, &key->tp_range.tp_max.src,
2454 sizeof(key->tp_range.tp_max.src)))
2593 struct flow_dissector_key_ip *key,
2601 if (fl_dump_key_val(skb, &key->tos, tos_key, &mask->tos, tos_mask, sizeof(key->tos)) ||
2602 fl_dump_key_val(skb, &key->ttl, ttl_key, &mask->ttl, ttl_mask, sizeof(key->ttl)))
2645 u32 key, mask;
2652 key = 0;
2655 fl_get_key_flag(flags_key, flags_mask, &key, &mask,
2657 fl_get_key_flag(flags_key, flags_mask, &key, &mask,
2661 _key = cpu_to_be32(key);
2761 struct flow_dissector_key_ct *key,
2765 fl_dump_key_val(skb, &key->ct_state, TCA_FLOWER_KEY_CT_STATE,
2767 sizeof(key->ct_state)))
2771 fl_dump_key_val(skb, &key->ct_zone, TCA_FLOWER_KEY_CT_ZONE,
2773 sizeof(key->ct_zone)))
2777 fl_dump_key_val(skb, &key->ct_mark, TCA_FLOWER_KEY_CT_MARK,
2779 sizeof(key->ct_mark)))
2783 fl_dump_key_val(skb, &key->ct_labels, TCA_FLOWER_KEY_CT_LABELS,
2785 sizeof(key->ct_labels)))
2848 struct fl_flow_key *key, struct fl_flow_key *mask)
2853 dev = __dev_get_by_index(net, key->meta.ingress_ifindex);
2858 if (fl_dump_key_val(skb, key->eth.dst, TCA_FLOWER_KEY_ETH_DST,
2860 sizeof(key->eth.dst)) ||
2861 fl_dump_key_val(skb, key->eth.src, TCA_FLOWER_KEY_ETH_SRC,
2863 sizeof(key->eth.src)) ||
2864 fl_dump_key_val(skb, &key->basic.n_proto, TCA_FLOWER_KEY_ETH_TYPE,
2866 sizeof(key->basic.n_proto)))
2869 if (fl_dump_key_mpls(skb, &key->mpls, &mask->mpls))
2873 TCA_FLOWER_KEY_VLAN_PRIO, &key->vlan, &mask->vlan))
2878 &key->cvlan, &mask->cvlan) ||
2881 key->cvlan.vlan_tpid)))
2887 key->basic.n_proto))
2891 key->vlan.vlan_eth_type))
2896 if ((key->basic.n_proto == htons(ETH_P_IP) ||
2897 key->basic.n_proto == htons(ETH_P_IPV6)) &&
2898 (fl_dump_key_val(skb, &key->basic.ip_proto, TCA_FLOWER_KEY_IP_PROTO,
2900 sizeof(key->basic.ip_proto)) ||
2901 fl_dump_key_ip(skb, false, &key->ip, &mask->ip)))
2904 if (key->control.addr_type == FLOW_DISSECTOR_KEY_IPV4_ADDRS &&
2905 (fl_dump_key_val(skb, &key->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC,
2907 sizeof(key->ipv4.src)) ||
2908 fl_dump_key_val(skb, &key->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST,
2910 sizeof(key->ipv4.dst))))
2912 else if (key->control.addr_type == FLOW_DISSECTOR_KEY_IPV6_ADDRS &&
2913 (fl_dump_key_val(skb, &key->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC,
2915 sizeof(key->ipv6.src)) ||
2916 fl_dump_key_val(skb, &key->ipv6.dst, TCA_FLOWER_KEY_IPV6_DST,
2918 sizeof(key->ipv6.dst))))
2921 if (key->basic.ip_proto == IPPROTO_TCP &&
2922 (fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_TCP_SRC,
2924 sizeof(key->tp.src)) ||
2925 fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_TCP_DST,
2927 sizeof(key->tp.dst)) ||
2928 fl_dump_key_val(skb, &key->tcp.flags, TCA_FLOWER_KEY_TCP_FLAGS,
2930 sizeof(key->tcp.flags))))
2932 else if (key->basic.ip_proto == IPPROTO_UDP &&
2933 (fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_UDP_SRC,
2935 sizeof(key->tp.src)) ||
2936 fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_UDP_DST,
2938 sizeof(key->tp.dst))))
2940 else if (key->basic.ip_proto == IPPROTO_SCTP &&
2941 (fl_dump_key_val(skb, &key->tp.src, TCA_FLOWER_KEY_SCTP_SRC,
2943 sizeof(key->tp.src)) ||
2944 fl_dump_key_val(skb, &key->tp.dst, TCA_FLOWER_KEY_SCTP_DST,
2946 sizeof(key->tp.dst))))
2948 else if (key->basic.n_proto == htons(ETH_P_IP) &&
2949 key->basic.ip_proto == IPPROTO_ICMP &&
2950 (fl_dump_key_val(skb, &key->icmp.type,
2953 sizeof(key->icmp.type)) ||
2954 fl_dump_key_val(skb, &key->icmp.code,
2957 sizeof(key->icmp.code))))
2959 else if (key->basic.n_proto == htons(ETH_P_IPV6) &&
2960 key->basic.ip_proto == IPPROTO_ICMPV6 &&
2961 (fl_dump_key_val(skb, &key->icmp.type,
2964 sizeof(key->icmp.type)) ||
2965 fl_dump_key_val(skb, &key->icmp.code,
2968 sizeof(key->icmp.code))))
2970 else if ((key->basic.n_proto == htons(ETH_P_ARP) ||
2971 key->basic.n_proto == htons(ETH_P_RARP)) &&
2972 (fl_dump_key_val(skb, &key->arp.sip,
2975 sizeof(key->arp.sip)) ||
2976 fl_dump_key_val(skb, &key->arp.tip,
2979 sizeof(key->arp.tip)) ||
2980 fl_dump_key_val(skb, &key->arp.op,
2983 sizeof(key->arp.op)) ||
2984 fl_dump_key_val(skb, key->arp.sha, TCA_FLOWER_KEY_ARP_SHA,
2986 sizeof(key->arp.sha)) ||
2987 fl_dump_key_val(skb, key->arp.tha, TCA_FLOWER_KEY_ARP_THA,
2989 sizeof(key->arp.tha))))
2992 if ((key->basic.ip_proto == IPPROTO_TCP ||
2993 key->basic.ip_proto == IPPROTO_UDP ||
2994 key->basic.ip_proto == IPPROTO_SCTP) &&
2995 fl_dump_key_port_range(skb, key, mask))
2998 if (key->enc_control.addr_type == FLOW_DISSECTOR_KEY_IPV4_ADDRS &&
2999 (fl_dump_key_val(skb, &key->enc_ipv4.src,
3002 sizeof(key->enc_ipv4.src)) ||
3003 fl_dump_key_val(skb, &key->enc_ipv4.dst,
3006 sizeof(key->enc_ipv4.dst))))
3008 else if (key->enc_control.addr_type == FLOW_DISSECTOR_KEY_IPV6_ADDRS &&
3009 (fl_dump_key_val(skb, &key->enc_ipv6.src,
3012 sizeof(key->enc_ipv6.src)) ||
3013 fl_dump_key_val(skb, &key->enc_ipv6.dst,
3017 sizeof(key->enc_ipv6.dst))))
3020 if (fl_dump_key_val(skb, &key->enc_key_id, TCA_FLOWER_KEY_ENC_KEY_ID,
3022 sizeof(key->enc_key_id)) ||
3023 fl_dump_key_val(skb, &key->enc_tp.src,
3027 sizeof(key->enc_tp.src)) ||
3028 fl_dump_key_val(skb, &key->enc_tp.dst,
3032 sizeof(key->enc_tp.dst)) ||
3033 fl_dump_key_ip(skb, true, &key->enc_ip, &mask->enc_ip) ||
3034 fl_dump_key_enc_opt(skb, &key->enc_opts, &mask->enc_opts))
3037 if (fl_dump_key_ct(skb, &key->ct, &mask->ct))
3040 if (fl_dump_key_flags(skb, key->control.flags, mask->control.flags))
3043 if (fl_dump_key_val(skb, &key->hash.hash, TCA_FLOWER_KEY_HASH,
3045 sizeof(key->hash.hash)))
3059 struct fl_flow_key *key, *mask;
3077 key = &f->key;
3078 mask = &f->mask->key;
3081 if (fl_dump_key(skb, net, key, mask))
3157 struct fl_flow_key *key, *mask;
3164 key = &tmplt->dummy_key;
3167 if (fl_dump_key(skb, net, key, mask))