Lines Matching refs:iph
200 static int ipv6_exthdrs_len(struct ipv6hdr *iph, in ipv6_exthdrs_len() argument
203 struct ipv6_opt_hdr *opth = (void *)iph; in ipv6_exthdrs_len()
204 int len = 0, proto, optlen = sizeof(*iph); in ipv6_exthdrs_len()
206 proto = iph->nexthdr; in ipv6_exthdrs_len()
228 struct ipv6hdr *iph; in ipv6_gro_receive() local
236 hlen = off + sizeof(*iph); in ipv6_gro_receive()
237 iph = skb_gro_header(skb, hlen, off); in ipv6_gro_receive()
238 if (unlikely(!iph)) in ipv6_gro_receive()
243 flush += ntohs(iph->payload_len) != skb->len - hlen; in ipv6_gro_receive()
245 proto = iph->nexthdr; in ipv6_gro_receive()
254 iph = skb_gro_network_header(skb); in ipv6_gro_receive()
256 skb_gro_pull(skb, sizeof(*iph)); in ipv6_gro_receive()
274 first_word = *(__be32 *)iph ^ *(__be32 *)iph2; in ipv6_gro_receive()
283 !ipv6_addr_equal(&iph->saddr, &iph2->saddr) || in ipv6_gro_receive()
284 !ipv6_addr_equal(&iph->daddr, &iph2->daddr) || in ipv6_gro_receive()
285 iph->nexthdr != iph2->nexthdr) { in ipv6_gro_receive()
291 if (memcmp(iph + 1, iph2 + 1, in ipv6_gro_receive()
299 skb_gro_postpull_rcsum(skb, iph, nlen); in ipv6_gro_receive()
343 struct ipv6hdr *iph; in ipv6_gro_complete() local
352 payload_len = skb->len - nhoff - sizeof(*iph); in ipv6_gro_complete()
364 iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete()
365 hop_jumbo = (struct hop_jumbo_hdr *)(iph + 1); in ipv6_gro_complete()
368 hop_jumbo->nexthdr = iph->nexthdr; in ipv6_gro_complete()
374 iph->nexthdr = NEXTHDR_HOP; in ipv6_gro_complete()
375 iph->payload_len = 0; in ipv6_gro_complete()
377 iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete()
378 iph->payload_len = htons(payload_len); in ipv6_gro_complete()
381 nhoff += sizeof(*iph) + ipv6_exthdrs_len(iph, &ops); in ipv6_gro_complete()