Lines Matching refs:pfh
600 struct pingfakehdr *pfh = (struct pingfakehdr *)from; in ping_getfrag() local
607 fraglen, &pfh->wcheck, in ping_getfrag()
608 &pfh->msg->msg_iter)) in ping_getfrag()
613 if (!csum_and_copy_from_iter_full(to, fraglen, &pfh->wcheck, in ping_getfrag()
614 &pfh->msg->msg_iter)) in ping_getfrag()
623 if (pfh->family == AF_INET6) { in ping_getfrag()
624 skb->csum = pfh->wcheck; in ping_getfrag()
626 pfh->wcheck = 0; in ping_getfrag()
634 static int ping_v4_push_pending_frames(struct sock *sk, struct pingfakehdr *pfh, in ping_v4_push_pending_frames() argument
641 pfh->wcheck = csum_partial((char *)&pfh->icmph, in ping_v4_push_pending_frames()
642 sizeof(struct icmphdr), pfh->wcheck); in ping_v4_push_pending_frames()
643 pfh->icmph.checksum = csum_fold(pfh->wcheck); in ping_v4_push_pending_frames()
644 memcpy(icmp_hdr(skb), &pfh->icmph, sizeof(struct icmphdr)); in ping_v4_push_pending_frames()
701 struct pingfakehdr pfh; in ping_v4_sendmsg() local
813 pfh.icmph.type = user_icmph.type; /* already checked */ in ping_v4_sendmsg()
814 pfh.icmph.code = user_icmph.code; /* ditto */ in ping_v4_sendmsg()
815 pfh.icmph.checksum = 0; in ping_v4_sendmsg()
816 pfh.icmph.un.echo.id = inet->inet_sport; in ping_v4_sendmsg()
817 pfh.icmph.un.echo.sequence = user_icmph.un.echo.sequence; in ping_v4_sendmsg()
818 pfh.msg = msg; in ping_v4_sendmsg()
819 pfh.wcheck = 0; in ping_v4_sendmsg()
820 pfh.family = AF_INET; in ping_v4_sendmsg()
822 err = ip_append_data(sk, &fl4, ping_getfrag, &pfh, len, in ping_v4_sendmsg()
827 err = ping_v4_push_pending_frames(sk, &pfh, &fl4); in ping_v4_sendmsg()