Home
last modified time | relevance | path

Searched refs:dissector (Results 1 – 21 of 21) sorted by relevance

/Linux-v5.4/Documentation/bpf/
Dprog_flow_dissector.rst10 Flow dissector is a routine that parses metadata out of the packets. It's
13 BPF flow dissector is an attempt to reimplement C-based flow dissector logic
20 BPF flow dissector programs operate on an ``__sk_buff``. However, only the
22 ``flow_keys`` is ``struct bpf_flow_keys`` and contains flow dissector input
31 Flow dissector BPF program should fill out the rest of the ``struct
42 dissector looks like::
49 +-- flow dissector starts here
58 In case of VLAN, flow dissector can be called with the two different states.
67 +-- flow dissector starts here
86 +-- flow dissector starts here
[all …]
/Linux-v5.4/drivers/net/ethernet/stmicro/stmmac/
Dstmmac_tc.c399 struct flow_dissector *dissector = rule->match.dissector; in tc_add_basic_flow() local
403 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_BASIC)) in tc_add_basic_flow()
416 struct flow_dissector *dissector = rule->match.dissector; in tc_add_ip4_flow() local
423 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) in tc_add_ip4_flow()
451 struct flow_dissector *dissector = rule->match.dissector; in tc_add_ports_flow() local
459 if (!dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_PORTS)) in tc_add_ports_flow()
Dstmmac_selftests.c1288 struct flow_dissector *dissector; in __stmmac_test_l3filt() local
1301 dissector = kzalloc(sizeof(*dissector), GFP_KERNEL); in __stmmac_test_l3filt()
1302 if (!dissector) { in __stmmac_test_l3filt()
1307 dissector->used_keys |= (1 << FLOW_DISSECTOR_KEY_IPV4_ADDRS); in __stmmac_test_l3filt()
1308 dissector->offset[FLOW_DISSECTOR_KEY_IPV4_ADDRS] = 0; in __stmmac_test_l3filt()
1326 rule->match.dissector = dissector; in __stmmac_test_l3filt()
1364 kfree(dissector); in __stmmac_test_l3filt()
1409 struct flow_dissector *dissector; in __stmmac_test_l4filt() local
1422 dissector = kzalloc(sizeof(*dissector), GFP_KERNEL); in __stmmac_test_l4filt()
1423 if (!dissector) { in __stmmac_test_l4filt()
[all …]
/Linux-v5.4/drivers/net/ethernet/mscc/
Docelot_flower.c45 struct flow_dissector *dissector = rule->match.dissector; in ocelot_flower_parse() local
47 if (dissector->used_keys & in ocelot_flower_parse()
72 if ((dissector->used_keys & in ocelot_flower_parse()
/Linux-v5.4/net/core/
Dethtool.c2860 struct flow_dissector dissector; member
2887 flow->rule->match.dissector = &match->dissector; in ethtool_rx_flow_rule_create()
2937 match->dissector.used_keys |= in ethtool_rx_flow_rule_create()
2939 match->dissector.offset[FLOW_DISSECTOR_KEY_IPV4_ADDRS] = in ethtool_rx_flow_rule_create()
2952 match->dissector.used_keys |= in ethtool_rx_flow_rule_create()
2954 match->dissector.offset[FLOW_DISSECTOR_KEY_PORTS] = in ethtool_rx_flow_rule_create()
2960 match->dissector.used_keys |= in ethtool_rx_flow_rule_create()
2962 match->dissector.offset[FLOW_DISSECTOR_KEY_IP] = in ethtool_rx_flow_rule_create()
2989 match->dissector.used_keys |= in ethtool_rx_flow_rule_create()
2991 match->dissector.offset[FLOW_DISSECTOR_KEY_IPV6_ADDRS] = in ethtool_rx_flow_rule_create()
[all …]
Dflow_offload.c25 struct flow_dissector *__d = (__m)->dissector; \
/Linux-v5.4/net/netfilter/
Dnft_cmp.c125 flow->match.dissector.used_keys |= BIT(reg->key); in __nft_cmp_offload()
126 flow->match.dissector.offset[reg->key] = reg->base_offset; in __nft_cmp_offload()
Dnf_tables_offload.c24 flow->rule->match.dissector = &flow->match.dissector; in nft_flow_rule_alloc()
/Linux-v5.4/include/net/netfilter/
Dnf_tables_offload.h51 struct flow_dissector dissector; member
/Linux-v5.4/net/sched/
Dcls_flower.c74 struct flow_dissector dissector; member
84 struct flow_dissector dissector; member
303 skb_flow_dissect_meta(skb, &mask->dissector, &skb_key); in fl_classify()
308 skb_flow_dissect_tunnel_info(skb, &mask->dissector, &skb_key); in fl_classify()
309 skb_flow_dissect_ct(skb, &mask->dissector, &skb_key, in fl_classify()
312 skb_flow_dissect(skb, &mask->dissector, &skb_key, 0); in fl_classify()
440 cls_flower.rule->match.dissector = &f->mask->dissector; in fl_hw_replace_filter()
1307 static void fl_init_dissector(struct flow_dissector *dissector, in fl_init_dissector() argument
1359 skb_flow_dissector_init(dissector, keys, cnt); in fl_init_dissector()
1382 fl_init_dissector(&newmask->dissector, &newmask->key); in fl_create_new_mask()
[all …]
/Linux-v5.4/include/net/
Dflow_offload.h10 struct flow_dissector *dissector; member
253 return dissector_uses_key(rule->match.dissector, key); in flow_rule_match_key()
/Linux-v5.4/drivers/net/ethernet/mellanox/mlxsw/
Dspectrum_flower.c327 struct flow_dissector *dissector = rule->match.dissector; in mlxsw_sp_flower_parse() local
334 if (dissector->used_keys & in mlxsw_sp_flower_parse()
/Linux-v5.4/drivers/net/ethernet/chelsio/cxgb4/
Dcxgb4_tc_flower.c230 struct flow_dissector *dissector = rule->match.dissector; in cxgb4_validate_flow_match() local
234 if (dissector->used_keys & in cxgb4_validate_flow_match()
244 dissector->used_keys); in cxgb4_validate_flow_match()
/Linux-v5.4/drivers/net/ethernet/netronome/nfp/flower/
Doffload.c225 struct flow_dissector *dissector = rule->match.dissector; in nfp_flower_calculate_key_layers() local
233 if (dissector->used_keys & ~NFP_FLOWER_WHITELIST_DISSECTOR) { in nfp_flower_calculate_key_layers()
239 if (dissector->used_keys & NFP_FLOWER_WHITELIST_TUN_DISSECTOR && in nfp_flower_calculate_key_layers()
240 (dissector->used_keys & NFP_FLOWER_WHITELIST_TUN_DISSECTOR_R) in nfp_flower_calculate_key_layers()
/Linux-v5.4/drivers/net/ethernet/broadcom/bnxt/
Dbnxt_tc.c177 struct flow_dissector *dissector = rule->match.dissector; in bnxt_tc_parse_flow() local
180 if ((dissector->used_keys & BIT(FLOW_DISSECTOR_KEY_CONTROL)) == 0 || in bnxt_tc_parse_flow()
181 (dissector->used_keys & BIT(FLOW_DISSECTOR_KEY_BASIC)) == 0) { in bnxt_tc_parse_flow()
183 dissector->used_keys); in bnxt_tc_parse_flow()
/Linux-v5.4/drivers/net/ethernet/qlogic/qede/
Dqede_filter.c1901 struct flow_dissector *dissector = rule->match.dissector; in qede_parse_flow_attr() local
1907 if (dissector->used_keys & in qede_parse_flow_attr()
1914 dissector->used_keys); in qede_parse_flow_attr()
/Linux-v5.4/drivers/net/ethernet/intel/iavf/
Diavf_main.c2683 struct flow_dissector *dissector = rule->match.dissector; in iavf_parse_cls_flower() local
2692 if (dissector->used_keys & in iavf_parse_cls_flower()
2702 dissector->used_keys); in iavf_parse_cls_flower()
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/
Den_tc.c1810 struct flow_dissector *dissector = rule->match.dissector; in __parse_cls_flower() local
1817 if (dissector->used_keys & in __parse_cls_flower()
1838 dissector->used_keys); in __parse_cls_flower()
/Linux-v5.4/drivers/net/ethernet/intel/igb/
Digb_main.c2588 struct flow_dissector *dissector = rule->match.dissector; in igb_parse_cls_flower() local
2591 if (dissector->used_keys & in igb_parse_cls_flower()
/Linux-v5.4/drivers/net/ethernet/intel/i40e/
Di40e_main.c7746 struct flow_dissector *dissector = rule->match.dissector; in i40e_parse_cls_flower() local
7751 if (dissector->used_keys & in i40e_parse_cls_flower()
7761 dissector->used_keys); in i40e_parse_cls_flower()
/Linux-v5.4/Documentation/networking/
Dfilter.txt596 extension, PTP dissector/classifier, and much more. They are all internally