Subject: Re: [PATCH bpf 1/3] selftests/xsk: print correct payload for packet dump

From: Maciej Fijalkowski <[email-masked]>
Date: Tue, 22 Nov 2022 11:42:57 +0100

On Tue, Nov 15, 2022 at 01:40:48PM +0100, Magnus Karlsson wrote:
> On Tue, Nov 15, 2022 at 1:29 PM Maciej Fijalkowski
> <[email-masked]> wrote:
> >
> > On Tue, Nov 15, 2022 at 09:05:36AM +0100, Magnus Karlsson wrote:
> > > From: Magnus Karlsson <[email-masked]>
> > >
> > > Print the correct payload when the packet dump option is selected. The
> > > network to host conversion was forgotten and the payload was
> > > erronously declared to be an int instead of an unsigned int. Changed
> > > the loop index i too, as it does not need to be an int and was
> > > declared on the same row.
> > >
> > > The printout looks something like this after the fix:
> > >
> > > DEBUG>> L2: dst mac: 000A569EEE62
> > > DEBUG>> L2: src mac: 000A569EEE61
> > > DEBUG>> L3: ip_hdr->ihl: 05
> > > DEBUG>> L3: ip_hdr->saddr: 192.168.100.161
> > > DEBUG>> L3: ip_hdr->daddr: 192.168.100.162
> > > DEBUG>> L4: udp_hdr->src: 2121
> > > DEBUG>> L4: udp_hdr->dst: 2020
> > > DEBUG>> L5: payload: 4
> > > ---------------------------------------
> >
> > Above would be helpful if previous output was included as well but not a
> > big deal i guess.
> 
> It would not bring any value IMHO. The only difference is that the
> "L5: payload" row is now showing the correct payload.

Ah okay then. I have already acked whole series, but just to make things
clear, I am okay with the current state of this patch:

Acked-by: Maciej Fijalkowski <[email-masked]>

> 
> > >
> > > Fixes: facb7cb2e909 ("selftests/bpf: Xsk selftests - SKB POLL, NOPOLL")
> > > Signed-off-by: Magnus Karlsson <[email-masked]>
> > > ---
> > >  tools/testing/selftests/bpf/xskxceiver.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c
> > > index 681a5db80dae..51e693318b3f 100644
> > > --- a/tools/testing/selftests/bpf/xskxceiver.c
> > > +++ b/tools/testing/selftests/bpf/xskxceiver.c
> > > @@ -767,7 +767,7 @@ static void pkt_dump(void *pkt, u32 len)
> > >       struct ethhdr *ethhdr;
> > >       struct udphdr *udphdr;
> > >       struct iphdr *iphdr;
> > > -     int payload, i;
> > > +     u32 payload, i;
> > >
> > >       ethhdr = pkt;
> > >       iphdr = pkt + sizeof(*ethhdr);
> > > @@ -792,7 +792,7 @@ static void pkt_dump(void *pkt, u32 len)
> > >       fprintf(stdout, "DEBUG>> L4: udp_hdr->src: %d\n", ntohs(udphdr->source));
> > >       fprintf(stdout, "DEBUG>> L4: udp_hdr->dst: %d\n", ntohs(udphdr->dest));
> > >       /*extract L5 frame */
> > > -     payload = *((uint32_t *)(pkt + PKT_HDR_SIZE));
> > > +     payload = ntohl(*((u32 *)(pkt + PKT_HDR_SIZE)));
> > >
> > >       fprintf(stdout, "DEBUG>> L5: payload: %d\n", payload);
> > >       fprintf(stdout, "---------------------------------------\n");
> > > --
> > > 2.34.1
> > >