]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/rxrpc/ar-internal.h
Merge tag 'ceph-for-5.4-rc7' of git://github.com/ceph/ceph-client
[linux.git] / net / rxrpc / ar-internal.h
index 8051dfdcf26df1a506043ab887de93dd5c24aadc..7c7d10f2e0c181776611cd54d6048a17ed512d5f 100644 (file)
@@ -232,6 +232,9 @@ struct rxrpc_security {
        int (*verify_packet)(struct rxrpc_call *, struct sk_buff *,
                             unsigned int, unsigned int, rxrpc_seq_t, u16);
 
+       /* Free crypto request on a call */
+       void (*free_call_crypto)(struct rxrpc_call *);
+
        /* Locate the data in a received packet that has been verified. */
        void (*locate_data)(struct rxrpc_call *, struct sk_buff *,
                            unsigned int *, unsigned int *);
@@ -553,6 +556,7 @@ struct rxrpc_call {
        struct rxrpc_peer       *peer;          /* Peer record for remote address */
        struct rxrpc_sock __rcu *socket;        /* socket responsible */
        struct rxrpc_net        *rxnet;         /* Network namespace to which call belongs */
+       const struct rxrpc_security *security;  /* applied security module */
        struct mutex            user_mutex;     /* User access mutex */
        unsigned long           ack_at;         /* When deferred ACK needs to happen */
        unsigned long           ack_lost_at;    /* When ACK is figured as lost */
@@ -564,6 +568,7 @@ struct rxrpc_call {
        unsigned long           expect_term_by; /* When we expect call termination by */
        u32                     next_rx_timo;   /* Timeout for next Rx packet (jif) */
        u32                     next_req_timo;  /* Timeout for next Rx request packet (jif) */
+       struct skcipher_request *cipher_req;    /* Packet cipher request buffer */
        struct timer_list       timer;          /* Combined event timer */
        struct work_struct      processor;      /* Event processor */
        rxrpc_notify_rx_t       notify_rx;      /* kernel service Rx notification function */
@@ -596,6 +601,7 @@ struct rxrpc_call {
        int                     debug_id;       /* debug ID for printks */
        unsigned short          rx_pkt_offset;  /* Current recvmsg packet offset */
        unsigned short          rx_pkt_len;     /* Current recvmsg packet len */
+       bool                    rx_pkt_last;    /* Current recvmsg packet is last */
 
        /* Rx/Tx circular buffer, depending on phase.
         *