Re: [PATCH bpf-next] samples/bpf: xdp_redirect_cpu: Add mprog-disable to optstring.
From: Matt Cover
Date: Wed Aug 04 2021 - 13:57:42 EST
On Sat, Jul 31, 2021 at 8:25 AM Kumar Kartikeya Dwivedi
<memxor@xxxxxxxxx> wrote:
>
> On Sat, Jul 31, 2021 at 06:26:32AM IST, Matthew Cover wrote:
> > Commit ce4dade7f12a ("samples/bpf: xdp_redirect_cpu: Load a eBPF program
> > on cpumap") added the following option, but missed adding it to optstring:
> > - mprog-disable: disable loading XDP program on cpumap entries
> >
> > Add the missing option character.
> >
>
> I made some changes in this area in [0], since the support was primarily to do
> redirection from the cpumap prog, so by default we don't install anything now
> and only do so if a redirection interface is specified (and use devmap instead).
> So this option won't be used anyway going forward (since we don't install a
> dummy XDP_PASS program anymore) if it gets accepted.
>
> [0]: https://lore.kernel.org/bpf/20210728165552.435050-1-memxor@xxxxxxxxx
>
> PS: I can restore it again if this is something really used beyond redirecting
> to another device (i.e. with custom BPF programs). Any feedback would be helpful.
Hey Kartikeya. I happened to be looking through this code to get a
feel for using CPUMAP for custom steering (e.g. RSS on encapsulated
packets) in XDP and noticed the missing option character. Figured it
was worth doing a quick patch and test.
Unfortunately, I'm not able to say much on your changes as I'm still
getting familiarized with this code. It looks like your submission is
in need of a rebase; v3 has been marked "Changes Requested" in
patchwork [0]. As I see things, It'd be good to get this fix in there
for now, whether or not the code is removed later.
[0]:https://patchwork.kernel.org/project/netdevbpf/patch/20210728165552.435050-9-memxor@xxxxxxxxx/
>
> > Fixes: ce4dade7f12a ("samples/bpf: xdp_redirect_cpu: Load a eBPF program on cpumap")
> > Signed-off-by: Matthew Cover <matthew.cover@xxxxxxxxxxxxx>
> > ---
> > samples/bpf/xdp_redirect_cpu_user.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/samples/bpf/xdp_redirect_cpu_user.c b/samples/bpf/xdp_redirect_cpu_user.c
> > index d3ecdc1..9e225c9 100644
> > --- a/samples/bpf/xdp_redirect_cpu_user.c
> > +++ b/samples/bpf/xdp_redirect_cpu_user.c
> > @@ -841,7 +841,7 @@ int main(int argc, char **argv)
> > memset(cpu, 0, n_cpus * sizeof(int));
> >
> > /* Parse commands line args */
> > - while ((opt = getopt_long(argc, argv, "hSd:s:p:q:c:xzFf:e:r:m:",
> > + while ((opt = getopt_long(argc, argv, "hSd:s:p:q:c:xzFf:e:r:m:n",
> > long_options, &longindex)) != -1) {
> > switch (opt) {
> > case 'd':
> > --
> > 1.8.3.1
> >
>
> --
> Kartikeya