On Thu, Sep 03, 2020 at 10:58:50PM +0200, Lorenzo Bianconi wrote: > Introduce bpf_xdp_adjust_mb_header helper in order to adjust frame > headers moving *offset* bytes from/to the second buffer to/from the > first one. > This helper can be used to move headers when the hw DMA SG is not able > to copy all the headers in the first fragment and split header and data > pages. > > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> > --- > include/uapi/linux/bpf.h | 25 ++++++++++++---- > net/core/filter.c | 54 ++++++++++++++++++++++++++++++++++ > tools/include/uapi/linux/bpf.h | 26 ++++++++++++---- > 3 files changed, 95 insertions(+), 10 deletions(-) > > diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h > index 8dda13880957..c4a6d245619c 100644 > --- a/include/uapi/linux/bpf.h > +++ b/include/uapi/linux/bpf.h > @@ -3571,11 +3571,25 @@ union bpf_attr { > * value. > * > * long bpf_copy_from_user(void *dst, u32 size, const void *user_ptr) > - * Description > - * Read *size* bytes from user space address *user_ptr* and store > - * the data in *dst*. This is a wrapper of copy_from_user(). > - * Return > - * 0 on success, or a negative error in case of failure. > + * Description > + * Read *size* bytes from user space address *user_ptr* and store > + * the data in *dst*. This is a wrapper of copy_from_user(). > + * > + * long bpf_xdp_adjust_mb_header(struct xdp_buff *xdp_md, int offset) botched rebase?