Message ID | 20221115080538.18503-2-magnus.karlsson@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | BPF |
Headers | show |
Series | selftests/xsk: three small fixes | expand |
On Tue, Nov 15, 2022 at 09:05:36AM +0100, Magnus Karlsson wrote: > From: Magnus Karlsson <magnus.karlsson@intel.com> > > 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. > > Fixes: facb7cb2e909 ("selftests/bpf: Xsk selftests - SKB POLL, NOPOLL") > Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> > --- > 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 >
On Tue, Nov 15, 2022 at 1:29 PM Maciej Fijalkowski <maciej.fijalkowski@intel.com> wrote: > > On Tue, Nov 15, 2022 at 09:05:36AM +0100, Magnus Karlsson wrote: > > From: Magnus Karlsson <magnus.karlsson@intel.com> > > > > 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@intel.com> > > --- > > 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 > >
On Tue, Nov 15, 2022 at 01:40:48PM +0100, Magnus Karlsson wrote: > On Tue, Nov 15, 2022 at 1:29 PM Maciej Fijalkowski > <maciej.fijalkowski@intel.com> wrote: > > > > On Tue, Nov 15, 2022 at 09:05:36AM +0100, Magnus Karlsson wrote: > > > From: Magnus Karlsson <magnus.karlsson@intel.com> > > > > > > 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 <maciej.fijalkowski@intel.com> > > > > > > > Fixes: facb7cb2e909 ("selftests/bpf: Xsk selftests - SKB POLL, NOPOLL") > > > Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> > > > --- > > > 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 > > >
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");