Lines Matching refs:match

297 			       const struct flow_match_meta *match,  in mlxsw_sp_flower_parse_meta_iif()  argument
303 if (!match->mask->ingress_ifindex) in mlxsw_sp_flower_parse_meta_iif()
306 if (match->mask->ingress_ifindex != 0xFFFFFFFF) { in mlxsw_sp_flower_parse_meta_iif()
312 match->key->ingress_ifindex); in mlxsw_sp_flower_parse_meta_iif()
342 struct flow_match_meta match; in mlxsw_sp_flower_parse_meta() local
347 flow_rule_match_meta(rule, &match); in mlxsw_sp_flower_parse_meta()
350 match.key->l2_miss, match.mask->l2_miss); in mlxsw_sp_flower_parse_meta()
352 return mlxsw_sp_flower_parse_meta_iif(rulei, block, &match, in mlxsw_sp_flower_parse_meta()
359 struct flow_match_ipv4_addrs match; in mlxsw_sp_flower_parse_ipv4() local
361 flow_rule_match_ipv4_addrs(f->rule, &match); in mlxsw_sp_flower_parse_ipv4()
364 (char *) &match.key->src, in mlxsw_sp_flower_parse_ipv4()
365 (char *) &match.mask->src, 4); in mlxsw_sp_flower_parse_ipv4()
367 (char *) &match.key->dst, in mlxsw_sp_flower_parse_ipv4()
368 (char *) &match.mask->dst, 4); in mlxsw_sp_flower_parse_ipv4()
374 struct flow_match_ipv6_addrs match; in mlxsw_sp_flower_parse_ipv6() local
376 flow_rule_match_ipv6_addrs(f->rule, &match); in mlxsw_sp_flower_parse_ipv6()
379 &match.key->src.s6_addr[0x0], in mlxsw_sp_flower_parse_ipv6()
380 &match.mask->src.s6_addr[0x0], 4); in mlxsw_sp_flower_parse_ipv6()
382 &match.key->src.s6_addr[0x4], in mlxsw_sp_flower_parse_ipv6()
383 &match.mask->src.s6_addr[0x4], 4); in mlxsw_sp_flower_parse_ipv6()
385 &match.key->src.s6_addr[0x8], in mlxsw_sp_flower_parse_ipv6()
386 &match.mask->src.s6_addr[0x8], 4); in mlxsw_sp_flower_parse_ipv6()
388 &match.key->src.s6_addr[0xC], in mlxsw_sp_flower_parse_ipv6()
389 &match.mask->src.s6_addr[0xC], 4); in mlxsw_sp_flower_parse_ipv6()
391 &match.key->dst.s6_addr[0x0], in mlxsw_sp_flower_parse_ipv6()
392 &match.mask->dst.s6_addr[0x0], 4); in mlxsw_sp_flower_parse_ipv6()
394 &match.key->dst.s6_addr[0x4], in mlxsw_sp_flower_parse_ipv6()
395 &match.mask->dst.s6_addr[0x4], 4); in mlxsw_sp_flower_parse_ipv6()
397 &match.key->dst.s6_addr[0x8], in mlxsw_sp_flower_parse_ipv6()
398 &match.mask->dst.s6_addr[0x8], 4); in mlxsw_sp_flower_parse_ipv6()
400 &match.key->dst.s6_addr[0xC], in mlxsw_sp_flower_parse_ipv6()
401 &match.mask->dst.s6_addr[0xC], 4); in mlxsw_sp_flower_parse_ipv6()
410 struct flow_match_ports match; in mlxsw_sp_flower_parse_ports() local
421 flow_rule_match_ports(rule, &match); in mlxsw_sp_flower_parse_ports()
423 ntohs(match.key->dst), in mlxsw_sp_flower_parse_ports()
424 ntohs(match.mask->dst)); in mlxsw_sp_flower_parse_ports()
426 ntohs(match.key->src), in mlxsw_sp_flower_parse_ports()
427 ntohs(match.mask->src)); in mlxsw_sp_flower_parse_ports()
437 struct flow_match_ports_range match; in mlxsw_sp_flower_parse_ports_range() local
448 flow_rule_match_ports_range(rule, &match); in mlxsw_sp_flower_parse_ports_range()
450 if (match.mask->tp_min.src) { in mlxsw_sp_flower_parse_ports_range()
452 .min = ntohs(match.key->tp_min.src), in mlxsw_sp_flower_parse_ports_range()
453 .max = ntohs(match.key->tp_max.src), in mlxsw_sp_flower_parse_ports_range()
469 if (match.mask->tp_min.dst) { in mlxsw_sp_flower_parse_ports_range()
471 .min = ntohs(match.key->tp_min.dst), in mlxsw_sp_flower_parse_ports_range()
472 .max = ntohs(match.key->tp_max.dst), in mlxsw_sp_flower_parse_ports_range()
499 struct flow_match_tcp match; in mlxsw_sp_flower_parse_tcp() local
510 flow_rule_match_tcp(rule, &match); in mlxsw_sp_flower_parse_tcp()
512 if (match.mask->flags & htons(0x0E00)) { in mlxsw_sp_flower_parse_tcp()
519 ntohs(match.key->flags), in mlxsw_sp_flower_parse_tcp()
520 ntohs(match.mask->flags)); in mlxsw_sp_flower_parse_tcp()
530 struct flow_match_ip match; in mlxsw_sp_flower_parse_ip() local
541 flow_rule_match_ip(rule, &match); in mlxsw_sp_flower_parse_ip()
544 match.key->ttl, match.mask->ttl); in mlxsw_sp_flower_parse_ip()
547 match.key->tos & 0x3, in mlxsw_sp_flower_parse_ip()
548 match.mask->tos & 0x3); in mlxsw_sp_flower_parse_ip()
551 match.key->tos >> 2, in mlxsw_sp_flower_parse_ip()
552 match.mask->tos >> 2); in mlxsw_sp_flower_parse_ip()
563 struct flow_dissector *dissector = rule->match.dissector; in mlxsw_sp_flower_parse()
594 struct flow_match_control match; in mlxsw_sp_flower_parse() local
596 flow_rule_match_control(rule, &match); in mlxsw_sp_flower_parse()
597 addr_type = match.key->addr_type; in mlxsw_sp_flower_parse()
601 struct flow_match_basic match; in mlxsw_sp_flower_parse() local
603 flow_rule_match_basic(rule, &match); in mlxsw_sp_flower_parse()
604 n_proto_key = ntohs(match.key->n_proto); in mlxsw_sp_flower_parse()
605 n_proto_mask = ntohs(match.mask->n_proto); in mlxsw_sp_flower_parse()
615 ip_proto = match.key->ip_proto; in mlxsw_sp_flower_parse()
618 match.key->ip_proto, in mlxsw_sp_flower_parse()
619 match.mask->ip_proto); in mlxsw_sp_flower_parse()
623 struct flow_match_eth_addrs match; in mlxsw_sp_flower_parse() local
625 flow_rule_match_eth_addrs(rule, &match); in mlxsw_sp_flower_parse()
628 match.key->dst, in mlxsw_sp_flower_parse()
629 match.mask->dst, 2); in mlxsw_sp_flower_parse()
632 match.key->dst + 2, in mlxsw_sp_flower_parse()
633 match.mask->dst + 2, 4); in mlxsw_sp_flower_parse()
636 match.key->src, in mlxsw_sp_flower_parse()
637 match.mask->src, 2); in mlxsw_sp_flower_parse()
640 match.key->src + 2, in mlxsw_sp_flower_parse()
641 match.mask->src + 2, 4); in mlxsw_sp_flower_parse()
645 struct flow_match_vlan match; in mlxsw_sp_flower_parse() local
647 flow_rule_match_vlan(rule, &match); in mlxsw_sp_flower_parse()
649 match.mask->vlan_id) { in mlxsw_sp_flower_parse()
659 if (match.mask->vlan_id != 0) in mlxsw_sp_flower_parse()
662 match.key->vlan_id, in mlxsw_sp_flower_parse()
663 match.mask->vlan_id); in mlxsw_sp_flower_parse()
664 if (match.mask->vlan_priority != 0) in mlxsw_sp_flower_parse()
667 match.key->vlan_priority, in mlxsw_sp_flower_parse()
668 match.mask->vlan_priority); in mlxsw_sp_flower_parse()