selftests/xsk: print correct payload for packet dump
authorMagnus Karlsson <magnus.karlsson@intel.com>
Wed, 11 Jan 2023 09:35:12 +0000 (10:35 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 12 Jan 2023 02:16:51 +0000 (18:16 -0800)
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.

Fixes: facb7cb2e909 ("selftests/bpf: Xsk selftests - SKB POLL, NOPOLL")
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://lore.kernel.org/r/20230111093526.11682-2-magnus.karlsson@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/xskxceiver.c

index 162d3a5..2ff43b2 100644 (file)
@@ -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");