Lines Matching refs:icmp6h
291 struct icmp6hdr *icmp6h; in iptunnel_pmtud_build_icmpv6() local
304 err = pskb_trim(skb, IPV6_MIN_MTU - sizeof(*nip6h) - sizeof(*icmp6h)); in iptunnel_pmtud_build_icmpv6()
308 len = skb->len + sizeof(*icmp6h); in iptunnel_pmtud_build_icmpv6()
309 err = skb_cow(skb, sizeof(*nip6h) + sizeof(*icmp6h) + ETH_HLEN); in iptunnel_pmtud_build_icmpv6()
313 icmp6h = skb_push(skb, sizeof(*icmp6h)); in iptunnel_pmtud_build_icmpv6()
314 *icmp6h = (struct icmp6hdr) { in iptunnel_pmtud_build_icmpv6()
335 csum = csum_partial(icmp6h, len, 0); in iptunnel_pmtud_build_icmpv6()
336 icmp6h->icmp6_cksum = csum_ipv6_magic(&nip6h->saddr, &nip6h->daddr, len, in iptunnel_pmtud_build_icmpv6()
375 struct icmp6hdr *icmp6h; in iptunnel_pmtud_check_icmpv6() local
381 icmp6h = (struct icmp6hdr *)(skb_network_header(skb) + offset); in iptunnel_pmtud_check_icmpv6()
382 if (icmpv6_is_err(icmp6h->icmp6_type) || in iptunnel_pmtud_check_icmpv6()
383 icmp6h->icmp6_type == NDISC_REDIRECT) in iptunnel_pmtud_check_icmpv6()