Lines Matching full:rule
13 struct flow_rule *rule, u8 key_type, bool qinq_sup) in nfp_flower_compile_meta_tci() argument
27 if (!qinq_sup && flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { in nfp_flower_compile_meta_tci()
30 flow_rule_match_vlan(rule, &match); in nfp_flower_compile_meta_tci()
79 struct nfp_flower_mac_mpls *msk, struct flow_rule *rule, in nfp_flower_compile_mac() argument
85 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { in nfp_flower_compile_mac()
88 flow_rule_match_eth_addrs(rule, &match); in nfp_flower_compile_mac()
96 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_MPLS)) { in nfp_flower_compile_mac()
100 flow_rule_match_mpls(rule, &match); in nfp_flower_compile_mac()
125 } else if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { in nfp_flower_compile_mac()
132 flow_rule_match_basic(rule, &match); in nfp_flower_compile_mac()
146 struct flow_rule *rule) in nfp_flower_compile_tport() argument
151 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_PORTS)) { in nfp_flower_compile_tport()
154 flow_rule_match_ports(rule, &match); in nfp_flower_compile_tport()
164 struct nfp_flower_ip_ext *msk, struct flow_rule *rule) in nfp_flower_compile_ip_ext() argument
166 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) { in nfp_flower_compile_ip_ext()
169 flow_rule_match_basic(rule, &match); in nfp_flower_compile_ip_ext()
174 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IP)) { in nfp_flower_compile_ip_ext()
177 flow_rule_match_ip(rule, &match); in nfp_flower_compile_ip_ext()
184 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_TCP)) { in nfp_flower_compile_ip_ext()
188 flow_rule_match_tcp(rule, &match); in nfp_flower_compile_ip_ext()
218 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { in nfp_flower_compile_ip_ext()
221 flow_rule_match_control(rule, &match); in nfp_flower_compile_ip_ext()
258 struct flow_rule *rule) in nfp_flower_compile_vlan() argument
265 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { in nfp_flower_compile_vlan()
266 flow_rule_match_vlan(rule, &match); in nfp_flower_compile_vlan()
270 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CVLAN)) { in nfp_flower_compile_vlan()
271 flow_rule_match_cvlan(rule, &match); in nfp_flower_compile_vlan()
279 struct nfp_flower_ipv4 *msk, struct flow_rule *rule) in nfp_flower_compile_ipv4() argument
286 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) { in nfp_flower_compile_ipv4()
287 flow_rule_match_ipv4_addrs(rule, &match); in nfp_flower_compile_ipv4()
294 nfp_flower_compile_ip_ext(&ext->ip_ext, &msk->ip_ext, rule); in nfp_flower_compile_ipv4()
299 struct nfp_flower_ipv6 *msk, struct flow_rule *rule) in nfp_flower_compile_ipv6() argument
304 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_IPV6_ADDRS)) { in nfp_flower_compile_ipv6()
307 flow_rule_match_ipv6_addrs(rule, &match); in nfp_flower_compile_ipv6()
314 nfp_flower_compile_ip_ext(&ext->ip_ext, &msk->ip_ext, rule); in nfp_flower_compile_ipv6()
318 nfp_flower_compile_geneve_opt(void *ext, void *msk, struct flow_rule *rule) in nfp_flower_compile_geneve_opt() argument
322 flow_rule_match_enc_opts(rule, &match); in nfp_flower_compile_geneve_opt()
332 struct flow_rule *rule) in nfp_flower_compile_tun_ipv4_addrs() argument
334 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IPV4_ADDRS)) { in nfp_flower_compile_tun_ipv4_addrs()
337 flow_rule_match_enc_ipv4_addrs(rule, &match); in nfp_flower_compile_tun_ipv4_addrs()
348 struct flow_rule *rule) in nfp_flower_compile_tun_ipv6_addrs() argument
350 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IPV6_ADDRS)) { in nfp_flower_compile_tun_ipv6_addrs()
353 flow_rule_match_enc_ipv6_addrs(rule, &match); in nfp_flower_compile_tun_ipv6_addrs()
364 struct flow_rule *rule) in nfp_flower_compile_tun_ip_ext() argument
366 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_IP)) { in nfp_flower_compile_tun_ip_ext()
369 flow_rule_match_enc_ip(rule, &match); in nfp_flower_compile_tun_ip_ext()
379 struct flow_rule *rule) in nfp_flower_compile_tun_udp_key() argument
381 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { in nfp_flower_compile_tun_udp_key()
385 flow_rule_match_enc_keyid(rule, &match); in nfp_flower_compile_tun_udp_key()
395 __be16 *flags_msk, struct flow_rule *rule) in nfp_flower_compile_tun_gre_key() argument
397 if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ENC_KEYID)) { in nfp_flower_compile_tun_gre_key()
400 flow_rule_match_enc_keyid(rule, &match); in nfp_flower_compile_tun_gre_key()
412 struct flow_rule *rule) in nfp_flower_compile_ipv4_gre_tun() argument
421 nfp_flower_compile_tun_ipv4_addrs(&ext->ipv4, &msk->ipv4, rule); in nfp_flower_compile_ipv4_gre_tun()
422 nfp_flower_compile_tun_ip_ext(&ext->ip_ext, &msk->ip_ext, rule); in nfp_flower_compile_ipv4_gre_tun()
424 &ext->tun_flags, &msk->tun_flags, rule); in nfp_flower_compile_ipv4_gre_tun()
430 struct flow_rule *rule) in nfp_flower_compile_ipv4_udp_tun() argument
435 nfp_flower_compile_tun_ipv4_addrs(&ext->ipv4, &msk->ipv4, rule); in nfp_flower_compile_ipv4_udp_tun()
436 nfp_flower_compile_tun_ip_ext(&ext->ip_ext, &msk->ip_ext, rule); in nfp_flower_compile_ipv4_udp_tun()
437 nfp_flower_compile_tun_udp_key(&ext->tun_id, &msk->tun_id, rule); in nfp_flower_compile_ipv4_udp_tun()
443 struct flow_rule *rule) in nfp_flower_compile_ipv6_udp_tun() argument
448 nfp_flower_compile_tun_ipv6_addrs(&ext->ipv6, &msk->ipv6, rule); in nfp_flower_compile_ipv6_udp_tun()
449 nfp_flower_compile_tun_ip_ext(&ext->ip_ext, &msk->ip_ext, rule); in nfp_flower_compile_ipv6_udp_tun()
450 nfp_flower_compile_tun_udp_key(&ext->tun_id, &msk->tun_id, rule); in nfp_flower_compile_ipv6_udp_tun()
456 struct flow_rule *rule) in nfp_flower_compile_ipv6_gre_tun() argument
465 nfp_flower_compile_tun_ipv6_addrs(&ext->ipv6, &msk->ipv6, rule); in nfp_flower_compile_ipv6_gre_tun()
466 nfp_flower_compile_tun_ip_ext(&ext->ip_ext, &msk->ip_ext, rule); in nfp_flower_compile_ipv6_gre_tun()
468 &ext->tun_flags, &msk->tun_flags, rule); in nfp_flower_compile_ipv6_gre_tun()
479 struct flow_rule *rule = flow_cls_offload_flow_rule(flow); in nfp_flower_compile_flow_match() local
500 rule, key_ls->key_layer, qinq_sup); in nfp_flower_compile_flow_match()
532 rule, extack); in nfp_flower_compile_flow_match()
543 rule); in nfp_flower_compile_flow_match()
551 rule); in nfp_flower_compile_flow_match()
559 rule); in nfp_flower_compile_flow_match()
571 (void *)msk, rule); in nfp_flower_compile_flow_match()
586 (void *)msk, rule); in nfp_flower_compile_flow_match()
591 /* Store the tunnel destination in the rule data. in nfp_flower_compile_flow_match()
602 rule); in nfp_flower_compile_flow_match()
615 (void *)msk, rule); in nfp_flower_compile_flow_match()
630 (void *)msk, rule); in nfp_flower_compile_flow_match()
635 /* Store the tunnel destination in the rule data. in nfp_flower_compile_flow_match()
643 err = nfp_flower_compile_geneve_opt(ext, msk, rule); in nfp_flower_compile_flow_match()