On Tue, Nov 15, 2022 at 1:29 PM Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx> wrote: > > On Tue, Nov 15, 2022 at 09:05:36AM +0100, Magnus Karlsson wrote: > > From: Magnus Karlsson <magnus.karlsson@xxxxxxxxx> > > > > 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. > > > > Fixes: facb7cb2e909 ("selftests/bpf: Xsk selftests - SKB POLL, NOPOLL") > > Signed-off-by: Magnus Karlsson <magnus.karlsson@xxxxxxxxx> > > --- > > 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 > >