Re: [PATCH net-next v8 03/15] quic: provide common utilities and data structures
Xin Long <[email protected]> Thu, 29 Jan 2026 14:40:40 -0500
| Newsgroups | dev.linux.lists.quic,dev.linux.lists.kernel-tls-handshake,org.kernel.vger.linux-cifs,org.kernel.vger.netdev |
|---|---|
| Message-ID | <CADvbK_f7++7shAGwYLcz=ph-te_d+z+bMxiaTtY2Ahze+Wagqg@mail.gmail.com> |
On Thu, Jan 29, 2026 at 11:26 AM Paolo Abeni <[email protected]> wrote: > > 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. > I may put this in quic_init(): BUILD_BUG_ON(sizeof(struct quic_skb_cb) > sizeof_field(struct sk_buff, cb)); thanks.