summaryrefslogtreecommitdiffstats
path: root/include/rxrpc
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2015-04-01 17:31:26 +0200
committerDavid Howells <dhowells@redhat.com>2015-04-01 17:31:26 +0200
commit44ba06987c0b10faa998b9324850e8a6564c714d (patch)
treeb4ac5a90a5aa2d5465e92cb0a1d0b5f01cda156b /include/rxrpc
parentAFS: afs_send_empty_reply() doesn't require an iovec array (diff)
downloadlinux-44ba06987c0b10faa998b9324850e8a6564c714d.tar.xz
linux-44ba06987c0b10faa998b9324850e8a6564c714d.zip
RxRPC: Handle VERSION Rx protocol packets
Handle VERSION Rx protocol packets. We should respond to a VERSION packet with a string indicating the Rx version. This is a maximum of 64 characters and is padded out to 65 chars with NUL bytes. Note that other AFS clients use the version request as a NAT keepalive so we need to handle it rather than returning an abort. The standard formulation seems to be: <project> <version> built <yyyy>-<mm>-<dd> for example: " OpenAFS 1.6.2 built 2013-05-07 " (note the three extra spaces) as obtained with: rxdebug grand.mit.edu -version from the openafs package. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include/rxrpc')
-rw-r--r--include/rxrpc/packet.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/rxrpc/packet.h b/include/rxrpc/packet.h
index f2902ef7ab75..4dce116bfd80 100644
--- a/include/rxrpc/packet.h
+++ b/include/rxrpc/packet.h
@@ -47,7 +47,8 @@ struct rxrpc_header {
#define RXRPC_PACKET_TYPE_CHALLENGE 6 /* connection security challenge (SRVR->CLNT) */
#define RXRPC_PACKET_TYPE_RESPONSE 7 /* connection secutity response (CLNT->SRVR) */
#define RXRPC_PACKET_TYPE_DEBUG 8 /* debug info request */
-#define RXRPC_N_PACKET_TYPES 9 /* number of packet types (incl type 0) */
+#define RXRPC_PACKET_TYPE_VERSION 13 /* version string request */
+#define RXRPC_N_PACKET_TYPES 14 /* number of packet types (incl type 0) */
uint8_t flags; /* packet flags */
#define RXRPC_CLIENT_INITIATED 0x01 /* signifies a packet generated by a client */