lkml.org 
[lkml]   [2017]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subject[PATCH net-next 0/3] rxrpc: Tx length parameter
From
Date

Here's a set of patches that allows someone initiating a client call with
AF_RXRPC to indicate upfront the total amount of data that will be
transmitted. This will allow AF_RXRPC to encrypt directly from source
buffer to packet rather than having to copy into the buffer and only
encrypt when it's full (the encrypted portion of the packet starts with a
length and so we can't encrypt until we know what the length will be).

The three patches are:

(1) Provide a means of finding out what control message types are actually
supported. EINVAL is reported if an unsupported cmsg type is seen, so
we don't want to set the new cmsg unless we know it will be accepted.

(2) Consolidate some stuff into a struct to reduce the parameter count on
the function that parses the cmsg buffer.

(3) Introduce the RXRPC_TX_LENGTH cmsg. This can be provided on the first
sendmsg() that contributes data to a client call request or a service
call reply. If provided, the user must provide exactly that amount of
data or an error will be incurred.

The patches can be found here also:

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

Tagged thusly:

git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
rxrpc-rewrite-20170607

David
---
David Howells (3):
rxrpc: Provide a getsockopt call to query what cmsgs types are supported
rxrpc: Consolidate sendmsg parameters
rxrpc: Provide a cmsg to specify the amount of Tx data for a call


Documentation/networking/rxrpc.txt | 43 +++++++++++
fs/afs/rxrpc.c | 18 +++++
include/linux/rxrpc.h | 25 ++++---
include/net/af_rxrpc.h | 2 +
net/rxrpc/af_rxrpc.c | 35 +++++++++
net/rxrpc/ar-internal.h | 3 +
net/rxrpc/call_object.c | 3 +
net/rxrpc/sendmsg.c | 135 +++++++++++++++++++++++++-----------
8 files changed, 207 insertions(+), 57 deletions(-)

\
 
 \ /
  Last update: 2017-06-12 01:08    [W:2.929 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site