Lines Matching refs:skb2
657 struct sk_buff *skb2; in ip6_err_gen_icmpv6_unreach() local
667 skb2 = data_len ? skb_copy(skb, GFP_ATOMIC) : skb_clone(skb, GFP_ATOMIC); in ip6_err_gen_icmpv6_unreach()
669 if (!skb2) in ip6_err_gen_icmpv6_unreach()
672 skb_dst_drop(skb2); in ip6_err_gen_icmpv6_unreach()
673 skb_pull(skb2, nhs); in ip6_err_gen_icmpv6_unreach()
674 skb_reset_network_header(skb2); in ip6_err_gen_icmpv6_unreach()
676 rt = rt6_lookup(dev_net(skb->dev), &ipv6_hdr(skb2)->saddr, NULL, 0, in ip6_err_gen_icmpv6_unreach()
680 skb2->dev = rt->dst.dev; in ip6_err_gen_icmpv6_unreach()
688 __skb_push(skb2, nhs); in ip6_err_gen_icmpv6_unreach()
689 skb_reset_network_header(skb2); in ip6_err_gen_icmpv6_unreach()
690 memmove(skb2->data, skb2->data + nhs, data_len - nhs); in ip6_err_gen_icmpv6_unreach()
691 memset(skb2->data + data_len - nhs, 0, nhs); in ip6_err_gen_icmpv6_unreach()
698 icmp6_send(skb2, ICMPV6_TIME_EXCEED, ICMPV6_EXC_HOPLIMIT, in ip6_err_gen_icmpv6_unreach()
699 info, &temp_saddr, IP6CB(skb2)); in ip6_err_gen_icmpv6_unreach()
701 icmp6_send(skb2, ICMPV6_DEST_UNREACH, ICMPV6_ADDR_UNREACH, in ip6_err_gen_icmpv6_unreach()
702 info, &temp_saddr, IP6CB(skb2)); in ip6_err_gen_icmpv6_unreach()
706 kfree_skb(skb2); in ip6_err_gen_icmpv6_unreach()