Lines Matching refs:pfh
590 struct pingfakehdr *pfh = (struct pingfakehdr *)from; in ping_getfrag() local
597 fraglen, &pfh->wcheck, in ping_getfrag()
598 &pfh->msg->msg_iter)) in ping_getfrag()
603 if (!csum_and_copy_from_iter_full(to, fraglen, &pfh->wcheck, in ping_getfrag()
604 &pfh->msg->msg_iter)) in ping_getfrag()
613 if (pfh->family == AF_INET6) { in ping_getfrag()
614 skb->csum = pfh->wcheck; in ping_getfrag()
616 pfh->wcheck = 0; in ping_getfrag()
624 static int ping_v4_push_pending_frames(struct sock *sk, struct pingfakehdr *pfh, in ping_v4_push_pending_frames() argument
631 pfh->wcheck = csum_partial((char *)&pfh->icmph, in ping_v4_push_pending_frames()
632 sizeof(struct icmphdr), pfh->wcheck); in ping_v4_push_pending_frames()
633 pfh->icmph.checksum = csum_fold(pfh->wcheck); in ping_v4_push_pending_frames()
634 memcpy(icmp_hdr(skb), &pfh->icmph, sizeof(struct icmphdr)); in ping_v4_push_pending_frames()
692 struct pingfakehdr pfh; in ping_v4_sendmsg() local
807 pfh.icmph.type = user_icmph.type; /* already checked */ in ping_v4_sendmsg()
808 pfh.icmph.code = user_icmph.code; /* ditto */ in ping_v4_sendmsg()
809 pfh.icmph.checksum = 0; in ping_v4_sendmsg()
810 pfh.icmph.un.echo.id = inet->inet_sport; in ping_v4_sendmsg()
811 pfh.icmph.un.echo.sequence = user_icmph.un.echo.sequence; in ping_v4_sendmsg()
812 pfh.msg = msg; in ping_v4_sendmsg()
813 pfh.wcheck = 0; in ping_v4_sendmsg()
814 pfh.family = AF_INET; in ping_v4_sendmsg()
816 err = ip_append_data(sk, &fl4, ping_getfrag, &pfh, len, in ping_v4_sendmsg()
821 err = ping_v4_push_pending_frames(sk, &pfh, &fl4); in ping_v4_sendmsg()