flow_dissector 177 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 230 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 7747 drivers/net/ethernet/intel/i40e/i40e_main.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 2692 drivers/net/ethernet/intel/iavf/iavf_main.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 2588 drivers/net/ethernet/intel/igb/igb_main.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 1813 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 330 drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 45 drivers/net/ethernet/mscc/ocelot_flower.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 225 drivers/net/ethernet/netronome/nfp/flower/offload.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 1901 drivers/net/ethernet/qlogic/qede/qede_filter.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 1298 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c struct flow_dissector *dissector; flow_dissector 1423 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c struct flow_dissector *dissector; flow_dissector 399 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 416 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 451 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c struct flow_dissector *dissector = rule->match.dissector; flow_dissector 21 include/linux/bpf_types.h BPF_PROG_TYPE(BPF_PROG_TYPE_FLOW_DISSECTOR, flow_dissector) flow_dissector 1250 include/linux/skbuff.h void skb_flow_dissector_init(struct flow_dissector *flow_dissector, flow_dissector 1286 include/linux/skbuff.h struct flow_dissector *flow_dissector, flow_dissector 1292 include/linux/skbuff.h struct flow_dissector *flow_dissector, flow_dissector 1295 include/linux/skbuff.h return __skb_flow_dissect(NULL, skb, flow_dissector, flow_dissector 1321 include/linux/skbuff.h struct flow_dissector *flow_dissector, flow_dissector 1330 include/linux/skbuff.h struct flow_dissector *flow_dissector, flow_dissector 1336 include/linux/skbuff.h struct flow_dissector *flow_dissector, flow_dissector 297 include/net/flow_dissector.h extern struct flow_dissector flow_keys_dissector; flow_dissector 298 include/net/flow_dissector.h extern struct flow_dissector flow_keys_basic_dissector; flow_dissector 322 include/net/flow_dissector.h static inline bool dissector_uses_key(const struct flow_dissector *flow_dissector, flow_dissector 325 include/net/flow_dissector.h return flow_dissector->used_keys & (1 << key_id); flow_dissector 328 include/net/flow_dissector.h static inline void *skb_flow_dissector_target(struct flow_dissector *flow_dissector, flow_dissector 332 include/net/flow_dissector.h return ((char *)target_container) + flow_dissector->offset[key_id]; flow_dissector 10 include/net/flow_offload.h struct flow_dissector *dissector; flow_dissector 51 include/net/netfilter/nf_tables_offload.h struct flow_dissector dissector; flow_dissector 2860 net/core/ethtool.c struct flow_dissector dissector; flow_dissector 37 net/core/flow_dissector.c static void dissector_set_key(struct flow_dissector *flow_dissector, flow_dissector 40 net/core/flow_dissector.c flow_dissector->used_keys |= (1 << key_id); flow_dissector 43 net/core/flow_dissector.c void skb_flow_dissector_init(struct flow_dissector *flow_dissector, flow_dissector 49 net/core/flow_dissector.c memset(flow_dissector, 0, sizeof(*flow_dissector)); flow_dissector 56 net/core/flow_dissector.c BUG_ON(dissector_uses_key(flow_dissector, flow_dissector 59 net/core/flow_dissector.c dissector_set_key(flow_dissector, key->key_id); flow_dissector 60 net/core/flow_dissector.c flow_dissector->offset[key->key_id] = key->offset; flow_dissector 66 net/core/flow_dissector.c BUG_ON(!dissector_uses_key(flow_dissector, flow_dissector 68 net/core/flow_dissector.c BUG_ON(!dissector_uses_key(flow_dissector, flow_dissector 223 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 228 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_META)) flow_dissector 231 net/core/flow_dissector.c meta = skb_flow_dissector_target(flow_dissector, flow_dissector 240 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 245 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_CONTROL)) flow_dissector 248 net/core/flow_dissector.c ctrl = skb_flow_dissector_target(flow_dissector, flow_dissector 256 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 267 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_CT)) flow_dissector 274 net/core/flow_dissector.c key = skb_flow_dissector_target(flow_dissector, flow_dissector 296 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 303 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, flow_dissector 305 net/core/flow_dissector.c !dissector_uses_key(flow_dissector, flow_dissector 307 net/core/flow_dissector.c !dissector_uses_key(flow_dissector, flow_dissector 309 net/core/flow_dissector.c !dissector_uses_key(flow_dissector, flow_dissector 311 net/core/flow_dissector.c !dissector_uses_key(flow_dissector, flow_dissector 313 net/core/flow_dissector.c !dissector_uses_key(flow_dissector, flow_dissector 315 net/core/flow_dissector.c !dissector_uses_key(flow_dissector, flow_dissector 328 net/core/flow_dissector.c flow_dissector, flow_dissector 330 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 334 net/core/flow_dissector.c ipv4 = skb_flow_dissector_target(flow_dissector, flow_dissector 343 net/core/flow_dissector.c flow_dissector, flow_dissector 345 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 349 net/core/flow_dissector.c ipv6 = skb_flow_dissector_target(flow_dissector, flow_dissector 358 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_KEYID)) { flow_dissector 361 net/core/flow_dissector.c keyid = skb_flow_dissector_target(flow_dissector, flow_dissector 367 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_PORTS)) { flow_dissector 370 net/core/flow_dissector.c tp = skb_flow_dissector_target(flow_dissector, flow_dissector 377 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_IP)) { flow_dissector 380 net/core/flow_dissector.c ip = skb_flow_dissector_target(flow_dissector, flow_dissector 387 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_OPTS)) { flow_dissector 390 net/core/flow_dissector.c enc_opt = skb_flow_dissector_target(flow_dissector, flow_dissector 406 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 413 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, flow_dissector 415 net/core/flow_dissector.c !dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_MPLS)) flow_dissector 426 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_MPLS)) { flow_dissector 429 net/core/flow_dissector.c key_mpls = skb_flow_dissector_target(flow_dissector, flow_dissector 442 net/core/flow_dissector.c key_keyid = skb_flow_dissector_target(flow_dissector, flow_dissector 452 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 465 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ARP)) flow_dissector 487 net/core/flow_dissector.c key_arp = skb_flow_dissector_target(flow_dissector, flow_dissector 508 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 555 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 557 net/core/flow_dissector.c key_keyid = skb_flow_dissector_target(flow_dissector, flow_dissector 680 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 686 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_TCP)) flow_dissector 696 net/core/flow_dissector.c key_tcp = skb_flow_dissector_target(flow_dissector, flow_dissector 704 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 711 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_PORTS)) flow_dissector 713 net/core/flow_dissector.c else if (dissector_uses_key(flow_dissector, flow_dissector 720 net/core/flow_dissector.c key_ports = skb_flow_dissector_target(flow_dissector, flow_dissector 729 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 734 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_IP)) flow_dissector 737 net/core/flow_dissector.c key_ip = skb_flow_dissector_target(flow_dissector, flow_dissector 746 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 751 net/core/flow_dissector.c if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_IP)) flow_dissector 754 net/core/flow_dissector.c key_ip = skb_flow_dissector_target(flow_dissector, flow_dissector 774 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 783 net/core/flow_dissector.c key_control = skb_flow_dissector_target(flow_dissector, flow_dissector 794 net/core/flow_dissector.c key_basic = skb_flow_dissector_target(flow_dissector, flow_dissector 801 net/core/flow_dissector.c dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) { flow_dissector 802 net/core/flow_dissector.c key_addrs = skb_flow_dissector_target(flow_dissector, flow_dissector 809 net/core/flow_dissector.c dissector_uses_key(flow_dissector, flow_dissector 811 net/core/flow_dissector.c key_addrs = skb_flow_dissector_target(flow_dissector, flow_dissector 819 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_PORTS)) flow_dissector 820 net/core/flow_dissector.c key_ports = skb_flow_dissector_target(flow_dissector, flow_dissector 823 net/core/flow_dissector.c else if (dissector_uses_key(flow_dissector, flow_dissector 825 net/core/flow_dissector.c key_ports = skb_flow_dissector_target(flow_dissector, flow_dissector 834 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 836 net/core/flow_dissector.c key_tags = skb_flow_dissector_target(flow_dissector, flow_dissector 895 net/core/flow_dissector.c struct flow_dissector *flow_dissector, flow_dissector 938 net/core/flow_dissector.c key_control = skb_flow_dissector_target(flow_dissector, flow_dissector 945 net/core/flow_dissector.c key_basic = skb_flow_dissector_target(flow_dissector, flow_dissector 983 net/core/flow_dissector.c __skb_flow_bpf_to_target(&flow_keys, flow_dissector, flow_dissector 991 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 996 net/core/flow_dissector.c key_eth_addrs = skb_flow_dissector_target(flow_dissector, flow_dissector 1020 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 1022 net/core/flow_dissector.c key_addrs = skb_flow_dissector_target(flow_dissector, flow_dissector 1047 net/core/flow_dissector.c __skb_flow_dissect_ipv4(skb, flow_dissector, flow_dissector 1065 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 1067 net/core/flow_dissector.c key_addrs = skb_flow_dissector_target(flow_dissector, flow_dissector 1076 net/core/flow_dissector.c if ((dissector_uses_key(flow_dissector, flow_dissector 1082 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 1084 net/core/flow_dissector.c key_tags = skb_flow_dissector_target(flow_dissector, flow_dissector 1095 net/core/flow_dissector.c __skb_flow_dissect_ipv6(skb, flow_dissector, flow_dissector 1130 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, dissector_vlan)) { flow_dissector 1131 net/core/flow_dissector.c key_vlan = skb_flow_dissector_target(flow_dissector, flow_dissector 1189 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 1191 net/core/flow_dissector.c key_addrs = skb_flow_dissector_target(flow_dissector, flow_dissector 1203 net/core/flow_dissector.c fdret = __skb_flow_dissect_mpls(skb, flow_dissector, flow_dissector 1219 net/core/flow_dissector.c fdret = __skb_flow_dissect_arp(skb, flow_dissector, flow_dissector 1255 net/core/flow_dissector.c fdret = __skb_flow_dissect_gre(skb, key_control, flow_dissector, flow_dissector 1342 net/core/flow_dissector.c __skb_flow_dissect_tcp(skb, flow_dissector, target_container, flow_dissector 1351 net/core/flow_dissector.c __skb_flow_dissect_ports(skb, flow_dissector, target_container, flow_dissector 1354 net/core/flow_dissector.c if (dissector_uses_key(flow_dissector, flow_dissector 1356 net/core/flow_dissector.c key_icmp = skb_flow_dissector_target(flow_dissector, flow_dissector 1550 net/core/flow_dissector.c static struct flow_dissector flow_keys_dissector_symmetric __read_mostly; flow_dissector 1761 net/core/flow_dissector.c struct flow_dissector flow_keys_dissector __read_mostly; flow_dissector 1764 net/core/flow_dissector.c struct flow_dissector flow_keys_basic_dissector __read_mostly; flow_dissector 25 net/core/flow_offload.c struct flow_dissector *__d = (__m)->dissector; \ flow_dissector 79 net/sched/cls_flower.c struct flow_dissector dissector; flow_dissector 89 net/sched/cls_flower.c struct flow_dissector dissector; flow_dissector 1316 net/sched/cls_flower.c static void fl_init_dissector(struct flow_dissector *dissector, flow_dissector 206 samples/bpf/sockex2_kern.c if (!flow_dissector(skb, &flow))