[Intel-wired-lan] [PATCH bpf V6 5/5] selftests/bpf: Adjust bpf_xdp_metadata_rx_hash for new arg

Jesper Brouer jbrouer at redhat.com
Mon Apr 3 15:08:13 UTC 2023


søn. 2. apr. 2023 17.50 skrev Alexei Starovoitov <
alexei.starovoitov at gmail.com>:

> On Sun, Apr 2, 2023 at 1:30 AM Jesper Dangaard Brouer <brouer at redhat.com>
> wrote:
> >
> > Update BPF selftests to use the new RSS type argument for kfunc
> > bpf_xdp_metadata_rx_hash.
> >
> > Signed-off-by: Jesper Dangaard Brouer <brouer at redhat.com>
> > Acked-by: Toke Høiland-Jørgensen <toke at redhat.com>
> > Acked-by: Stanislav Fomichev <sdf at google.com>
> > ---
> >  .../selftests/bpf/prog_tests/xdp_metadata.c        |    2 ++
> >  .../testing/selftests/bpf/progs/xdp_hw_metadata.c  |   14 +++++++++-----
> >  tools/testing/selftests/bpf/progs/xdp_metadata.c   |    6 +++---
> >  tools/testing/selftests/bpf/progs/xdp_metadata2.c  |    7 ++++---
> >  tools/testing/selftests/bpf/xdp_hw_metadata.c      |    2 +-
> >  tools/testing/selftests/bpf/xdp_metadata.h         |    1 +
> >  6 files changed, 20 insertions(+), 12 deletions(-)
> >
> > diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
> b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
> > index aa4beae99f4f..8c5e98da9ae9 100644
> > --- a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
> > +++ b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
> > @@ -273,6 +273,8 @@ static int verify_xsk_metadata(struct xsk *xsk)
> >         if (!ASSERT_NEQ(meta->rx_hash, 0, "rx_hash"))
> >                 return -1;
> >
> > +       ASSERT_EQ(meta->rx_hash_type, 0, "rx_hash_type");
> > +
> >         xsk_ring_cons__release(&xsk->rx, 1);
> >         refill_rx(xsk, comp_addr);
> >
> > diff --git a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> > index 4c55b4d79d3d..7b3fc12e96d6 100644
> > --- a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> > +++ b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> > @@ -14,8 +14,8 @@ struct {
> >
> >  extern int bpf_xdp_metadata_rx_timestamp(const struct xdp_md *ctx,
> >                                          __u64 *timestamp) __ksym;
> > -extern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx,
> > -                                   __u32 *hash) __ksym;
> > +extern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, __u32
> *hash,
> > +                                   enum xdp_rss_hash_type *rss_type)
> __ksym;
> >
> >  SEC("xdp")
> >  int rx(struct xdp_md *ctx)
> > @@ -74,10 +74,14 @@ int rx(struct xdp_md *ctx)
> >         else
> >                 meta->rx_timestamp = 0; /* Used by AF_XDP as not avail
> signal */
> >
> > -       if (!bpf_xdp_metadata_rx_hash(ctx, &meta->rx_hash))
> > -               bpf_printk("populated rx_hash with %u", meta->rx_hash);
> > -       else
> > +       if (!bpf_xdp_metadata_rx_hash(ctx, &meta->rx_hash,
> &meta->rx_hash_type)) {
> > +               bpf_printk("populated rx_hash:0x%X type:0x%X",
> > +                          meta->rx_hash, meta->rx_hash_type);
> > +               if (!(meta->rx_hash_type & XDP_RSS_L4))
> > +                       bpf_printk("rx_hash low quality L3 hash type");
> > +       } else {
> >                 meta->rx_hash = 0; /* Used by AF_XDP as not avail signal
> */
> > +       }
>
> Didn't we agree in the previous thread to remove these printks and
> replace them with actual stats that user space can see?
>

This patchset is for bpf-tree RC version of kernel.
Thus, we keep changes to a minimum.

I/we will do printk work on bpf-next.
(Once I get home from vacation next week)

--Jesper
(Sent from Paris on my phone, thus vger will likely drop msg to list)

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20230403/85c43ccd/attachment.html>


More information about the Intel-wired-lan mailing list