[dpdk-dev] [PATCH] app/test: fix IPv6 header initialization
Lance Richardson
lance.richardson at broadcom.com
Fri Mar 26 17:37:32 CET 2021
Fix two issues found when writing PMD unit tests for HW ptype and
L4 checksum offload:
- The version field in the IPv6 header was being set to zero,
which prevented hardware from recognizing it as IPv6. The
IP version field is now set to six.
- The payload_len field was being initialized using host byte
order, which (among other things) resulted in incorrect L4
checksum computation. The payload_len field is now set using
network (big-endian) byte order.
Fixes: 92073ef961ee ("bond: unit tests")
Cc: stable at dpdk.org
Signed-off-by: Lance Richardson <lance.richardson at broadcom.com>
---
app/test/packet_burst_generator.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test/packet_burst_generator.c b/app/test/packet_burst_generator.c
index f203f9d09e..8b390853a2 100644
--- a/app/test/packet_burst_generator.c
+++ b/app/test/packet_burst_generator.c
@@ -141,8 +141,8 @@ uint16_t
initialize_ipv6_header(struct rte_ipv6_hdr *ip_hdr, uint8_t *src_addr,
uint8_t *dst_addr, uint16_t pkt_data_len)
{
- ip_hdr->vtc_flow = 0;
- ip_hdr->payload_len = pkt_data_len;
+ ip_hdr->vtc_flow = rte_cpu_to_be_32(0x60000000); /* Set version to 6. */
+ ip_hdr->payload_len = rte_cpu_to_be_16(pkt_data_len);
ip_hdr->proto = IPPROTO_UDP;
ip_hdr->hop_limits = IP_DEFTTL;
--
2.25.1
More information about the dev
mailing list