Re: [PATCH v7 bpf-next 10/14] bpf: add new frame_length field to the XDP ctx
From: "Eelco Chaudron" <echaudro@redhat.com>
Date: 2021-03-22 09:30:30
Also in:
bpf
From: "Eelco Chaudron" <echaudro@redhat.com>
Date: 2021-03-22 09:30:30
Also in:
bpf
On 20 Mar 2021, at 4:42, David Ahern wrote:
On 3/19/21 3:47 PM, Lorenzo Bianconi wrote:quoted
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/reservedtailroom*/ 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 voidIf 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.
Guess this can be done, but I did not too avoid the use of constants to do the BPF extraction. Here is an example of what might need to be added, as adding them before made people unhappy ;) https://elixir.bootlin.com/linux/v5.12-rc4/source/include/linux/skbuff.h#L801