Lines Matching refs:iph
166 static int ipv6_exthdrs_len(struct ipv6hdr *iph, in ipv6_exthdrs_len() argument
169 struct ipv6_opt_hdr *opth = (void *)iph; in ipv6_exthdrs_len()
170 int len = 0, proto, optlen = sizeof(*iph); in ipv6_exthdrs_len()
172 proto = iph->nexthdr; in ipv6_exthdrs_len()
195 struct ipv6hdr *iph; in ipv6_gro_receive() local
203 hlen = off + sizeof(*iph); in ipv6_gro_receive()
204 iph = skb_gro_header(skb, hlen, off); in ipv6_gro_receive()
205 if (unlikely(!iph)) in ipv6_gro_receive()
209 skb_gro_pull(skb, sizeof(*iph)); in ipv6_gro_receive()
212 flush += ntohs(iph->payload_len) != skb_gro_len(skb); in ipv6_gro_receive()
214 proto = iph->nexthdr; in ipv6_gro_receive()
228 iph = ipv6_hdr(skb); in ipv6_gro_receive()
244 first_word = *(__be32 *)iph ^ *(__be32 *)iph2; in ipv6_gro_receive()
253 !ipv6_addr_equal(&iph->saddr, &iph2->saddr) || in ipv6_gro_receive()
254 !ipv6_addr_equal(&iph->daddr, &iph2->daddr) || in ipv6_gro_receive()
255 iph->nexthdr != iph2->nexthdr) { in ipv6_gro_receive()
261 if (memcmp(iph + 1, iph2 + 1, in ipv6_gro_receive()
267 (__force __be32)(iph->hop_limit ^ iph2->hop_limit)); in ipv6_gro_receive()
280 skb_gro_postpull_rcsum(skb, iph, nlen); in ipv6_gro_receive()
324 struct ipv6hdr *iph; in ipv6_gro_complete() local
333 payload_len = skb->len - nhoff - sizeof(*iph); in ipv6_gro_complete()
345 iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete()
346 hop_jumbo = (struct hop_jumbo_hdr *)(iph + 1); in ipv6_gro_complete()
349 hop_jumbo->nexthdr = iph->nexthdr; in ipv6_gro_complete()
355 iph->nexthdr = NEXTHDR_HOP; in ipv6_gro_complete()
356 iph->payload_len = 0; in ipv6_gro_complete()
358 iph = (struct ipv6hdr *)(skb->data + nhoff); in ipv6_gro_complete()
359 iph->payload_len = htons(payload_len); in ipv6_gro_complete()
362 nhoff += sizeof(*iph) + ipv6_exthdrs_len(iph, &ops); in ipv6_gro_complete()