{
        struct tls_context *tls_ctx = tls_get_ctx(sk);
        struct tls_offload_context_rx *ctx = tls_offload_ctx_rx(tls_ctx);
+       struct strp_msg *rxm = strp_msg(skb);
        int is_decrypted = skb->decrypted;
        int is_encrypted = !is_decrypted;
        struct sk_buff *skb_iter;
                is_encrypted &= !skb_iter->decrypted;
        }
 
+       trace_tls_device_decrypted(sk, tcp_sk(sk)->copied_seq - rxm->full_len,
+                                  tls_ctx->rx.rec_seq, rxm->full_len,
+                                  is_encrypted, is_decrypted);
+
        ctx->sw.decrypted |= is_decrypted;
 
        /* Return immediately if the record is either entirely plaintext or
 
        )
 );
 
+TRACE_EVENT(tls_device_decrypted,
+
+       TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no, u32 rec_len,
+                bool encrypted, bool decrypted),
+
+       TP_ARGS(sk, tcp_seq, rec_no, rec_len, encrypted, decrypted),
+
+       TP_STRUCT__entry(
+               __field(        struct sock *,  sk              )
+               __field(        u64,            rec_no          )
+               __field(        u32,            tcp_seq         )
+               __field(        u32,            rec_len         )
+               __field(        bool,           encrypted       )
+               __field(        bool,           decrypted       )
+       ),
+
+       TP_fast_assign(
+               __entry->sk = sk;
+               __entry->rec_no = get_unaligned_be64(rec_no);
+               __entry->tcp_seq = tcp_seq;
+               __entry->rec_len = rec_len;
+               __entry->encrypted = encrypted;
+               __entry->decrypted = decrypted;
+       ),
+
+       TP_printk(
+               "sk=%p tcp_seq=%u rec_no=%llu len=%u encrypted=%d decrypted=%d",
+               __entry->sk, __entry->tcp_seq,
+               __entry->rec_no, __entry->rec_len,
+               __entry->encrypted, __entry->decrypted
+       )
+);
+
 TRACE_EVENT(tls_device_rx_resync_send,
 
        TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no, int sync_type),