On 3/19/21 3:47 PM, Lorenzo Bianconi wrote: > diff --git a/include/net/xdp.h b/include/net/xdp.h > index 19cd6642e087..e47d9e8da547 100644 > --- a/include/net/xdp.h > +++ b/include/net/xdp.h > @@ -75,6 +75,10 @@ struct xdp_buff { > struct xdp_txq_info *txq; > u32 frame_sz:31; /* frame size to deduce data_hard_end/reserved tailroom*/ > u32 mb:1; /* xdp non-linear buffer */ > + u32 frame_length; /* Total frame length across all buffers. Only needs > + * to be updated by helper functions, as it will be > + * initialized at XDP program start. > + */ > }; > > static __always_inline void If you do another version of this set ... I think you only need 17-bits for the frame length (size is always <= 128kB). It would be helpful for extensions to xdp if you annotated how many bits are really needed here.