[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190130191248.00000167@gmail.com>
Date: Wed, 30 Jan 2019 19:12:48 +0100
From: Maciej Fijalkowski <maciejromanfijalkowski@...il.com>
To: Jesper Dangaard Brouer <brouer@...hat.com>
Cc: daniel@...earbox.net, ast@...nel.org, netdev@...r.kernel.org,
jakub.kicinski@...ronome.com
Subject: Re: [PATCH bpf-next v4 5/7] samples/bpf: Add a "force" flag to XDP
samples
On Tue, 29 Jan 2019 12:34:05 +0100
Jesper Dangaard Brouer <brouer@...hat.com> wrote:
> On Tue, 29 Jan 2019 09:00:00 +0100
> Jesper Dangaard Brouer <brouer@...hat.com> wrote:
>
> > On Mon, 28 Jan 2019 20:16:11 +0100
> > Maciej Fijalkowski <maciejromanfijalkowski@...il.com> wrote:
> >
> > > From: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
> > >
> > > Make xdp samples consistent with iproute2 behavior and set the
> > > XDP_FLAGS_UPDATE_IF_NOEXIST by default when setting the xdp program on
> > > interface. Provide an option for user to force the program loading,
> > > which as a result will not include the mentioned flag in
> > > bpf_set_link_xdp_fd call.
> >
> > I like the idea, but what is the error message users get after this
> > change?
>
> $ sudo ./xdp1 mlx5p1 &
> [1] 9768
>
> $ sudo ./xdp1 mlx5p1
> link set xdp fd failed
>
> This error message is a little too generic to be a good user experience.
> The kernel (in dev_change_xdp_fd) will return errno -EBUSY (-16), but
> we don't use or report the return value in these sample programs.
>
> If my QA see this error message, I will still get an error report
> bugzilla that I need to spend time on investigating. Can we please
> improve this error message?
>
> If you are really cool you get inspired by (or use) libbpf_strerror()
> code avail in tools/lib/bpf/libbpf_errno.c. Default strerror(EBUSY)
> will return "Device or resource busy", but maybe we can do slightly
> better and report something more meaningful for this XDP context.
>
I'll post a v5 with libbpf_strerror() usage when bpf_set_link_xdp_fd failed in
samples but at this point it will only give us a standard "device or resource
busy" error, so if we need some more meaningful message that libbpf will give
us then I guess we need to define a new libbpf_errno entry (as well as entry in
libbpf_strerror_table for this new errno value) and set the errno in
bpf_set_link_xdp_fd in case of a failure?
Powered by blists - more mailing lists