Re: [PATCH net-next v8 03/15] quic: provide common utilities and data structures
Paolo Abeni <[email protected]> Thu, 29 Jan 2026 17:26:25 +0100
| Newsgroups | dev.linux.lists.quic,dev.linux.lists.kernel-tls-handshake,org.kernel.vger.linux-cifs,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
On 1/26/26 3:51 PM, Xin Long wrote:
> +struct quic_skb_cb {
> + /* Callback and temporary context when encryption/decryption completes in async mode */
> + void (*crypto_done)(struct sk_buff *skb, int err);
> + void *crypto_ctx;
> + union {
> + struct sk_buff *last; /* Last packet in bundle on TX */
> + u64 time; /* Arrival timestamp in UDP tunnel on RX */
> + };
> + s64 number; /* Parsed packet number, or the largest previously seen */
> + u32 seqno; /* Dest connection ID number on RX */
> + u16 errcode; /* Error code if encryption/decryption fails */
> + u16 length; /* Payload length + packet number length */
> +
> + u16 number_offset; /* Offset of packet number field */
> + u8 number_len; /* Length of the packet number field */
> + u8 level; /* Encryption level: Initial, Handshake, App, or Early */
> +
> + u8 key_update:1; /* Key update triggered by this packet */
> + u8 key_phase:1; /* Key phase used (0 or 1) */
> + u8 backlog:1; /* Enqueued into backlog list */
> + u8 resume:1; /* Crypto already processed (encrypted or decrypted) */
> + u8 path:1; /* Packet arrived from a new or migrating path */
> + u8 ecn:2; /* ECN marking used on TX */
> +};
> +
> +#define QUIC_SKB_CB(skb) ((struct quic_skb_cb *)&((skb)->cb[0]))
Please add a build time check on quic_skb_cb size.
Thanks,
Paolo