Lines Matching refs:flow
213 /* Helper functions and definitions for the flow dissector used by the
214 * example classifier. This resembles the kernel's flow dissector to
259 __u8 *ip_proto, struct flow_keys *flow)
269 flow->src = load_word(skb, nh_off + offsetof(struct iphdr, saddr));
270 flow->dst = load_word(skb, nh_off + offsetof(struct iphdr, daddr));
293 __u8 *ip_proto, struct flow_keys *flow)
297 flow->src = flow_addr_hash_ipv6(skb, nh_off + offsetof(struct ipv6hdr, saddr));
298 flow->dst = flow_addr_hash_ipv6(skb, nh_off + offsetof(struct ipv6hdr, daddr));
304 struct flow_keys *flow)
323 nh_off = flow_parse_ipv4(skb, nh_off, &ip_proto, flow);
325 nh_off = flow_parse_ipv6(skb, nh_off, &ip_proto, flow);
359 nh_off = flow_parse_ipv4(skb, nh_off, &ip_proto, flow);
361 nh_off = flow_parse_ipv6(skb, nh_off, &ip_proto, flow);
367 nh_off = flow_parse_ipv4(skb, nh_off, &ip_proto, flow);
370 nh_off = flow_parse_ipv6(skb, nh_off, &ip_proto, flow);
377 flow->ports = load_word(skb, nh_off);
378 flow->th_off = nh_off;
379 flow->ip_proto = ip_proto;
385 const struct flow_keys *flow)
387 uint8_t proto = flow->ip_proto;
445 struct flow_keys flow;
447 if (!flow_dissector(skb, &flow))
450 cls_update_proto_map(skb, &flow);
453 return flow.ip_proto;