/Linux-v4.19/drivers/net/ethernet/netronome/nfp/flower/ |
D | match.c | 54 if (dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_VLAN)) { in nfp_flower_compile_meta_tci() 55 flow_vlan = skb_flow_dissector_target(flow->dissector, in nfp_flower_compile_meta_tci() 103 if (dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { in nfp_flower_compile_mac() 104 addr = skb_flow_dissector_target(flow->dissector, in nfp_flower_compile_mac() 112 if (dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_MPLS)) { in nfp_flower_compile_mac() 116 mpls = skb_flow_dissector_target(flow->dissector, in nfp_flower_compile_mac() 126 } else if (dissector_uses_key(flow->dissector, in nfp_flower_compile_mac() 134 key_basic = skb_flow_dissector_target(flow->dissector, in nfp_flower_compile_mac() 153 if (dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_PORTS)) { in nfp_flower_compile_tport() 154 tp = skb_flow_dissector_target(flow->dissector, in nfp_flower_compile_tport() [all …]
|
D | offload.c | 136 return dissector_uses_key(f->dissector, in nfp_flower_check_higher_than_mac() 138 dissector_uses_key(f->dissector, in nfp_flower_check_higher_than_mac() 140 dissector_uses_key(f->dissector, in nfp_flower_check_higher_than_mac() 142 dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_ICMP); in nfp_flower_check_higher_than_mac() 175 if (flow->dissector->used_keys & ~NFP_FLOWER_WHITELIST_DISSECTOR) in nfp_flower_calculate_key_layers() 179 if (flow->dissector->used_keys & NFP_FLOWER_WHITELIST_TUN_DISSECTOR && in nfp_flower_calculate_key_layers() 180 (flow->dissector->used_keys & NFP_FLOWER_WHITELIST_TUN_DISSECTOR_R) in nfp_flower_calculate_key_layers() 189 if (dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_ETH_ADDRS) || in nfp_flower_calculate_key_layers() 190 dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_MPLS)) { in nfp_flower_calculate_key_layers() 195 if (dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_VLAN)) { in nfp_flower_calculate_key_layers() [all …]
|
D | action.c | 596 if (dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_BASIC)) { in nfp_fl_pedit() 599 basic = skb_flow_dissector_target(flow->dissector, in nfp_fl_pedit()
|
/Linux-v4.19/drivers/net/ethernet/mellanox/mlxsw/ |
D | spectrum_flower.c | 117 skb_flow_dissector_target(f->dissector, in mlxsw_sp_flower_parse_ipv4() 121 skb_flow_dissector_target(f->dissector, in mlxsw_sp_flower_parse_ipv4() 137 skb_flow_dissector_target(f->dissector, in mlxsw_sp_flower_parse_ipv6() 141 skb_flow_dissector_target(f->dissector, in mlxsw_sp_flower_parse_ipv6() 178 if (!dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_PORTS)) in mlxsw_sp_flower_parse_ports() 187 key = skb_flow_dissector_target(f->dissector, in mlxsw_sp_flower_parse_ports() 190 mask = skb_flow_dissector_target(f->dissector, in mlxsw_sp_flower_parse_ports() 207 if (!dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_TCP)) in mlxsw_sp_flower_parse_tcp() 216 key = skb_flow_dissector_target(f->dissector, in mlxsw_sp_flower_parse_tcp() 219 mask = skb_flow_dissector_target(f->dissector, in mlxsw_sp_flower_parse_tcp() [all …]
|
/Linux-v4.19/drivers/net/ethernet/chelsio/cxgb4/ |
D | cxgb4_tc_flower.c | 88 if (dissector_uses_key(cls->dissector, FLOW_DISSECTOR_KEY_CONTROL)) { in cxgb4_process_flow_match() 90 skb_flow_dissector_target(cls->dissector, in cxgb4_process_flow_match() 97 if (dissector_uses_key(cls->dissector, FLOW_DISSECTOR_KEY_BASIC)) { in cxgb4_process_flow_match() 99 skb_flow_dissector_target(cls->dissector, in cxgb4_process_flow_match() 103 skb_flow_dissector_target(cls->dissector, in cxgb4_process_flow_match() 125 skb_flow_dissector_target(cls->dissector, in cxgb4_process_flow_match() 129 skb_flow_dissector_target(cls->dissector, in cxgb4_process_flow_match() 146 skb_flow_dissector_target(cls->dissector, in cxgb4_process_flow_match() 150 skb_flow_dissector_target(cls->dissector, in cxgb4_process_flow_match() 165 if (dissector_uses_key(cls->dissector, FLOW_DISSECTOR_KEY_PORTS)) { in cxgb4_process_flow_match() [all …]
|
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx5/core/ |
D | en_tc.c | 1088 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_ENC_KEYID)) { in parse_vxlan_attr() 1090 skb_flow_dissector_target(f->dissector, in parse_vxlan_attr() 1094 skb_flow_dissector_target(f->dissector, in parse_vxlan_attr() 1114 skb_flow_dissector_target(f->dissector, in parse_tunnel_attr() 1118 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_ENC_PORTS)) { in parse_tunnel_attr() 1120 skb_flow_dissector_target(f->dissector, in parse_tunnel_attr() 1124 skb_flow_dissector_target(f->dissector, in parse_tunnel_attr() 1159 skb_flow_dissector_target(f->dissector, in parse_tunnel_attr() 1163 skb_flow_dissector_target(f->dissector, in parse_tunnel_attr() 1184 skb_flow_dissector_target(f->dissector, in parse_tunnel_attr() [all …]
|
/Linux-v4.19/drivers/net/ethernet/broadcom/bnxt/ |
D | bnxt_tc.c | 181 skb_flow_dissector_target((flow_cmd)->dissector, key_type,\ 184 skb_flow_dissector_target((flow_cmd)->dissector, key_type,\ 191 struct flow_dissector *dissector = tc_flow_cmd->dissector; in bnxt_tc_parse_flow() local 195 if ((dissector->used_keys & BIT(FLOW_DISSECTOR_KEY_CONTROL)) == 0 || in bnxt_tc_parse_flow() 196 (dissector->used_keys & BIT(FLOW_DISSECTOR_KEY_BASIC)) == 0) { in bnxt_tc_parse_flow() 198 dissector->used_keys); in bnxt_tc_parse_flow() 202 if (dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_CONTROL)) { in bnxt_tc_parse_flow() 209 if (dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_BASIC)) { in bnxt_tc_parse_flow() 225 if (dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { in bnxt_tc_parse_flow() 238 if (dissector_uses_key(dissector, FLOW_DISSECTOR_KEY_VLAN)) { in bnxt_tc_parse_flow() [all …]
|
/Linux-v4.19/drivers/net/ethernet/intel/i40evf/ |
D | i40evf_main.c | 2453 if (f->dissector->used_keys & in i40evf_parse_cls_flower() 2463 f->dissector->used_keys); in i40evf_parse_cls_flower() 2467 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_ENC_KEYID)) { in i40evf_parse_cls_flower() 2469 skb_flow_dissector_target(f->dissector, in i40evf_parse_cls_flower() 2477 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_BASIC)) { in i40evf_parse_cls_flower() 2479 skb_flow_dissector_target(f->dissector, in i40evf_parse_cls_flower() 2484 skb_flow_dissector_target(f->dissector, in i40evf_parse_cls_flower() 2508 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { in i40evf_parse_cls_flower() 2510 skb_flow_dissector_target(f->dissector, in i40evf_parse_cls_flower() 2515 skb_flow_dissector_target(f->dissector, in i40evf_parse_cls_flower() [all …]
|
/Linux-v4.19/drivers/net/ethernet/qlogic/qede/ |
D | qede_filter.c | 2036 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_PORTS)) { in qede_tc_parse_ports() 2039 key = skb_flow_dissector_target(f->dissector, in qede_tc_parse_ports() 2042 mask = skb_flow_dissector_target(f->dissector, in qede_tc_parse_ports() 2069 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_IPV6_ADDRS)) { in qede_tc_parse_v6_common() 2072 key = skb_flow_dissector_target(f->dissector, in qede_tc_parse_v6_common() 2075 mask = skb_flow_dissector_target(f->dissector, in qede_tc_parse_v6_common() 2103 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) { in qede_tc_parse_v4_common() 2106 key = skb_flow_dissector_target(f->dissector, in qede_tc_parse_v4_common() 2109 mask = skb_flow_dissector_target(f->dissector, in qede_tc_parse_v4_common() 2183 if (f->dissector->used_keys & in qede_parse_flower_attr() [all …]
|
/Linux-v4.19/net/sched/ |
D | cls_flower.c | 71 struct flow_dissector dissector; member 80 struct flow_dissector dissector; member 206 skb_flow_dissect_tunnel_info(skb, &mask->dissector, &skb_key); in fl_classify() 207 skb_flow_dissect(skb, &mask->dissector, &skb_key, 0); in fl_classify() 309 cls_flower.dissector = &f->mask->dissector; in fl_hw_replace_filter() 1015 static void fl_init_dissector(struct flow_dissector *dissector, in fl_init_dissector() argument 1062 skb_flow_dissector_init(dissector, keys, cnt); in fl_init_dissector() 1081 fl_init_dissector(&newmask->dissector, &newmask->key); in fl_create_new_mask() 1340 cls_flower.dissector = &mask->dissector; in fl_reoffload() 1371 cls_flower.dissector = &tmplt->dissector; in fl_hw_create_tmplt() [all …]
|
/Linux-v4.19/drivers/net/ethernet/intel/i40e/ |
D | i40e_main.c | 7102 if (f->dissector->used_keys & in i40e_parse_cls_flower() 7112 f->dissector->used_keys); in i40e_parse_cls_flower() 7116 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_ENC_KEYID)) { in i40e_parse_cls_flower() 7118 skb_flow_dissector_target(f->dissector, in i40e_parse_cls_flower() 7123 skb_flow_dissector_target(f->dissector, in i40e_parse_cls_flower() 7133 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_BASIC)) { in i40e_parse_cls_flower() 7135 skb_flow_dissector_target(f->dissector, in i40e_parse_cls_flower() 7140 skb_flow_dissector_target(f->dissector, in i40e_parse_cls_flower() 7155 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { in i40e_parse_cls_flower() 7157 skb_flow_dissector_target(f->dissector, in i40e_parse_cls_flower() [all …]
|
/Linux-v4.19/include/net/ |
D | pkt_cls.h | 738 struct flow_dissector *dissector; member
|
/Linux-v4.19/drivers/net/ethernet/intel/igb/ |
D | igb_main.c | 2586 if (f->dissector->used_keys & in igb_parse_cls_flower() 2596 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { in igb_parse_cls_flower() 2599 key = skb_flow_dissector_target(f->dissector, in igb_parse_cls_flower() 2602 mask = skb_flow_dissector_target(f->dissector, in igb_parse_cls_flower() 2629 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_BASIC)) { in igb_parse_cls_flower() 2632 key = skb_flow_dissector_target(f->dissector, in igb_parse_cls_flower() 2635 mask = skb_flow_dissector_target(f->dissector, in igb_parse_cls_flower() 2650 if (dissector_uses_key(f->dissector, FLOW_DISSECTOR_KEY_VLAN)) { in igb_parse_cls_flower() 2653 key = skb_flow_dissector_target(f->dissector, in igb_parse_cls_flower() 2656 mask = skb_flow_dissector_target(f->dissector, in igb_parse_cls_flower()
|
/Linux-v4.19/Documentation/networking/ |
D | filter.txt | 593 extension, PTP dissector/classifier, and much more. They are all internally
|