/kernel/linux/linux-5.10/net/netfilter/ |
H A D | nf_tables_offload.c | 26 flow->rule->match.dissector = &flow->match.dissector; in nft_flow_rule_alloc() 40 if (match->dissector.used_keys & BIT(FLOW_DISSECTOR_KEY_CONTROL)) in nft_flow_rule_set_addr_type() 45 match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_CONTROL); in nft_flow_rule_set_addr_type() 46 match->dissector.offset[FLOW_DISSECTOR_KEY_CONTROL] = in nft_flow_rule_set_addr_type() 64 if (match->dissector.used_keys & BIT(FLOW_DISSECTOR_KEY_VLAN) && in nft_flow_rule_transfer_vlan() 73 match->dissector.offset[FLOW_DISSECTOR_KEY_CVLAN] = in nft_flow_rule_transfer_vlan() 75 match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_CVLAN); in nft_flow_rule_transfer_vlan() 76 } else if (match->dissector.used_keys & BIT(FLOW_DISSECTOR_KEY_BASIC) && in nft_flow_rule_transfer_vlan() 83 match->dissector in nft_flow_rule_transfer_vlan() [all...] |
H A D | nf_flow_table_offload.c | 28 (__match)->dissector.offset[__type] = \ 76 match->dissector.used_keys |= enc_keys; in nf_flow_rule_lwt_match() 124 match->dissector.used_keys |= BIT(key->control.addr_type); in nf_flow_rule_match() 131 match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_TCP); in nf_flow_rule_match() 147 match->dissector.used_keys |= BIT(FLOW_DISSECTOR_KEY_META) | in nf_flow_rule_match() 595 flow_rule->rule->match.dissector = &flow_rule->match.dissector; in nf_flow_offload_rule_alloc()
|
/kernel/linux/linux-6.6/net/netfilter/ |
H A D | nf_tables_offload.c | 24 flow->rule->match.dissector = &flow->match.dissector; in nft_flow_rule_alloc() 38 if (match->dissector.used_keys & BIT_ULL(FLOW_DISSECTOR_KEY_CONTROL)) in nft_flow_rule_set_addr_type() 43 match->dissector.used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_CONTROL); in nft_flow_rule_set_addr_type() 44 match->dissector.offset[FLOW_DISSECTOR_KEY_CONTROL] = in nft_flow_rule_set_addr_type() 62 if (match->dissector.used_keys & BIT_ULL(FLOW_DISSECTOR_KEY_VLAN) && in nft_flow_rule_transfer_vlan() 71 match->dissector.offset[FLOW_DISSECTOR_KEY_CVLAN] = in nft_flow_rule_transfer_vlan() 73 match->dissector.used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_CVLAN); in nft_flow_rule_transfer_vlan() 74 } else if (match->dissector.used_keys & in nft_flow_rule_transfer_vlan() 82 match->dissector in nft_flow_rule_transfer_vlan() [all...] |
H A D | nf_flow_table_offload.c | 29 (__match)->dissector.offset[__type] = \ 77 match->dissector.used_keys |= enc_keys; in nf_flow_rule_lwt_match() 166 match->dissector.used_keys |= BIT_ULL(key->control.addr_type); in nf_flow_rule_match() 173 match->dissector.used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_TCP); in nf_flow_rule_match() 185 match->dissector.used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_META) | in nf_flow_rule_match() 197 match->dissector.used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_PORTS); in nf_flow_rule_match() 751 flow_rule->rule->match.dissector = &flow_rule->match.dissector; in nf_flow_offload_rule_alloc()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/stmicro/stmmac/ |
H A D | stmmac_tc.c | 463 struct flow_dissector *dissector = rule->match.dissector; in tc_add_basic_flow() local 467 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_BASIC)) in tc_add_basic_flow() 481 struct flow_dissector *dissector = rule->match.dissector; in tc_add_ip4_flow() local 488 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) in tc_add_ip4_flow() 516 struct flow_dissector *dissector = rule->match.dissector; in tc_add_ports_flow() local 524 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_PORTS)) in tc_add_ports_flow() 666 struct flow_dissector *dissector in tc_add_vlan_flow() local 737 struct flow_dissector *dissector = rule->match.dissector; tc_add_ethtype_flow() local [all...] |
H A D | stmmac_selftests.c | 1336 struct flow_dissector *dissector; in __stmmac_test_l3filt() local 1352 dissector = kzalloc(sizeof(*dissector), GFP_KERNEL); in __stmmac_test_l3filt() 1353 if (!dissector) { in __stmmac_test_l3filt() 1358 dissector->used_keys |= (1ULL << FLOW_DISSECTOR_KEY_IPV4_ADDRS); in __stmmac_test_l3filt() 1359 dissector->offset[FLOW_DISSECTOR_KEY_IPV4_ADDRS] = 0; in __stmmac_test_l3filt() 1377 rule->match.dissector = dissector; in __stmmac_test_l3filt() 1416 kfree(dissector); in __stmmac_test_l3filt() 1462 struct flow_dissector *dissector; in __stmmac_test_l4filt() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/stmicro/stmmac/ |
H A D | stmmac_selftests.c | 1336 struct flow_dissector *dissector; in __stmmac_test_l3filt() local 1352 dissector = kzalloc(sizeof(*dissector), GFP_KERNEL); in __stmmac_test_l3filt() 1353 if (!dissector) { in __stmmac_test_l3filt() 1358 dissector->used_keys |= (1 << FLOW_DISSECTOR_KEY_IPV4_ADDRS); in __stmmac_test_l3filt() 1359 dissector->offset[FLOW_DISSECTOR_KEY_IPV4_ADDRS] = 0; in __stmmac_test_l3filt() 1377 rule->match.dissector = dissector; in __stmmac_test_l3filt() 1416 kfree(dissector); in __stmmac_test_l3filt() 1462 struct flow_dissector *dissector; in __stmmac_test_l4filt() local [all...] |
H A D | stmmac_tc.c | 428 struct flow_dissector *dissector = rule->match.dissector; in tc_add_basic_flow() local 432 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_BASIC)) in tc_add_basic_flow() 445 struct flow_dissector *dissector = rule->match.dissector; in tc_add_ip4_flow() local 452 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) in tc_add_ip4_flow() 480 struct flow_dissector *dissector = rule->match.dissector; in tc_add_ports_flow() local 488 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_PORTS)) in tc_add_ports_flow()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/flower/ |
H A D | conntrack.c | 59 struct flow_dissector *dissector = rule->match.dissector; in is_pre_ct_flow() local 64 if (dissector->used_keys & BIT_ULL(FLOW_DISSECTOR_KEY_CT)) { in is_pre_ct_flow() 91 struct flow_dissector *dissector = rule->match.dissector; in is_post_ct_flow() local 97 if (dissector->used_keys & BIT_ULL(FLOW_DISSECTOR_KEY_CT)) { in is_post_ct_flow() 242 ovlp_keys = entry1->rule->match.dissector->used_keys & in nfp_ct_merge_check() 243 entry2->rule->match.dissector->used_keys; in nfp_ct_merge_check() 587 struct flow_dissector *dissector = post_ct_entry->rule->match.dissector; in nfp_ct_check_meta() local [all...] |
H A D | offload.c | 245 struct flow_dissector *dissector = rule->match.dissector; in nfp_flower_calculate_key_layers() local 253 if (dissector->used_keys & ~NFP_FLOWER_WHITELIST_DISSECTOR) { in nfp_flower_calculate_key_layers() 258 /* If any tun dissector is used then the required set must be used. */ in nfp_flower_calculate_key_layers() 259 if (dissector->used_keys & NFP_FLOWER_WHITELIST_TUN_DISSECTOR && in nfp_flower_calculate_key_layers() 260 (dissector->used_keys & NFP_FLOWER_WHITELIST_TUN_DISSECTOR_V6_R) in nfp_flower_calculate_key_layers() 262 (dissector->used_keys & NFP_FLOWER_WHITELIST_TUN_DISSECTOR_R) in nfp_flower_calculate_key_layers() 1301 struct flow_dissector *dissector = rule->match.dissector; in offload_pre_check() local 1304 if (dissector in offload_pre_check() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/ |
H A D | tc_conntrack.c | 96 struct flow_dissector *dissector = fr->match.dissector; in efx_tc_ct_parse_match() local 123 if (dissector->used_keys & in efx_tc_ct_parse_match() 133 dissector->used_keys); in efx_tc_ct_parse_match()
|
H A D | tc.c | 243 struct flow_dissector *dissector = rule->match.dissector; in efx_tc_flower_parse_match() local 247 * even on IPv4 filters; so rather than relying on dissector->used_keys in efx_tc_flower_parse_match() 282 if (dissector->used_keys & in efx_tc_flower_parse_match() 301 dissector->used_keys); in efx_tc_flower_parse_match() 310 if (dissector->used_keys & in efx_tc_flower_parse_match() 318 dissector->used_keys); in efx_tc_flower_parse_match() 364 if (dissector->used_keys & in efx_tc_flower_parse_match() 369 dissector->used_keys); in efx_tc_flower_parse_match() 428 } else if (dissector in efx_tc_flower_parse_match() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/freescale/dpaa2/ |
H A D | dpaa2-switch-flower.c | 15 struct flow_dissector *dissector = rule->match.dissector; in dpaa2_switch_flower_parse_key() local 19 if (dissector->used_keys & in dpaa2_switch_flower_parse_key() 538 struct flow_dissector *dissector = rule->match.dissector; in dpaa2_switch_flower_parse_mirror_key() local 542 if (dissector->used_keys & in dpaa2_switch_flower_parse_mirror_key()
|
/kernel/linux/linux-5.10/net/ethtool/ |
H A D | ioctl.c | 2975 struct flow_dissector dissector; member 3002 flow->rule->match.dissector = &match->dissector; in ethtool_rx_flow_rule_create() 3052 match->dissector.used_keys |= in ethtool_rx_flow_rule_create() 3054 match->dissector.offset[FLOW_DISSECTOR_KEY_IPV4_ADDRS] = in ethtool_rx_flow_rule_create() 3067 match->dissector.used_keys |= in ethtool_rx_flow_rule_create() 3069 match->dissector.offset[FLOW_DISSECTOR_KEY_PORTS] = in ethtool_rx_flow_rule_create() 3075 match->dissector.used_keys |= in ethtool_rx_flow_rule_create() 3077 match->dissector.offset[FLOW_DISSECTOR_KEY_IP] = in ethtool_rx_flow_rule_create() 3104 match->dissector in ethtool_rx_flow_rule_create() [all...] |
/kernel/linux/linux-6.6/net/ethtool/ |
H A D | ioctl.c | 3134 struct flow_dissector dissector; member 3160 flow->rule->match.dissector = &match->dissector; in ethtool_rx_flow_rule_create() 3210 match->dissector.used_keys |= in ethtool_rx_flow_rule_create() 3212 match->dissector.offset[FLOW_DISSECTOR_KEY_IPV4_ADDRS] = in ethtool_rx_flow_rule_create() 3225 match->dissector.used_keys |= in ethtool_rx_flow_rule_create() 3227 match->dissector.offset[FLOW_DISSECTOR_KEY_PORTS] = in ethtool_rx_flow_rule_create() 3233 match->dissector.used_keys |= in ethtool_rx_flow_rule_create() 3235 match->dissector.offset[FLOW_DISSECTOR_KEY_IP] = in ethtool_rx_flow_rule_create() 3262 match->dissector in ethtool_rx_flow_rule_create() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/mscc/ |
H A D | ocelot_flower.c | 440 struct flow_dissector *dissector = rule->match.dissector; in ocelot_flower_parse_key() local 446 if (dissector->used_keys & in ocelot_flower_parse_key() 496 if ((dissector->used_keys & in ocelot_flower_parse_key()
|
/kernel/linux/linux-5.10/drivers/net/dsa/sja1105/ |
H A D | sja1105_flower.c | 200 struct flow_dissector *dissector = rule->match.dissector; in sja1105_flower_parse_key() local 206 if (dissector->used_keys & in sja1105_flower_parse_key()
|
/kernel/linux/linux-6.6/drivers/net/dsa/sja1105/ |
H A D | sja1105_flower.c | 201 struct flow_dissector *dissector = rule->match.dissector; in sja1105_flower_parse_key() local 207 if (dissector->used_keys & in sja1105_flower_parse_key()
|
/kernel/linux/linux-5.10/net/sched/ |
H A D | cls_flower.c | 87 struct flow_dissector dissector; member 97 struct flow_dissector dissector; member 318 skb_flow_dissect_meta(skb, &mask->dissector, &skb_key); in fl_classify() 323 skb_flow_dissect_tunnel_info(skb, &mask->dissector, &skb_key); in fl_classify() 324 skb_flow_dissect_ct(skb, &mask->dissector, &skb_key, in fl_classify() 327 skb_flow_dissect_hash(skb, &mask->dissector, &skb_key); in fl_classify() 328 skb_flow_dissect(skb, &mask->dissector, &skb_key, 0); in fl_classify() 454 cls_flower.rule->match.dissector = &f->mask->dissector; in fl_hw_replace_filter() 1763 static void fl_init_dissector(struct flow_dissector *dissector, in fl_init_dissector() argument [all...] |
/kernel/linux/linux-5.10/include/net/netfilter/ |
H A D | nf_tables_offload.h | 59 struct flow_dissector dissector; member
|
/kernel/linux/linux-6.6/include/net/netfilter/ |
H A D | nf_tables_offload.h | 59 struct flow_dissector dissector; member
|
/kernel/linux/linux-6.6/drivers/net/ethernet/mscc/ |
H A D | ocelot_flower.c | 577 struct flow_dissector *dissector = rule->match.dissector; in ocelot_flower_parse_key() local 583 if (dissector->used_keys & in ocelot_flower_parse_key() 643 if ((dissector->used_keys & in ocelot_flower_parse_key()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | spectrum_flower.c | 404 struct flow_dissector *dissector = rule->match.dissector; in mlxsw_sp_flower_parse() local 411 if (dissector->used_keys & in mlxsw_sp_flower_parse()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/prestera/ |
H A D | prestera_flower.c | 196 struct flow_dissector *dissector = f_rule->match.dissector; in prestera_flower_parse() local 204 if (dissector->used_keys & in prestera_flower_parse()
|
/kernel/linux/linux-6.6/net/sched/ |
H A D | cls_flower.c | 91 struct flow_dissector dissector; member 101 struct flow_dissector dissector; member 328 skb_flow_dissect_meta(skb, &mask->dissector, &skb_key); in fl_classify() 333 skb_flow_dissect_tunnel_info(skb, &mask->dissector, &skb_key); in fl_classify() 334 skb_flow_dissect_ct(skb, &mask->dissector, &skb_key, in fl_classify() 338 skb_flow_dissect_hash(skb, &mask->dissector, &skb_key); in fl_classify() 339 skb_flow_dissect(skb, &mask->dissector, &skb_key, in fl_classify() 468 cls_flower.rule->match.dissector = &f->mask->dissector; in fl_hw_replace_filter() 2037 static void fl_init_dissector(struct flow_dissector *dissector, in fl_init_dissector() argument [all...] |