Lines Matching refs:iph

260 	const struct iphdr *iph;  in ip_rcv_options()  local
274 iph = ip_hdr(skb); in ip_rcv_options()
276 opt->optlen = iph->ihl*4 - sizeof(struct iphdr); in ip_rcv_options()
290 &iph->saddr, in ip_rcv_options()
291 &iph->daddr); in ip_rcv_options()
305 static bool ip_can_use_hint(const struct sk_buff *skb, const struct iphdr *iph, in ip_can_use_hint() argument
308 return hint && !skb_dst(skb) && ip_hdr(hint)->daddr == iph->daddr && in ip_can_use_hint()
309 ip_hdr(hint)->tos == iph->tos; in ip_can_use_hint()
318 const struct iphdr *iph = ip_hdr(skb); in ip_rcv_finish_core() local
322 if (ip_can_use_hint(skb, iph, hint)) { in ip_rcv_finish_core()
323 err = ip_route_use_hint(skb, iph->daddr, iph->saddr, iph->tos, in ip_rcv_finish_core()
332 !ip_is_fragment(iph)) { in ip_rcv_finish_core()
333 switch (iph->protocol) { in ip_rcv_finish_core()
339 iph = ip_hdr(skb); in ip_rcv_finish_core()
349 iph = ip_hdr(skb); in ip_rcv_finish_core()
360 err = ip_route_input_noref(skb, iph->daddr, iph->saddr, in ip_rcv_finish_core()
361 iph->tos, dev); in ip_rcv_finish_core()
377 if (iph->ihl > 5 && ip_rcv_options(skb, dev)) in ip_rcv_finish_core()
444 const struct iphdr *iph; in ip_rcv_core() local
464 iph = ip_hdr(skb); in ip_rcv_core()
477 if (iph->ihl < 5 || iph->version != 4) in ip_rcv_core()
484 IPSTATS_MIB_NOECTPKTS + (iph->tos & INET_ECN_MASK), in ip_rcv_core()
487 if (!pskb_may_pull(skb, iph->ihl*4)) in ip_rcv_core()
490 iph = ip_hdr(skb); in ip_rcv_core()
492 if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl))) in ip_rcv_core()
495 len = ntohs(iph->tot_len); in ip_rcv_core()
499 } else if (len < (iph->ihl*4)) in ip_rcv_core()
511 iph = ip_hdr(skb); in ip_rcv_core()
512 skb->transport_header = skb->network_header + iph->ihl*4; in ip_rcv_core()