bpf_flow_dissect_get_header
iph = bpf_flow_dissect_get_header(skb, sizeof(*iph), &_iph);
icmp = bpf_flow_dissect_get_header(skb, sizeof(*icmp), &_icmp);
gre = bpf_flow_dissect_get_header(skb, sizeof(*gre), &_gre);
eth = bpf_flow_dissect_get_header(skb, sizeof(*eth),
tcp = bpf_flow_dissect_get_header(skb, sizeof(*tcp), &_tcp);
udp = bpf_flow_dissect_get_header(skb, sizeof(*udp), &_udp);
iph = bpf_flow_dissect_get_header(skb, sizeof(*iph), &_iph);
ip6h = bpf_flow_dissect_get_header(skb, sizeof(*ip6h), &_ip6h);
ip6h = bpf_flow_dissect_get_header(skb, sizeof(*ip6h), &_ip6h);
fragh = bpf_flow_dissect_get_header(skb, sizeof(*fragh), &_fragh);
mpls = bpf_flow_dissect_get_header(skb, sizeof(*mpls), &_mpls);
vlan = bpf_flow_dissect_get_header(skb, sizeof(*vlan), &_vlan);
vlan = bpf_flow_dissect_get_header(skb, sizeof(*vlan), &_vlan);