Merge remote-tracking branch 'xen-tip/linux-next'
[deliverable/linux.git] / include / rxrpc / packet.h
index b2017440b7654ab37045fabad95b076d539d95d0..fd6eb3a60a8c8286d32d1f5eeb2f3dc2c1153b30 100644 (file)
@@ -24,6 +24,7 @@ typedef __be32        rxrpc_serial_net_t; /* on-the-wire Rx message serial number */
  */
 struct rxrpc_wire_header {
        __be32          epoch;          /* client boot timestamp */
+#define RXRPC_RANDOM_EPOCH     0x80000000      /* Random if set, date-based if not */
 
        __be32          cid;            /* connection and channel ID */
 #define RXRPC_MAXCALLS         4                       /* max active calls per conn */
@@ -33,8 +34,6 @@ struct rxrpc_wire_header {
 #define RXRPC_CID_INC          (1 << RXRPC_CIDSHIFT)   /* connection ID increment */
 
        __be32          callNumber;     /* call ID (0 for connection-level packets) */
-#define RXRPC_PROCESS_MAXCALLS (1<<2)  /* maximum number of active calls per conn (power of 2) */
-
        __be32          seq;            /* sequence number of pkt in call stream */
        __be32          serial;         /* serial number of pkt sent to network */
 
@@ -92,10 +91,14 @@ struct rxrpc_wire_header {
 struct rxrpc_jumbo_header {
        uint8_t         flags;          /* packet flags (as per rxrpc_header) */
        uint8_t         pad;
-       __be16          _rsvd;          /* reserved (used by kerberos security as cksum) */
+       union {
+               __be16  _rsvd;          /* reserved */
+               __be16  cksum;          /* kerberos security checksum */
+       };
 };
 
 #define RXRPC_JUMBO_DATALEN    1412    /* non-terminal jumbo packet data length */
+#define RXRPC_JUMBO_SUBPKTLEN  (RXRPC_JUMBO_DATALEN + sizeof(struct rxrpc_jumbo_header))
 
 /*****************************************************************************/
 /*
@@ -130,6 +133,13 @@ struct rxrpc_ackpacket {
 
 } __packed;
 
+/* Some ACKs refer to specific packets and some are general and can be updated. */
+#define RXRPC_ACK_UPDATEABLE ((1 << RXRPC_ACK_REQUESTED)       |       \
+                             (1 << RXRPC_ACK_PING_RESPONSE)    |       \
+                             (1 << RXRPC_ACK_DELAY)            |       \
+                             (1 << RXRPC_ACK_IDLE))
+
+
 /*
  * ACK packets can have a further piece of information tagged on the end
  */
This page took 0.028235 seconds and 5 git commands to generate.