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