Lines Matching full:ack
83 /* We analyse the number of packets that get ACK'd per RTT in rxrpc_congestion_management()
176 /* Send some previously unsent DATA if we have some to advance the ACK in rxrpc_congestion_management()
215 * Apply a hard ACK by advancing the Tx window.
259 * or a final ACK packet.
430 /* Send an immediate ACK if we fill in a hole */ in rxrpc_input_data_one()
695 * Process the extra information that may be appended to an ACK packet
730 * Determine how many nacks from the previous ACK have now been satisfied.
737 struct rxrpc_ackpacket ack; in rxrpc_input_check_prev_ack() local
741 u8 *acks = skb->data + sizeof(struct rxrpc_wire_header) + sizeof(ack); in rxrpc_input_check_prev_ack()
769 * Each ACK in the array corresponds to one packet and can be either an ACK or
771 * packets that lie beyond the end of the ACK list are scheduled for resend by
773 * the time the ACK was sent.
794 /* Overlap with previous ACK */ in rxrpc_input_soft_acks()
823 * Return true if the ACK is valid - ie. it doesn't appear to have regressed
824 * with respect to the ack state conveyed by preceding ACKs.
847 * Process an ACK packet.
849 * ack.firstPacket is the sequence number of the first soft-ACK'd/NAK'd packet
850 * in the ACK array. Anything before that is hard-ACK'd and may be discarded.
852 * A hard-ACK means that a packet has been processed and may be discarded; a
853 * soft-ACK means that the packet may be discarded and retransmission
854 * requested. A phase is complete when all packets are hard-ACK'd.
859 struct rxrpc_ackpacket ack; in rxrpc_input_ack() local
869 if (skb_copy_bits(skb, offset, &ack, sizeof(ack)) < 0) in rxrpc_input_ack()
871 offset += sizeof(ack); in rxrpc_input_ack()
874 acked_serial = ntohl(ack.serial); in rxrpc_input_ack()
875 first_soft_ack = ntohl(ack.firstPacket); in rxrpc_input_ack()
876 prev_pkt = ntohl(ack.previousPacket); in rxrpc_input_ack()
878 nr_acks = ack.nAcks; in rxrpc_input_ack()
881 summary.ack_reason = (ack.reason < RXRPC_ACK__INVALID ? in rxrpc_input_ack()
882 ack.reason : RXRPC_ACK__INVALID); in rxrpc_input_ack()
887 rxrpc_inc_stat(call->rxnet, stat_rx_acks[ack.reason]); in rxrpc_input_ack()
890 switch (ack.reason) { in rxrpc_input_ack()
906 /* If we get an EXCEEDS_WINDOW ACK from the server, it probably in rxrpc_input_ack()
910 if (unlikely(ack.reason == RXRPC_ACK_EXCEEDS_WINDOW) && in rxrpc_input_ack()
919 /* If we get an OUT_OF_SEQUENCE ACK from the server, that can also in rxrpc_input_ack()
923 if (unlikely(ack.reason == RXRPC_ACK_OUT_OF_SEQUENCE) && in rxrpc_input_ack()
964 switch (ack.reason) { in rxrpc_input_ack()
1021 if (ack.reason == RXRPC_ACK_PING) in rxrpc_input_ack()