On Mon, Feb 12, 2024 at 04:14:49PM -0800, Guenter Roeck wrote:
On 2/12/24 12:33, Charlie Jenkins wrote:
The test cases for ip_fast_csum and csum_ipv6_magic were failing on a
variety of architectures that are big endian or do not support
misalgined accesses. Both of these test cases are changed to support big
and little endian architectures.
The test for ip_fast_csum is changed to align the data along (14 +
NET_IP_ALIGN) bytes which is the alignment of an IP header. The test for
csum_ipv6_magic aligns the data using a struct. An extra padding field
is added to the struct to ensure that the size of the struct is the same
on all architectures (44 bytes).
Fixes: 6f4c45cbcb00 ("kunit: Add tests for csum_ipv6_magic and ip_fast_csum")
Signed-off-by: Charlie Jenkins <charlie@xxxxxxxxxxxx>
This thing really wants to annoy me. Now I get:
# test_csum_ipv6_magic: ASSERTION FAILED at lib/checksum_kunit.c:494
Expected ( u64)csum_result == ( u64)expected, but
( u64)csum_result == 46543 (0xb5cf)
( u64)expected == 46544 (0xb5d0)
not ok 5 test_csum_ipv6_magic
with the parisc64 tests. All other architectures / platforms work fine
after applying the various pending fixes. It looks like a carry gets
lost somewhere, but I have not been able to figure out where exactly
that happens. This only happens with the 64-bit hppa assembler code.
Guenter
How do you test parisc64? It's not in buildroot which I have been using
to test the other architectures.