Keep track of the highest DATA serial number that has been acked by the
peer for future purposes.
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
        rxrpc_seq_t             acks_lowest_nak; /* Lowest NACK in the buffer (or ==tx_hard_ack) */
        rxrpc_seq_t             acks_lost_top;  /* tx_top at the time lost-ack ping sent */
        rxrpc_serial_t          acks_lost_ping; /* Serial number of probe ACK */
+       rxrpc_serial_t          acks_highest_serial; /* Highest serial number ACK'd */
 };
 
 /*
 
        call->acks_first_seq = first_soft_ack;
        call->acks_prev_seq = prev_pkt;
 
+       if (buf.ack.reason != RXRPC_ACK_PING &&
+           after(acked_serial, call->acks_highest_serial))
+               call->acks_highest_serial = acked_serial;
+
        /* Parse rwind and mtu sizes if provided. */
        if (buf.info.rxMTU)
                rxrpc_input_ackinfo(call, skb, &buf.info);