[PATCH net-next 0/9] rxrpc: Development

From: David Howells
Date: Thu Oct 04 2018 - 09:50:40 EST



Here are some development patches for AF_RXRPC. The most significant points
are:

(1) Change the tracepoint that indicates a packet has been transmitted
into one that indicates a packet is about to be transmitted. Without
this, the response tracepoint may occur first if the round trip is
fast enough.

(2) Sort out AFS address list handling to better enforce maximum capacity
to use helper functions to fill them and to do an insertion sort to
order them. This is here to make (3) easier.

(3) Keep AF_INET addresses as AF_INET addresses rather than converting
them to AF_INET6 in both AF_RXRPC and kAFS. I hadn't realised that a
UDP6 socket would just call down into UDP4 if given an AF_INET
address.

(4) Allow the timestamp on the first DATA packet of a reply to be
retrieved by a kernel service. This will give the kAFS a more
accurate base from which to calculate the callback promise expiration.

(5) Allow the rxrpc protocol epoch value to be retrieved from an incoming
call. This will allow kAFS to determine if the fileserver restarted
and if two addresses apparently assigned to the same fileserver
actually are different boxes.

The patches are tagged here:

git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
rxrpc-next-20181004

and can also be found on this branch:

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

David
---
David Howells (9):
rxrpc: Use rxrpc_free_skb() rather than rxrpc_lose_skb()
rxrpc: Emit the data Tx trace line before transmitting
afs: Do better max capacity handling on address lists
afs: Always build address lists using the helper functions
afs: Sort address lists so that they are in logical ascending order
rxrpc: Use IPv4 addresses throught the IPv6
rxrpc: Drop the local endpoint arg from rxrpc_extract_addr_from_skb()
rxrpc: Allow the reply time to be obtained on a client call
rxrpc: Allow the reply time to be obtained on a client call


Documentation/networking/rxrpc.txt | 25 +++++++++
fs/afs/addr_list.c | 101 ++++++++++++++++++------------------
fs/afs/internal.h | 8 ++-
include/net/af_rxrpc.h | 4 +
net/rxrpc/af_rxrpc.c | 17 ++++++
net/rxrpc/ar-internal.h | 4 -
net/rxrpc/call_accept.c | 2 -
net/rxrpc/conn_object.c | 7 +-
net/rxrpc/input.c | 2 -
net/rxrpc/local_event.c | 2 -
net/rxrpc/output.c | 10 ++--
net/rxrpc/peer_event.c | 12 ++--
net/rxrpc/recvmsg.c | 43 +++++++++++++++
net/rxrpc/skbuff.c | 15 -----
net/rxrpc/utils.c | 23 ++------
15 files changed, 169 insertions(+), 106 deletions(-)