Lines Matching refs:pfh
613 struct pingfakehdr *pfh = from; in ping_getfrag() local
615 if (!csum_and_copy_from_iter_full(to, fraglen, &pfh->wcheck, in ping_getfrag()
616 &pfh->msg->msg_iter)) in ping_getfrag()
624 if (pfh->family == AF_INET6) { in ping_getfrag()
625 skb->csum = csum_block_add(skb->csum, pfh->wcheck, odd); in ping_getfrag()
627 pfh->wcheck = 0; in ping_getfrag()
635 static int ping_v4_push_pending_frames(struct sock *sk, struct pingfakehdr *pfh, in ping_v4_push_pending_frames() argument
642 pfh->wcheck = csum_partial((char *)&pfh->icmph, in ping_v4_push_pending_frames()
643 sizeof(struct icmphdr), pfh->wcheck); in ping_v4_push_pending_frames()
644 pfh->icmph.checksum = csum_fold(pfh->wcheck); in ping_v4_push_pending_frames()
645 memcpy(icmp_hdr(skb), &pfh->icmph, sizeof(struct icmphdr)); in ping_v4_push_pending_frames()
703 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()
828 err = ping_v4_push_pending_frames(sk, &pfh, &fl4); in ping_v4_sendmsg()