Lines Matching refs:iph
22 static void iph_to_flow_copy_addrs(struct flow_keys *flow, const struct iphdr *iph) in iph_to_flow_copy_addrs() argument
26 memcpy(&flow->src, &iph->saddr, sizeof(flow->src) + sizeof(flow->dst)); in iph_to_flow_copy_addrs()
91 const struct iphdr *iph; in __skb_flow_dissect() local
94 iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); in __skb_flow_dissect()
95 if (!iph || iph->ihl < 5) in __skb_flow_dissect()
97 nhoff += iph->ihl * 4; in __skb_flow_dissect()
99 ip_proto = iph->protocol; in __skb_flow_dissect()
100 if (ip_is_fragment(iph)) in __skb_flow_dissect()
110 iph_to_flow_copy_addrs(flow, iph); in __skb_flow_dissect()
114 const struct ipv6hdr *iph; in __skb_flow_dissect() local
118 iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); in __skb_flow_dissect()
119 if (!iph) in __skb_flow_dissect()
122 ip_proto = iph->nexthdr; in __skb_flow_dissect()
129 flow->src = (__force __be32)ipv6_addr_hash(&iph->saddr); in __skb_flow_dissect()
130 flow->dst = (__force __be32)ipv6_addr_hash(&iph->daddr); in __skb_flow_dissect()
132 if (skb && ip6_flowlabel(iph)) { in __skb_flow_dissect()
133 __be32 flow_label = ip6_flowlabel(iph); in __skb_flow_dissect()