diff options
author | David Howells <dhowells@redhat.com> | 2016-09-24 18:05:26 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2016-09-24 23:49:46 +0100 |
commit | 31a1b989508ce64e8ead504884ced01e61870852 (patch) | |
tree | 5a9a837a1dec1d1e055f9c06c44367a4bbf4c56a /net/rxrpc/ar-internal.h | |
parent | df0562a72dba13ab49c7dd7cb15170697b9848ee (diff) | |
download | linux-31a1b989508ce64e8ead504884ced01e61870852.tar.gz linux-31a1b989508ce64e8ead504884ced01e61870852.tar.bz2 linux-31a1b989508ce64e8ead504884ced01e61870852.zip |
rxrpc: Generate a summary of the ACK state for later use
Generate a summary of the Tx buffer packet state when an ACK is received
for use in a later patch that does congestion management.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/ar-internal.h')
-rw-r--r-- | net/rxrpc/ar-internal.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h index cdd35e2b40ba..1a700b6a998b 100644 --- a/net/rxrpc/ar-internal.h +++ b/net/rxrpc/ar-internal.h @@ -540,6 +540,20 @@ struct rxrpc_call { /* transmission-phase ACK management */ rxrpc_serial_t acks_latest; /* serial number of latest ACK received */ + rxrpc_seq_t acks_lowest_nak; /* Lowest NACK in the buffer (or ==tx_hard_ack) */ +}; + +/* + * Summary of a new ACK and the changes it made. + */ +struct rxrpc_ack_summary { + u8 ack_reason; + u8 nr_acks; /* Number of ACKs in packet */ + u8 nr_nacks; /* Number of NACKs in packet */ + u8 nr_new_acks; /* Number of new ACKs in packet */ + u8 nr_new_nacks; /* Number of new NACKs in packet */ + u8 nr_rot_new_acks; /* Number of rotated new ACKs */ + bool new_low_nack; /* T if new low NACK found */ }; enum rxrpc_skb_trace { |