Lines Matching refs:iph
165 static int ipv6_exthdrs_len(struct ipv6hdr *iph, in ipv6_exthdrs_len() argument
168 struct ipv6_opt_hdr *opth = (void *)iph; in ipv6_exthdrs_len()
169 int len = 0, proto, optlen = sizeof(*iph); in ipv6_exthdrs_len()
171 proto = iph->nexthdr; in ipv6_exthdrs_len()
194 struct ipv6hdr *iph; in ipv6_gro_receive() local
202 hlen = off + sizeof(*iph); in ipv6_gro_receive()
203 iph = skb_gro_header(skb, hlen, off); in ipv6_gro_receive()
204 if (unlikely(!iph)) in ipv6_gro_receive()
208 skb_gro_pull(skb, sizeof(*iph)); in ipv6_gro_receive()
211 flush += ntohs(iph->payload_len) != skb_gro_len(skb); in ipv6_gro_receive()
213 proto = iph->nexthdr; in ipv6_gro_receive()
227 iph = ipv6_hdr(skb); in ipv6_gro_receive()
243 first_word = *(__be32 *)iph ^ *(__be32 *)iph2; in ipv6_gro_receive()
252 !ipv6_addr_equal(&iph->saddr, &iph2->saddr) || in ipv6_gro_receive()
253 !ipv6_addr_equal(&iph->daddr, &iph2->daddr) || in ipv6_gro_receive()
254 iph->nexthdr != iph2->nexthdr) { in ipv6_gro_receive()
260 if (memcmp(iph + 1, iph2 + 1, in ipv6_gro_receive()
266 (__force __be32)(iph->hop_limit ^ iph2->hop_limit)); in ipv6_gro_receive()
279 skb_gro_postpull_rcsum(skb, iph, nlen); in ipv6_gro_receive()
323 struct ipv6hdr *iph; in ipv6_gro_complete() local
332 payload_len = skb->len - nhoff - sizeof(*iph); in ipv6_gro_complete()
344 iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete()
345 hop_jumbo = (struct hop_jumbo_hdr *)(iph + 1); in ipv6_gro_complete()
348 hop_jumbo->nexthdr = iph->nexthdr; in ipv6_gro_complete()
354 iph->nexthdr = NEXTHDR_HOP; in ipv6_gro_complete()
355 iph->payload_len = 0; in ipv6_gro_complete()
357 iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete()
358 iph->payload_len = htons(payload_len); in ipv6_gro_complete()
361 nhoff += sizeof(*iph) + ipv6_exthdrs_len(iph, &ops); in ipv6_gro_complete()