[dpdk-dev] [EXT] Re: [PATCH] test: add reassembly perf test
Pavan Nikhilesh Bhagavatula
pbhagavatula at marvell.com
Fri Apr 3 18:59:07 CEST 2020
>> From: Pavan Nikhilesh <pbhagavatula at marvell.com>
>>
>> Add reassembly perf autotest for both ipv4 and ipv6 reassembly.
>> Each test is performed with vairable number of fragments per flow,
>> either ordered or unorderd fragments and interleaved flows.
>>
>> Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
>> ---
>> app/test/meson.build | 2 +
>> app/test/test_reassembly_perf.c | 989
>++++++++++++++++++++++++++++++++
>> 2 files changed, 991 insertions(+)
>> create mode 100644 app/test/test_reassembly_perf.c
>>
<snip>
>> + pkt_len = frag_len;
>> + /*
>> + * Initialize UDP header.
>> + */
>> + if (i == 0) {
>> + udp_hdr->src_port =
>rte_cpu_to_be_16(UDP_SRC_PORT);
>> + udp_hdr->dst_port =
>rte_cpu_to_be_16(UDP_DST_PORT);
>> + udp_hdr->dgram_len =
>rte_cpu_to_be_16(pkt_len);
>> + udp_hdr->dgram_cksum = 0; /* No UDP
>checksum. */
>
> ^^^ This is expressly forbidden in ipv6 (see
> RFC2460). Is the fragment reassembly not
> caring about this? I didn't check if ipv6
> fragmenting code actually generates a proper
> udp checksum, either.
Nope reassembly doesn't care about L4 header.
I just checked the v6 fragmentation code and it doesn't compute udp checksum.
>
> I don't think it should prevent us from
> adding this test case, but we should try to
> fix it in the library if it isn't already.
>
>> + }
>> +
>> + /*
>> + * Initialize IP header.
>> + */
>> + pkt_len = (uint16_t)(pkt_len + sizeof(struct
>rte_ipv6_hdr) +
>> + RTE_IPV6_FRAG_HDR_SIZE);
>> + ip_hdr->vtc_flow = rte_cpu_to_be_32(IP6_VERSION <<
More information about the dev
mailing list