Lines Matching refs:iph

263 	const struct iphdr *iph;  in ip_rcv_options()  local
277 iph = ip_hdr(skb); in ip_rcv_options()
279 opt->optlen = iph->ihl*4 - sizeof(struct iphdr); in ip_rcv_options()
293 &iph->saddr, in ip_rcv_options()
294 &iph->daddr); in ip_rcv_options()
308 static bool ip_can_use_hint(const struct sk_buff *skb, const struct iphdr *iph, in ip_can_use_hint() argument
311 return hint && !skb_dst(skb) && ip_hdr(hint)->daddr == iph->daddr && in ip_can_use_hint()
312 ip_hdr(hint)->tos == iph->tos; in ip_can_use_hint()
321 const struct iphdr *iph = ip_hdr(skb); in ip_rcv_finish_core() local
327 if (ip_can_use_hint(skb, iph, hint)) { in ip_rcv_finish_core()
328 err = ip_route_use_hint(skb, iph->daddr, iph->saddr, iph->tos, in ip_rcv_finish_core()
337 !ip_is_fragment(iph)) { in ip_rcv_finish_core()
338 switch (iph->protocol) { in ip_rcv_finish_core()
344 iph = ip_hdr(skb); in ip_rcv_finish_core()
354 iph = ip_hdr(skb); in ip_rcv_finish_core()
365 err = ip_route_input_noref(skb, iph->daddr, iph->saddr, in ip_rcv_finish_core()
366 iph->tos, dev); in ip_rcv_finish_core()
387 if (iph->ihl > 5 && ip_rcv_options(skb, dev)) in ip_rcv_finish_core()
458 const struct iphdr *iph; in ip_rcv_core() local
483 iph = ip_hdr(skb); in ip_rcv_core()
496 if (iph->ihl < 5 || iph->version != 4) in ip_rcv_core()
503 IPSTATS_MIB_NOECTPKTS + (iph->tos & INET_ECN_MASK), in ip_rcv_core()
506 if (!pskb_may_pull(skb, iph->ihl*4)) in ip_rcv_core()
509 iph = ip_hdr(skb); in ip_rcv_core()
511 if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl))) in ip_rcv_core()
514 len = iph_totlen(skb, iph); in ip_rcv_core()
519 } else if (len < (iph->ihl*4)) in ip_rcv_core()
531 iph = ip_hdr(skb); in ip_rcv_core()
532 skb->transport_header = skb->network_header + iph->ihl*4; in ip_rcv_core()