selftests: Calculate udpgso segment count without header adjustment
authorCoco Li <lixiaoyan@google.com>
Thu, 23 Dec 2021 22:24:41 +0000 (22:24 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jan 2022 11:40:30 +0000 (12:40 +0100)
[ Upstream commit 5471d5226c3b39b3d2f7011c082d5715795bd65c ]

The below referenced commit correctly updated the computation of number
of segments (gso_size) by using only the gso payload size and
removing the header lengths.

With this change the regression test started failing. Update
the tests to match this new behavior.

Both IPv4 and IPv6 tests are updated, as a separate patch in this series
will update udp_v6_send_skb to match this change in udp_send_skb.

Fixes: 158390e45612 ("udp: using datalen to cap max gso segments")
Signed-off-by: Coco Li <lixiaoyan@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://lore.kernel.org/r/20211223222441.2975883-2-lixiaoyan@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/net/udpgso.c

index c66da6f..7badaf2 100644 (file)
@@ -156,13 +156,13 @@ struct testcase testcases_v4[] = {
        },
        {
                /* send max number of min sized segments */
-               .tlen = UDP_MAX_SEGMENTS - CONST_HDRLEN_V4,
+               .tlen = UDP_MAX_SEGMENTS,
                .gso_len = 1,
-               .r_num_mss = UDP_MAX_SEGMENTS - CONST_HDRLEN_V4,
+               .r_num_mss = UDP_MAX_SEGMENTS,
        },
        {
                /* send max number + 1 of min sized segments: fail */
-               .tlen = UDP_MAX_SEGMENTS - CONST_HDRLEN_V4 + 1,
+               .tlen = UDP_MAX_SEGMENTS + 1,
                .gso_len = 1,
                .tfail = true,
        },
@@ -259,13 +259,13 @@ struct testcase testcases_v6[] = {
        },
        {
                /* send max number of min sized segments */
-               .tlen = UDP_MAX_SEGMENTS - CONST_HDRLEN_V6,
+               .tlen = UDP_MAX_SEGMENTS,
                .gso_len = 1,
-               .r_num_mss = UDP_MAX_SEGMENTS - CONST_HDRLEN_V6,
+               .r_num_mss = UDP_MAX_SEGMENTS,
        },
        {
                /* send max number + 1 of min sized segments: fail */
-               .tlen = UDP_MAX_SEGMENTS - CONST_HDRLEN_V6 + 1,
+               .tlen = UDP_MAX_SEGMENTS + 1,
                .gso_len = 1,
                .tfail = true,
        },