app/test: fix data length of each packet segment
PATCH v2 1/1 app/test: fix data length of each packet segment
v2:
* fix code format
Fixes a9c9e9698d5e ("app/test: allow to create packets of different sizes")
Signed-off-by Zhuobin Huang <[email protected]>
--- ...x-data-length-of-each-packet-segment.patch | 54 +++++++++++++++++++ app/test/packet_burst_generator.c | 2 +- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 0001-app-test-fix-data-length-of-each-packet-segment.patch
0001-app-test-fix-data-length-of-each-packet-segment.patch new file +54 -0
@@ -0,0 +1,54 @@ +From 7b3827259bded81127fb33572868815bd53ad564 Mon Sep 17 00:00:00 2001 +From: Zhuobin Huang <[email protected]> +Date: Mon, 6 Mar 2023 04:13:20 +0800 +Subject: [PATCH] app/test: fix data length of each packet segment + +Assign correct data length to each segments according +to the given pkt_len and nb_pkt_segs, instead of +using pkt_len as the data_len of every packet segment + +Fixes: a9c9e9698d5e ("app/test: allow to create packets of different sizes") +Cc: [email protected] + +Signed-off-by: Zhuobin Huang <[email protected]> +--- + app/test/packet_burst_generator.c | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/app/test/packet_burst_generator.c b/app/test/packet_burst_generator.c +index 6b42b9b83b..c2e51a3bf1 100644 +--- a/app/test/packet_burst_generator.c ++++ b/app/test/packet_burst_generator.c +@@ -350,6 +350,8 @@ generate_packet_burst_proto(struct rte_mempool *mp, + struct rte_mbuf *pkt_seg; + struct rte_mbuf *pkt; + ++ const uint8_t pkt_seg_data_len = pkt_len / nb_pkt_segs; ++ + for (nb_pkt = 0; nb_pkt < nb_pkt_per_burst; nb_pkt++) { + pkt = rte_pktmbuf_alloc(mp); + if (pkt == NULL) { +@@ -359,7 +361,7 @@ generate_packet_burst_proto(struct rte_mempool *mp, + break; + } + +- pkt->data_len = pkt_len; ++ pkt->data_len = pkt_seg_data_len; + pkt_seg = pkt; + for (i = 1; i < nb_pkt_segs; i++) { + pkt_seg->next = rte_pktmbuf_alloc(mp); +@@ -369,7 +371,10 @@ generate_packet_burst_proto(struct rte_mempool *mp, + goto nomore_mbuf; + } + pkt_seg = pkt_seg->next; +- pkt_seg->data_len = pkt_len; ++ if(i != nb_pkt_segs - 1) ++ pkt_seg->data_len = pkt_seg_data_len; ++ else ++ pkt_seg->data_len = pkt_seg_data_len + pkt_len % nb_pkt_segs; + } + pkt_seg->next = NULL; /* Last segment of packet. */ + +-- +2.34.1 +
app/test/packet_burst_generator.c +1 -1
@@ -371,7 +371,7 @@ generate_packet_burst_proto(struct rte_mempool *mp, goto nomore_mbuf; } pkt_seg = pkt_seg->next; -if (i != nb_pkt_segs -1 ) +if (i != nb_pkt_segs -1 ) pkt_seg->data_len = pkt_seg_data_len;else pkt_seg->data_len = pkt_seg_data_len + pkt_len % nb_pkt_segs;
Signature · 1 line
2.34.1