Lines Matching refs:match
392 struct flow_match_meta match; in ocelot_flower_parse_indev() local
395 flow_rule_match_meta(rule, &match); in ocelot_flower_parse_indev()
397 if (!match.mask->ingress_ifindex) in ocelot_flower_parse_indev()
400 if (match.mask->ingress_ifindex != 0xFFFFFFFF) { in ocelot_flower_parse_indev()
409 indev = __dev_get_by_index(dev_net(dev), match.key->ingress_ifindex); in ocelot_flower_parse_indev()
440 struct flow_dissector *dissector = rule->match.dissector; in ocelot_flower_parse_key()
466 struct flow_match_control match; in ocelot_flower_parse_key() local
468 flow_rule_match_control(rule, &match); in ocelot_flower_parse_key()
472 struct flow_match_vlan match; in ocelot_flower_parse_key() local
474 flow_rule_match_vlan(rule, &match); in ocelot_flower_parse_key()
476 filter->vlan.vid.value = match.key->vlan_id; in ocelot_flower_parse_key()
477 filter->vlan.vid.mask = match.mask->vlan_id; in ocelot_flower_parse_key()
478 filter->vlan.pcp.value[0] = match.key->vlan_priority; in ocelot_flower_parse_key()
479 filter->vlan.pcp.mask[0] = match.mask->vlan_priority; in ocelot_flower_parse_key()
484 struct flow_match_eth_addrs match; in ocelot_flower_parse_key() local
505 flow_rule_match_eth_addrs(rule, &match); in ocelot_flower_parse_key()
508 !is_zero_ether_addr(match.mask->dst)) { in ocelot_flower_parse_key()
516 match.key->dst); in ocelot_flower_parse_key()
518 match.key->src); in ocelot_flower_parse_key()
520 match.mask->dst); in ocelot_flower_parse_key()
522 match.mask->src); in ocelot_flower_parse_key()
527 struct flow_match_basic match; in ocelot_flower_parse_key() local
529 flow_rule_match_basic(rule, &match); in ocelot_flower_parse_key()
530 if (ntohs(match.key->n_proto) == ETH_P_IP) { in ocelot_flower_parse_key()
539 match.key->ip_proto; in ocelot_flower_parse_key()
541 match.mask->ip_proto; in ocelot_flower_parse_key()
544 if (ntohs(match.key->n_proto) == ETH_P_IPV6) { in ocelot_flower_parse_key()
553 match.key->ip_proto; in ocelot_flower_parse_key()
555 match.mask->ip_proto; in ocelot_flower_parse_key()
562 struct flow_match_ipv4_addrs match; in ocelot_flower_parse_key() local
571 flow_rule_match_ipv4_addrs(rule, &match); in ocelot_flower_parse_key()
573 if (filter->block_id == VCAP_IS1 && *(u32 *)&match.mask->dst) { in ocelot_flower_parse_key()
580 memcpy(tmp, &match.key->src, 4); in ocelot_flower_parse_key()
583 memcpy(tmp, &match.mask->src, 4); in ocelot_flower_parse_key()
586 memcpy(tmp, &match.key->dst, 4); in ocelot_flower_parse_key()
589 memcpy(tmp, &match.mask->dst, 4); in ocelot_flower_parse_key()
599 struct flow_match_ports match; in ocelot_flower_parse_key() local
607 flow_rule_match_ports(rule, &match); in ocelot_flower_parse_key()
608 filter->key.ipv4.sport.value = ntohs(match.key->src); in ocelot_flower_parse_key()
609 filter->key.ipv4.sport.mask = ntohs(match.mask->src); in ocelot_flower_parse_key()
610 filter->key.ipv4.dport.value = ntohs(match.key->dst); in ocelot_flower_parse_key()
611 filter->key.ipv4.dport.mask = ntohs(match.mask->dst); in ocelot_flower_parse_key()