Lines Matching refs:match

373 	struct flow_dissector *dissector = rule->match.dissector;
384 struct flow_match_basic match;
386 flow_rule_match_basic(rule, &match);
387 flow->l2_key.ether_type = match.key->n_proto;
388 flow->l2_mask.ether_type = match.mask->n_proto;
390 if (match.key->n_proto == htons(ETH_P_IP) ||
391 match.key->n_proto == htons(ETH_P_IPV6)) {
392 flow->l4_key.ip_proto = match.key->ip_proto;
393 flow->l4_mask.ip_proto = match.mask->ip_proto;
398 struct flow_match_eth_addrs match;
400 flow_rule_match_eth_addrs(rule, &match);
402 ether_addr_copy(flow->l2_key.dmac, match.key->dst);
403 ether_addr_copy(flow->l2_mask.dmac, match.mask->dst);
404 ether_addr_copy(flow->l2_key.smac, match.key->src);
405 ether_addr_copy(flow->l2_mask.smac, match.mask->src);
409 struct flow_match_vlan match;
411 flow_rule_match_vlan(rule, &match);
413 cpu_to_be16(VLAN_TCI(match.key->vlan_id,
414 match.key->vlan_priority));
416 cpu_to_be16((VLAN_TCI(match.mask->vlan_id,
417 match.mask->vlan_priority)));
424 struct flow_match_ipv4_addrs match;
426 flow_rule_match_ipv4_addrs(rule, &match);
428 flow->l3_key.ipv4.daddr.s_addr = match.key->dst;
429 flow->l3_mask.ipv4.daddr.s_addr = match.mask->dst;
430 flow->l3_key.ipv4.saddr.s_addr = match.key->src;
431 flow->l3_mask.ipv4.saddr.s_addr = match.mask->src;
433 struct flow_match_ipv6_addrs match;
435 flow_rule_match_ipv6_addrs(rule, &match);
437 flow->l3_key.ipv6.daddr = match.key->dst;
438 flow->l3_mask.ipv6.daddr = match.mask->dst;
439 flow->l3_key.ipv6.saddr = match.key->src;
440 flow->l3_mask.ipv6.saddr = match.mask->src;
444 struct flow_match_ports match;
446 flow_rule_match_ports(rule, &match);
448 flow->l4_key.ports.dport = match.key->dst;
449 flow->l4_mask.ports.dport = match.mask->dst;
450 flow->l4_key.ports.sport = match.key->src;
451 flow->l4_mask.ports.sport = match.mask->src;
455 struct flow_match_icmp match;
457 flow_rule_match_icmp(rule, &match);
459 flow->l4_key.icmp.type = match.key->type;
460 flow->l4_key.icmp.code = match.key->code;
461 flow->l4_mask.icmp.type = match.mask->type;
462 flow->l4_mask.icmp.code = match.mask->code;
466 struct flow_match_ipv4_addrs match;
468 flow_rule_match_enc_ipv4_addrs(rule, &match);
470 flow->tun_key.u.ipv4.dst = match.key->dst;
471 flow->tun_mask.u.ipv4.dst = match.mask->dst;
472 flow->tun_key.u.ipv4.src = match.key->src;
473 flow->tun_mask.u.ipv4.src = match.mask->src;
480 struct flow_match_enc_keyid match;
482 flow_rule_match_enc_keyid(rule, &match);
484 flow->tun_key.tun_id = key32_to_tunnel_id(match.key->keyid);
485 flow->tun_mask.tun_id = key32_to_tunnel_id(match.mask->keyid);
489 struct flow_match_ports match;
491 flow_rule_match_enc_ports(rule, &match);
493 flow->tun_key.tp_dst = match.key->dst;
494 flow->tun_mask.tp_dst = match.mask->dst;
495 flow->tun_key.tp_src = match.key->src;
496 flow->tun_mask.tp_src = match.mask->src;
562 * VLAN id must be exact match.
1055 netdev_info(bp->dev, "Wildcard match unsupported for Source MAC\n");
1060 netdev_info(bp->dev, "Wildcard match unsupported for Dest MAC\n");
1076 netdev_info(bp->dev, "Wildcard match unsupported for VLAN TPID\n");
1083 netdev_info(bp->dev, "Wildcard match unsupported for Ethertype\n");