Lines Matching refs:pfh
605 struct pingfakehdr *pfh = (struct pingfakehdr *)from; in ping_getfrag() local
612 fraglen, &pfh->wcheck, in ping_getfrag()
613 &pfh->msg->msg_iter)) in ping_getfrag()
618 if (!csum_and_copy_from_iter_full(to, fraglen, &pfh->wcheck, in ping_getfrag()
619 &pfh->msg->msg_iter)) in ping_getfrag()
628 if (pfh->family == AF_INET6) { in ping_getfrag()
629 skb->csum = pfh->wcheck; in ping_getfrag()
631 pfh->wcheck = 0; in ping_getfrag()
639 static int ping_v4_push_pending_frames(struct sock *sk, struct pingfakehdr *pfh, in ping_v4_push_pending_frames() argument
646 pfh->wcheck = csum_partial((char *)&pfh->icmph, in ping_v4_push_pending_frames()
647 sizeof(struct icmphdr), pfh->wcheck); in ping_v4_push_pending_frames()
648 pfh->icmph.checksum = csum_fold(pfh->wcheck); in ping_v4_push_pending_frames()
649 memcpy(icmp_hdr(skb), &pfh->icmph, sizeof(struct icmphdr)); in ping_v4_push_pending_frames()
706 struct pingfakehdr pfh; in ping_v4_sendmsg() local
818 pfh.icmph.type = user_icmph.type; /* already checked */ in ping_v4_sendmsg()
819 pfh.icmph.code = user_icmph.code; /* ditto */ in ping_v4_sendmsg()
820 pfh.icmph.checksum = 0; in ping_v4_sendmsg()
821 pfh.icmph.un.echo.id = inet->inet_sport; in ping_v4_sendmsg()
822 pfh.icmph.un.echo.sequence = user_icmph.un.echo.sequence; in ping_v4_sendmsg()
823 pfh.msg = msg; in ping_v4_sendmsg()
824 pfh.wcheck = 0; in ping_v4_sendmsg()
825 pfh.family = AF_INET; in ping_v4_sendmsg()
827 err = ip_append_data(sk, &fl4, ping_getfrag, &pfh, len, in ping_v4_sendmsg()
832 err = ping_v4_push_pending_frames(sk, &pfh, &fl4); in ping_v4_sendmsg()