Lines Matching refs:match

465 	struct flow_match_vlan match;  in otx2_tc_process_vlan()  local
469 flow_rule_match_cvlan(rule, &match); in otx2_tc_process_vlan()
471 flow_rule_match_vlan(rule, &match); in otx2_tc_process_vlan()
473 if (!eth_type_vlan(match.key->vlan_tpid)) { in otx2_tc_process_vlan()
475 ntohs(match.key->vlan_tpid)); in otx2_tc_process_vlan()
479 if (!match.mask->vlan_id) { in otx2_tc_process_vlan()
487 ntohs(match.key->vlan_tpid), match.key->vlan_id); in otx2_tc_process_vlan()
493 if (match.mask->vlan_id || in otx2_tc_process_vlan()
494 match.mask->vlan_dei || in otx2_tc_process_vlan()
495 match.mask->vlan_priority) { in otx2_tc_process_vlan()
496 vlan_tci = match.key->vlan_id | in otx2_tc_process_vlan()
497 match.key->vlan_dei << 12 | in otx2_tc_process_vlan()
498 match.key->vlan_priority << 13; in otx2_tc_process_vlan()
500 vlan_tci_mask = match.mask->vlan_id | in otx2_tc_process_vlan()
501 match.mask->vlan_dei << 12 | in otx2_tc_process_vlan()
502 match.mask->vlan_priority << 13; in otx2_tc_process_vlan()
529 dissector = rule->match.dissector; in otx2_tc_prepare_flow()
548 struct flow_match_basic match; in otx2_tc_prepare_flow() local
550 flow_rule_match_basic(rule, &match); in otx2_tc_prepare_flow()
553 flow_spec->etype = match.key->n_proto; in otx2_tc_prepare_flow()
554 flow_mask->etype = match.mask->n_proto; in otx2_tc_prepare_flow()
557 if (match.mask->ip_proto && in otx2_tc_prepare_flow()
558 (match.key->ip_proto != IPPROTO_TCP && in otx2_tc_prepare_flow()
559 match.key->ip_proto != IPPROTO_UDP && in otx2_tc_prepare_flow()
560 match.key->ip_proto != IPPROTO_SCTP && in otx2_tc_prepare_flow()
561 match.key->ip_proto != IPPROTO_ICMP && in otx2_tc_prepare_flow()
562 match.key->ip_proto != IPPROTO_ESP && in otx2_tc_prepare_flow()
563 match.key->ip_proto != IPPROTO_AH && in otx2_tc_prepare_flow()
564 match.key->ip_proto != IPPROTO_ICMPV6)) { in otx2_tc_prepare_flow()
567 match.key->ip_proto); in otx2_tc_prepare_flow()
570 if (match.mask->ip_proto) in otx2_tc_prepare_flow()
571 ip_proto = match.key->ip_proto; in otx2_tc_prepare_flow()
590 struct flow_match_control match; in otx2_tc_prepare_flow() local
593 flow_rule_match_control(rule, &match); in otx2_tc_prepare_flow()
594 if (match.mask->flags & FLOW_DIS_FIRST_FRAG) { in otx2_tc_prepare_flow()
599 if (match.mask->flags & FLOW_DIS_IS_FRAGMENT) { in otx2_tc_prepare_flow()
600 val = match.key->flags & FLOW_DIS_IS_FRAGMENT; in otx2_tc_prepare_flow()
618 struct flow_match_eth_addrs match; in otx2_tc_prepare_flow() local
620 flow_rule_match_eth_addrs(rule, &match); in otx2_tc_prepare_flow()
621 if (!is_zero_ether_addr(match.mask->src)) { in otx2_tc_prepare_flow()
626 if (!is_zero_ether_addr(match.mask->dst)) { in otx2_tc_prepare_flow()
627 ether_addr_copy(flow_spec->dmac, (u8 *)&match.key->dst); in otx2_tc_prepare_flow()
629 (u8 *)&match.mask->dst); in otx2_tc_prepare_flow()
635 struct flow_match_ipsec match; in otx2_tc_prepare_flow() local
637 flow_rule_match_ipsec(rule, &match); in otx2_tc_prepare_flow()
638 if (!match.mask->spi) { in otx2_tc_prepare_flow()
649 flow_spec->spi = match.key->spi; in otx2_tc_prepare_flow()
650 flow_mask->spi = match.mask->spi; in otx2_tc_prepare_flow()
655 struct flow_match_ip match; in otx2_tc_prepare_flow() local
657 flow_rule_match_ip(rule, &match); in otx2_tc_prepare_flow()
659 match.mask->tos) { in otx2_tc_prepare_flow()
663 if (match.mask->ttl) { in otx2_tc_prepare_flow()
667 flow_spec->tos = match.key->tos; in otx2_tc_prepare_flow()
668 flow_mask->tos = match.mask->tos; in otx2_tc_prepare_flow()
689 struct flow_match_ipv4_addrs match; in otx2_tc_prepare_flow() local
691 flow_rule_match_ipv4_addrs(rule, &match); in otx2_tc_prepare_flow()
693 flow_spec->ip4dst = match.key->dst; in otx2_tc_prepare_flow()
694 flow_mask->ip4dst = match.mask->dst; in otx2_tc_prepare_flow()
697 flow_spec->ip4src = match.key->src; in otx2_tc_prepare_flow()
698 flow_mask->ip4src = match.mask->src; in otx2_tc_prepare_flow()
701 struct flow_match_ipv6_addrs match; in otx2_tc_prepare_flow() local
703 flow_rule_match_ipv6_addrs(rule, &match); in otx2_tc_prepare_flow()
705 if (ipv6_addr_loopback(&match.key->dst) || in otx2_tc_prepare_flow()
706 ipv6_addr_loopback(&match.key->src)) { in otx2_tc_prepare_flow()
712 if (!ipv6_addr_any(&match.mask->dst)) { in otx2_tc_prepare_flow()
714 (struct in6_addr *)&match.key->dst, in otx2_tc_prepare_flow()
717 (struct in6_addr *)&match.mask->dst, in otx2_tc_prepare_flow()
722 if (!ipv6_addr_any(&match.mask->src)) { in otx2_tc_prepare_flow()
724 (struct in6_addr *)&match.key->src, in otx2_tc_prepare_flow()
727 (struct in6_addr *)&match.mask->src, in otx2_tc_prepare_flow()
734 struct flow_match_ports match; in otx2_tc_prepare_flow() local
736 flow_rule_match_ports(rule, &match); in otx2_tc_prepare_flow()
738 flow_spec->dport = match.key->dst; in otx2_tc_prepare_flow()
739 flow_mask->dport = match.mask->dst; in otx2_tc_prepare_flow()
750 flow_spec->sport = match.key->src; in otx2_tc_prepare_flow()
751 flow_mask->sport = match.mask->src; in otx2_tc_prepare_flow()