• Home
  • Raw
  • Download

Lines Matching refs:flow_dissector

36 static void dissector_set_key(struct flow_dissector *flow_dissector,  in dissector_set_key()  argument
39 flow_dissector->used_keys |= (1 << key_id); in dissector_set_key()
42 void skb_flow_dissector_init(struct flow_dissector *flow_dissector, in skb_flow_dissector_init() argument
48 memset(flow_dissector, 0, sizeof(*flow_dissector)); in skb_flow_dissector_init()
55 BUG_ON(dissector_uses_key(flow_dissector, in skb_flow_dissector_init()
58 dissector_set_key(flow_dissector, key->key_id); in skb_flow_dissector_init()
59 flow_dissector->offset[key->key_id] = key->offset; in skb_flow_dissector_init()
65 BUG_ON(!dissector_uses_key(flow_dissector, in skb_flow_dissector_init()
67 BUG_ON(!dissector_uses_key(flow_dissector, in skb_flow_dissector_init()
188 struct flow_dissector *flow_dissector, in __skb_flow_dissect_icmp() argument
194 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ICMP)) in __skb_flow_dissect_icmp()
197 key_icmp = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_icmp()
205 struct flow_dissector *flow_dissector, in skb_flow_dissect_meta() argument
210 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_META)) in skb_flow_dissect_meta()
213 meta = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_meta()
222 struct flow_dissector *flow_dissector, in skb_flow_dissect_set_enc_addr_type() argument
227 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_CONTROL)) in skb_flow_dissect_set_enc_addr_type()
230 ctrl = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_set_enc_addr_type()
238 struct flow_dissector *flow_dissector, in skb_flow_dissect_ct() argument
249 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_CT)) in skb_flow_dissect_ct()
256 key = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_ct()
278 struct flow_dissector *flow_dissector, in skb_flow_dissect_tunnel_info() argument
285 if (!dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
287 !dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
289 !dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
291 !dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
293 !dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
295 !dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
297 !dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
310 flow_dissector, in skb_flow_dissect_tunnel_info()
312 if (dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
316 ipv4 = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_tunnel_info()
325 flow_dissector, in skb_flow_dissect_tunnel_info()
327 if (dissector_uses_key(flow_dissector, in skb_flow_dissect_tunnel_info()
331 ipv6 = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_tunnel_info()
340 if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_KEYID)) { in skb_flow_dissect_tunnel_info()
343 keyid = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_tunnel_info()
349 if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_PORTS)) { in skb_flow_dissect_tunnel_info()
352 tp = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_tunnel_info()
359 if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_IP)) { in skb_flow_dissect_tunnel_info()
362 ip = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_tunnel_info()
369 if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ENC_OPTS)) { in skb_flow_dissect_tunnel_info()
372 enc_opt = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_tunnel_info()
387 struct flow_dissector *flow_dissector, in skb_flow_dissect_hash() argument
392 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_HASH)) in skb_flow_dissect_hash()
395 key = skb_flow_dissector_target(flow_dissector, in skb_flow_dissect_hash()
405 struct flow_dissector *flow_dissector, in __skb_flow_dissect_mpls() argument
412 if (!dissector_uses_key(flow_dissector, in __skb_flow_dissect_mpls()
414 !dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_MPLS)) in __skb_flow_dissect_mpls()
429 if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_MPLS)) { in __skb_flow_dissect_mpls()
433 key_mpls = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_mpls()
446 dissector_uses_key(flow_dissector, in __skb_flow_dissect_mpls()
450 key_keyid = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_mpls()
463 struct flow_dissector *flow_dissector, in __skb_flow_dissect_arp() argument
476 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ARP)) in __skb_flow_dissect_arp()
498 key_arp = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_arp()
519 struct flow_dissector *flow_dissector, in __skb_flow_dissect_gre() argument
566 if (dissector_uses_key(flow_dissector, in __skb_flow_dissect_gre()
568 key_keyid = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_gre()
691 struct flow_dissector *flow_dissector, in __skb_flow_dissect_tcp() argument
697 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_TCP)) in __skb_flow_dissect_tcp()
707 key_tcp = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_tcp()
715 struct flow_dissector *flow_dissector, in __skb_flow_dissect_ports() argument
722 if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_PORTS)) in __skb_flow_dissect_ports()
724 else if (dissector_uses_key(flow_dissector, in __skb_flow_dissect_ports()
731 key_ports = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_ports()
740 struct flow_dissector *flow_dissector, in __skb_flow_dissect_ipv4() argument
745 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_IP)) in __skb_flow_dissect_ipv4()
748 key_ip = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_ipv4()
757 struct flow_dissector *flow_dissector, in __skb_flow_dissect_ipv6() argument
762 if (!dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_IP)) in __skb_flow_dissect_ipv6()
765 key_ip = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect_ipv6()
785 struct flow_dissector *flow_dissector, in __skb_flow_bpf_to_target() argument
794 key_control = skb_flow_dissector_target(flow_dissector, in __skb_flow_bpf_to_target()
805 key_basic = skb_flow_dissector_target(flow_dissector, in __skb_flow_bpf_to_target()
812 dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_IPV4_ADDRS)) { in __skb_flow_bpf_to_target()
813 key_addrs = skb_flow_dissector_target(flow_dissector, in __skb_flow_bpf_to_target()
820 dissector_uses_key(flow_dissector, in __skb_flow_bpf_to_target()
822 key_addrs = skb_flow_dissector_target(flow_dissector, in __skb_flow_bpf_to_target()
832 if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_PORTS)) in __skb_flow_bpf_to_target()
833 key_ports = skb_flow_dissector_target(flow_dissector, in __skb_flow_bpf_to_target()
836 else if (dissector_uses_key(flow_dissector, in __skb_flow_bpf_to_target()
838 key_ports = skb_flow_dissector_target(flow_dissector, in __skb_flow_bpf_to_target()
847 if (dissector_uses_key(flow_dissector, in __skb_flow_bpf_to_target()
849 key_tags = skb_flow_dissector_target(flow_dissector, in __skb_flow_bpf_to_target()
906 struct flow_dissector *flow_dissector, in __skb_flow_dissect() argument
955 key_control = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect()
962 key_basic = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect()
1007 __skb_flow_bpf_to_target(&flow_keys, flow_dissector, in __skb_flow_dissect()
1015 if (dissector_uses_key(flow_dissector, in __skb_flow_dissect()
1020 key_eth_addrs = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect()
1044 if (dissector_uses_key(flow_dissector, in __skb_flow_dissect()
1046 key_addrs = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect()
1057 __skb_flow_dissect_ipv4(skb, flow_dissector, in __skb_flow_dissect()
1091 if (dissector_uses_key(flow_dissector, in __skb_flow_dissect()
1093 key_addrs = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect()
1104 if ((dissector_uses_key(flow_dissector, in __skb_flow_dissect()
1110 if (dissector_uses_key(flow_dissector, in __skb_flow_dissect()
1112 key_tags = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect()
1123 __skb_flow_dissect_ipv6(skb, flow_dissector, in __skb_flow_dissect()
1158 if (dissector_uses_key(flow_dissector, dissector_vlan)) { in __skb_flow_dissect()
1159 key_vlan = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect()
1218 if (dissector_uses_key(flow_dissector, in __skb_flow_dissect()
1220 key_addrs = skb_flow_dissector_target(flow_dissector, in __skb_flow_dissect()
1232 fdret = __skb_flow_dissect_mpls(skb, flow_dissector, in __skb_flow_dissect()
1251 fdret = __skb_flow_dissect_arp(skb, flow_dissector, in __skb_flow_dissect()
1287 fdret = __skb_flow_dissect_gre(skb, key_control, flow_dissector, in __skb_flow_dissect()
1374 __skb_flow_dissect_tcp(skb, flow_dissector, target_container, in __skb_flow_dissect()
1380 __skb_flow_dissect_icmp(skb, flow_dissector, target_container, in __skb_flow_dissect()
1389 __skb_flow_dissect_ports(skb, flow_dissector, target_container, in __skb_flow_dissect()
1582 static struct flow_dissector flow_keys_dissector_symmetric __read_mostly;
1792 struct flow_dissector flow_keys_dissector __read_mostly;
1795 struct flow_dissector flow_keys_basic_dissector __read_mostly;