Source
/* packet.h: Rx packet layout and definitions
*
* Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved.
* Written by David Howells (dhowells@redhat.com)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
typedef u32 rxrpc_seq_t; /* Rx message sequence number */
typedef u32 rxrpc_serial_t; /* Rx message serial number */
typedef __be32 rxrpc_seq_net_t; /* on-the-wire Rx message sequence number */
typedef __be32 rxrpc_serial_net_t; /* on-the-wire Rx message serial number */
/*****************************************************************************/
/*
* on-the-wire Rx packet header
* - all multibyte fields should be in network byte order
*/
struct rxrpc_wire_header {
__be32 epoch; /* client boot timestamp */
/* Random if set, date-based if not */
__be32 cid; /* connection and channel ID */
/* max active calls per conn */
/* mask for channel ID */
/* mask for connection ID */
/* shift for connection ID */
/* connection ID increment */
__be32 callNumber; /* call ID (0 for connection-level packets) */
__be32 seq; /* sequence number of pkt in call stream */
__be32 serial; /* serial number of pkt sent to network */
uint8_t type; /* packet type */
/* data */
/* ACK */
/* call reject */
/* call/connection abort */
/* ACK all outstanding packets on call */
/* connection security challenge (SRVR->CLNT) */
/* connection secutity response (CLNT->SRVR) */
/* debug info request */
/* Parameter negotiation (unspec'd, ignore) */
/* Ignored */
/* Ignored */
/* version string request */
uint8_t flags; /* packet flags */
/* signifies a packet generated by a client */
/* request an unconditional ACK of this packet */
/* the last packet from this side for this call */
/* more packets to come */
/* [DATA] this is a jumbo packet */
/* [ACK] slow start supported */
uint8_t userStatus; /* app-layer defined status */
/* AuriStor service upgrade request */