[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a8529754-db5a-83f4-d22e-f4aee2de96a2@gmail.com>
Date: Tue, 2 Jan 2018 10:47:01 -0700
From: David Ahern <dsahern@...il.com>
To: Jesper Dangaard Brouer <brouer@...hat.com>,
Daniel Borkmann <borkmann@...earbox.net>,
Alexei Starovoitov <alexei.starovoitov@...il.com>
Cc: netdev@...r.kernel.org, gospo@...adcom.com, bjorn.topel@...el.com,
michael.chan@...adcom.com
Subject: Re: [bpf-next V3 PATCH 13/14] bpf: finally expose xdp_rxq_info to XDP
bpf-programs
On 12/31/17 4:02 AM, Jesper Dangaard Brouer wrote:
> Now all XDP driver have been updated to setup xdp_rxq_info and assign
> this to xdp_buff->rxq. Thus, it is now safe to enable access to some
> of the xdp_rxq_info struct members.
>
> This patch extend xdp_md and expose UAPI to userspace for
> ingress_ifindex and rx_queue_index. Access happens via bpf
> instruction rewrite, that load data directly from struct xdp_rxq_info.
>
> * ingress_ifindex map to xdp_rxq_info->dev->ifindex
> * rx_queue_index map to xdp_rxq_info->queue_index
>
> Signed-off-by: Jesper Dangaard Brouer <brouer@...hat.com>
> ---
> include/uapi/linux/bpf.h | 3 +++
> net/core/filter.c | 19 +++++++++++++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
> index 69eabfcb9bdb..a6000a95d40e 100644
> --- a/include/uapi/linux/bpf.h
> +++ b/include/uapi/linux/bpf.h
> @@ -899,6 +899,9 @@ struct xdp_md {
> __u32 data;
> __u32 data_end;
> __u32 data_meta;
> + /* Below access go though struct xdp_rxq_info */
> + __u32 ingress_ifindex; /* rxq->dev->ifindex */
> + __u32 rx_queue_index; /* rxq->queue_index */
> };
>
> enum sk_action {
At some point we need to tackle the network namespace context for the
ifindex.
Powered by blists - more mailing lists