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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:32:52 +0000 (09:32 +0100)
[ Upstream commit 2d0b2ae2871ae6d42a9f0a4280e0fb5bff8d38b8 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/bpf/xskxceiver.c

index 681a5db..51e6933 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");