On 2023-06-15 19:25 +0200, Maciej Fijalkowski wrote: > From: Tirthendu Sarkar <tirthendu.sarkar@xxxxxxxxx> > > Use the 'options' field in xdp_desc as a packet continuity marker. Since > 'options' field was unused till now and was expected to be set to 0, the > 'eop' descriptor will have it set to 0, while the non-eop descriptors > will have to set it to 1. This ensures legacy applications continue to > work without needing any change for single-buffer packets. > > Add helper functions and extend xskq_prod_reserve_desc() to use the > 'options' field. > > Signed-off-by: Tirthendu Sarkar <tirthendu.sarkar@xxxxxxxxx> > --- > include/uapi/linux/if_xdp.h | 7 +++++++ > net/xdp/xsk.c | 8 ++++---- > net/xdp/xsk_queue.h | 12 +++++++++--- > 3 files changed, 20 insertions(+), 7 deletions(-) > [...] > diff --git a/net/xdp/xsk_queue.h b/net/xdp/xsk_queue.h > index 6d40a77fccbe..ad81b19e6fdf 100644 > --- a/net/xdp/xsk_queue.h > +++ b/net/xdp/xsk_queue.h > @@ -130,6 +130,11 @@ static inline bool xskq_cons_read_addr_unchecked(struct xsk_queue *q, u64 *addr) > return false; > } > > +static inline bool xp_unused_options_set(u16 options) ^ To match struct xdp_desc, this should be u32, no?