Skip to content

Commit 8637d8e

Browse files
q2vendavem330
authored andcommitted
selftest: tcp: Add v4-mapped-v6 cases in bind_wildcard.c.
We add these 8 test cases in bind_wildcard.c to check bind() conflicts. 1st bind() 2nd bind() --------- --------- 0.0.0.0 ::FFFF:0.0.0.0 ::FFFF:0.0.0.0 0.0.0.0 0.0.0.0 ::FFFF:127.0.0.1 ::FFFF:127.0.0.1 0.0.0.0 127.0.0.1 ::FFFF:0.0.0.0 ::FFFF:0.0.0.0 127.0.0.1 127.0.0.1 ::FFFF:127.0.0.1 ::FFFF:127.0.0.1 127.0.0.1 All test passed without bhash2 and with bhash2 and this series. Before bhash2: $ uname -r 6.0.0-rc1-00393-g0bf73255d3a3 $ ./bind_wildcard ... # PASSED: 16 / 16 tests passed. Just after bhash2: $ uname -r 6.0.0-rc1-00394-g28044fc1d495 $ ./bind_wildcard ... ok 15 bind_wildcard.v4_local_v6_v4mapped_local.v4_v6 not ok 16 bind_wildcard.v4_local_v6_v4mapped_local.v6_v4 # FAILED: 15 / 16 tests passed. On net.git: $ ./bind_wildcard ... not ok 14 bind_wildcard.v4_local_v6_v4mapped_any.v6_v4 not ok 16 bind_wildcard.v4_local_v6_v4mapped_local.v6_v4 # FAILED: 13 / 16 tests passed. With this series: $ ./bind_wildcard ... # PASSED: 16 / 16 tests passed. Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 2895d87 commit 8637d8e

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

tools/testing/selftests/net/bind_wildcard.c

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,24 @@
66

77
#include "../kselftest_harness.h"
88

9+
struct in6_addr in6addr_v4mapped_any = {
10+
.s6_addr = {
11+
0, 0, 0, 0,
12+
0, 0, 0, 0,
13+
0, 0, 255, 255,
14+
0, 0, 0, 0
15+
}
16+
};
17+
18+
struct in6_addr in6addr_v4mapped_loopback = {
19+
.s6_addr = {
20+
0, 0, 0, 0,
21+
0, 0, 0, 0,
22+
0, 0, 255, 255,
23+
127, 0, 0, 1
24+
}
25+
};
26+
927
FIXTURE(bind_wildcard)
1028
{
1129
struct sockaddr_in addr4;
@@ -33,6 +51,20 @@ FIXTURE_VARIANT_ADD(bind_wildcard, v4_any_v6_local)
3351
.expected_errno = 0,
3452
};
3553

54+
FIXTURE_VARIANT_ADD(bind_wildcard, v4_any_v6_v4mapped_any)
55+
{
56+
.addr4_const = INADDR_ANY,
57+
.addr6_const = &in6addr_v4mapped_any,
58+
.expected_errno = EADDRINUSE,
59+
};
60+
61+
FIXTURE_VARIANT_ADD(bind_wildcard, v4_any_v6_v4mapped_local)
62+
{
63+
.addr4_const = INADDR_ANY,
64+
.addr6_const = &in6addr_v4mapped_loopback,
65+
.expected_errno = EADDRINUSE,
66+
};
67+
3668
FIXTURE_VARIANT_ADD(bind_wildcard, v4_local_v6_any)
3769
{
3870
.addr4_const = INADDR_LOOPBACK,
@@ -47,6 +79,20 @@ FIXTURE_VARIANT_ADD(bind_wildcard, v4_local_v6_local)
4779
.expected_errno = 0,
4880
};
4981

82+
FIXTURE_VARIANT_ADD(bind_wildcard, v4_local_v6_v4mapped_any)
83+
{
84+
.addr4_const = INADDR_LOOPBACK,
85+
.addr6_const = &in6addr_v4mapped_any,
86+
.expected_errno = EADDRINUSE,
87+
};
88+
89+
FIXTURE_VARIANT_ADD(bind_wildcard, v4_local_v6_v4mapped_local)
90+
{
91+
.addr4_const = INADDR_LOOPBACK,
92+
.addr6_const = &in6addr_v4mapped_loopback,
93+
.expected_errno = EADDRINUSE,
94+
};
95+
5096
FIXTURE_SETUP(bind_wildcard)
5197
{
5298
self->addr4.sin_family = AF_INET;

0 commit comments

Comments
 (0)