summary refs log tree commit diff
path: root/include/rxrpc
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2015-04-01 16:31:26 +0100
committerDavid Howells <dhowells@redhat.com>2015-04-01 16:31:26 +0100
commit44ba06987c0b10faa998b9324850e8a6564c714d (patch)
treeb4ac5a90a5aa2d5465e92cb0a1d0b5f01cda156b /include/rxrpc
parentbfd4e9562c8769feadba9b5262200448656b8048 (diff)
downloadlinux-44ba06987c0b10faa998b9324850e8a6564c714d.tar.gz
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 */