Lines Matching full:ack
95 /* We analyse the number of packets that get ACK'd per RTT in rxrpc_congestion_management()
187 /* Send some previously unsent DATA if we have some to advance the ACK in rxrpc_congestion_management()
217 * Apply a hard ACK by advancing the Tx window.
276 * or a final ACK packet.
404 * (that information is encoded in the ACK packet).
437 u8 ack = 0, flags, annotation = 0; in rxrpc_input_data() local
476 ack = RXRPC_ACK_EXCEEDS_WINDOW; in rxrpc_input_data()
478 goto ack; in rxrpc_input_data()
484 ack = RXRPC_ACK_NOSPACE; in rxrpc_input_data()
486 goto ack; in rxrpc_input_data()
514 ack = RXRPC_ACK_DUPLICATE; in rxrpc_input_data()
519 if (flags & RXRPC_REQUEST_ACK && !ack) { in rxrpc_input_data()
520 ack = RXRPC_ACK_REQUESTED; in rxrpc_input_data()
526 if (ack != RXRPC_ACK_DUPLICATE) { in rxrpc_input_data()
527 ack = RXRPC_ACK_DUPLICATE; in rxrpc_input_data()
549 /* Send an immediate ACK if we fill in a hole */ in rxrpc_input_data()
550 if (!ack) { in rxrpc_input_data()
551 ack = RXRPC_ACK_DELAY; in rxrpc_input_data()
567 ack = RXRPC_ACK_OUT_OF_SEQUENCE; in rxrpc_input_data()
587 ack = RXRPC_ACK_EXCEEDS_WINDOW; in rxrpc_input_data()
593 goto ack; in rxrpc_input_data()
600 if (queued && flags & RXRPC_LAST_PACKET && !ack) { in rxrpc_input_data()
601 ack = RXRPC_ACK_DELAY; in rxrpc_input_data()
605 ack: in rxrpc_input_data()
606 if (ack) in rxrpc_input_data()
607 rxrpc_propose_ACK(call, ack, skew, ack_serial, in rxrpc_input_data()
624 * Process a requested ACK.
657 * Process the response to a ping that we sent to find out if we lost an ACK.
722 * Process the extra information that may be appended to an ACK packet
733 _proto("Rx ACK %%%u Info { rx=%u max=%u rwin=%u jm=%u }", in rxrpc_input_ackinfo()
768 * Each ACK in the array corresponds to one packet and can be either an ACK or
770 * packets that lie beyond the end of the ACK list are scheduled for resend by
772 * the time the ACK was sent.
817 * Return true if the ACK is valid - ie. it doesn't appear to have regressed
818 * with respect to the ack state conveyed by preceding ACKs.
841 * Process an ACK packet.
843 * ack.firstPacket is the sequence number of the first soft-ACK'd/NAK'd packet
844 * in the ACK array. Anything before that is hard-ACK'd and may be discarded.
846 * A hard-ACK means that a packet has been processed and may be discarded; a
847 * soft-ACK means that the packet may be discarded and retransmission
848 * requested. A phase is complete when all packets are hard-ACK'd.
856 struct rxrpc_ackpacket ack; in rxrpc_input_ack() member
867 if (skb_copy_bits(skb, offset, &buf.ack, sizeof(buf.ack)) < 0) { in rxrpc_input_ack()
871 offset += sizeof(buf.ack); in rxrpc_input_ack()
873 acked_serial = ntohl(buf.ack.serial); in rxrpc_input_ack()
874 first_soft_ack = ntohl(buf.ack.firstPacket); in rxrpc_input_ack()
875 prev_pkt = ntohl(buf.ack.previousPacket); in rxrpc_input_ack()
877 nr_acks = buf.ack.nAcks; in rxrpc_input_ack()
878 summary.ack_reason = (buf.ack.reason < RXRPC_ACK__INVALID ? in rxrpc_input_ack()
879 buf.ack.reason : RXRPC_ACK__INVALID); in rxrpc_input_ack()
885 if (buf.ack.reason == RXRPC_ACK_PING_RESPONSE) in rxrpc_input_ack()
888 if (buf.ack.reason == RXRPC_ACK_REQUESTED) in rxrpc_input_ack()
892 if (buf.ack.reason == RXRPC_ACK_PING) { in rxrpc_input_ack()
893 _proto("Rx ACK %%%u PING Request", sp->hdr.serial); in rxrpc_input_ack()