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
592 flow_rule_match_control(rule, &match); in otx2_tc_prepare_flow()
593 if (match.mask->flags & FLOW_DIS_FIRST_FRAG) { in otx2_tc_prepare_flow()
598 if (match.mask->flags & FLOW_DIS_IS_FRAGMENT) { in otx2_tc_prepare_flow()
615 struct flow_match_eth_addrs match; in otx2_tc_prepare_flow() local
617 flow_rule_match_eth_addrs(rule, &match); in otx2_tc_prepare_flow()
618 if (!is_zero_ether_addr(match.mask->src)) { in otx2_tc_prepare_flow()
623 if (!is_zero_ether_addr(match.mask->dst)) { in otx2_tc_prepare_flow()
624 ether_addr_copy(flow_spec->dmac, (u8 *)&match.key->dst); in otx2_tc_prepare_flow()
626 (u8 *)&match.mask->dst); in otx2_tc_prepare_flow()
632 struct flow_match_ipsec match; in otx2_tc_prepare_flow() local
634 flow_rule_match_ipsec(rule, &match); in otx2_tc_prepare_flow()
635 if (!match.mask->spi) { in otx2_tc_prepare_flow()
646 flow_spec->spi = match.key->spi; in otx2_tc_prepare_flow()
647 flow_mask->spi = match.mask->spi; in otx2_tc_prepare_flow()
652 struct flow_match_ip match; in otx2_tc_prepare_flow() local
654 flow_rule_match_ip(rule, &match); in otx2_tc_prepare_flow()
656 match.mask->tos) { in otx2_tc_prepare_flow()
660 if (match.mask->ttl) { in otx2_tc_prepare_flow()
664 flow_spec->tos = match.key->tos; in otx2_tc_prepare_flow()
665 flow_mask->tos = match.mask->tos; in otx2_tc_prepare_flow()
686 struct flow_match_ipv4_addrs match; in otx2_tc_prepare_flow() local
688 flow_rule_match_ipv4_addrs(rule, &match); in otx2_tc_prepare_flow()
690 flow_spec->ip4dst = match.key->dst; in otx2_tc_prepare_flow()
691 flow_mask->ip4dst = match.mask->dst; in otx2_tc_prepare_flow()
694 flow_spec->ip4src = match.key->src; in otx2_tc_prepare_flow()
695 flow_mask->ip4src = match.mask->src; in otx2_tc_prepare_flow()
698 struct flow_match_ipv6_addrs match; in otx2_tc_prepare_flow() local
700 flow_rule_match_ipv6_addrs(rule, &match); in otx2_tc_prepare_flow()
702 if (ipv6_addr_loopback(&match.key->dst) || in otx2_tc_prepare_flow()
703 ipv6_addr_loopback(&match.key->src)) { in otx2_tc_prepare_flow()
709 if (!ipv6_addr_any(&match.mask->dst)) { in otx2_tc_prepare_flow()
711 (struct in6_addr *)&match.key->dst, in otx2_tc_prepare_flow()
714 (struct in6_addr *)&match.mask->dst, in otx2_tc_prepare_flow()
719 if (!ipv6_addr_any(&match.mask->src)) { in otx2_tc_prepare_flow()
721 (struct in6_addr *)&match.key->src, in otx2_tc_prepare_flow()
724 (struct in6_addr *)&match.mask->src, in otx2_tc_prepare_flow()
731 struct flow_match_ports match; in otx2_tc_prepare_flow() local
733 flow_rule_match_ports(rule, &match); in otx2_tc_prepare_flow()
735 flow_spec->dport = match.key->dst; in otx2_tc_prepare_flow()
736 flow_mask->dport = match.mask->dst; in otx2_tc_prepare_flow()
747 flow_spec->sport = match.key->src; in otx2_tc_prepare_flow()
748 flow_mask->sport = match.mask->src; in otx2_tc_prepare_flow()