On Wed, Sep 30, 2020 at 05:41:57PM +0200, Lorenzo Bianconi wrote:
> From: Sameeh Jubran <same...@amazon.com>
> 
> The implementation is based on this [0] draft by Jesper D. Brouer.
> 
> Provided two new helpers:
> 
> * bpf_xdp_get_frag_count()
> * bpf_xdp_get_frags_total_size()
> 
> [0] xdp mb design - 
> https://github.com/xdp-project/xdp-project/blob/master/areas/core/xdp-multi-buffer01-design.org
> Signed-off-by: Sameeh Jubran <same...@amazon.com>
> Co-developed-by: Lorenzo Bianconi <lore...@kernel.org>
> Signed-off-by: Lorenzo Bianconi <lore...@kernel.org>
> ---
>  include/uapi/linux/bpf.h       | 14 ++++++++++++
>  net/core/filter.c              | 42 ++++++++++++++++++++++++++++++++++
>  tools/include/uapi/linux/bpf.h | 14 ++++++++++++
>  3 files changed, 70 insertions(+)
> 
> diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
> index a22812561064..6f97dce8cccf 100644
> --- a/include/uapi/linux/bpf.h
> +++ b/include/uapi/linux/bpf.h
> @@ -3586,6 +3586,18 @@ union bpf_attr {
>   *           the data in *dst*. This is a wrapper of **copy_from_user**\ ().
>   *   Return
>   *           0 on success, or a negative error in case of failure.
> + *
> + * int bpf_xdp_get_frag_count(struct xdp_buff *xdp_md)
> + *   Description
> + *           Get the number of fragments for a given xdp multi-buffer.
> + *   Return
> + *           The number of fragments
> + *
> + * int bpf_xdp_get_frags_total_size(struct xdp_buff *xdp_md)
> + *   Description
> + *           Get the total size of fragments for a given xdp multi-buffer.
> + *   Return
> + *           The total size of fragments for a given xdp multi-buffer.
>   */
>  #define __BPF_FUNC_MAPPER(FN)                \
>       FN(unspec),                     \
> @@ -3737,6 +3749,8 @@ union bpf_attr {
>       FN(inode_storage_delete),       \
>       FN(d_path),                     \
>       FN(copy_from_user),             \
> +     FN(xdp_get_frag_count),         \
> +     FN(xdp_get_frags_total_size),   \
>       /* */

Please route the set via bpf-next otherwise merge conflicts will be severe.

Reply via email to