[PATCH net 0/4] rxrpc: Miscellaneous fixes

From: David Howells
Date: Fri Feb 02 2024 - 10:19:53 EST


Here some miscellaneous fixes for AF_RXRPC:

(1) The zero serial number has a special meaning in an ACK packet serial
reference, so skip it when assigning serial numbers to transmitted
packets.

(2) Don't set the reference serial number in a delayed ACK as the ACK
cannot be used for RTT calculation.

(3) Don't emit a DUP ACK response to a PING RESPONSE ACK coming back to a
call that completed in the meantime.

(4) Fix the counting of acks and nacks in ACK packet to better drive
congestion management. We want to know if there have been new
acks/nacks since the last ACK packet, not that there are still
acks/nacks. This is more complicated as we have to save the old SACK
table and compare it.

David

---
The patches can be found here also:

http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=rxrpc-fixes

David Howells (4):
rxrpc: Fix generation of serial numbers to skip zero
rxrpc: Fix delayed ACKs to not set the reference serial number
rxrpc: Fix response to PING RESPONSE ACKs to a dead call
rxrpc: Fix counting of new acks and nacks

include/trace/events/rxrpc.h | 8 ++-
net/rxrpc/ar-internal.h | 37 ++++++++---
net/rxrpc/call_event.c | 12 ++--
net/rxrpc/call_object.c | 1 +
net/rxrpc/conn_event.c | 10 ++-
net/rxrpc/input.c | 115 +++++++++++++++++++++++++++++------
net/rxrpc/output.c | 8 +--
net/rxrpc/proc.c | 2 +-
net/rxrpc/rxkad.c | 4 +-
9 files changed, 154 insertions(+), 43 deletions(-)