Test Information

TitleRestricts the socket can be used to send and receive IPv6 packets only
CommandLine./tst_v6only_set_msg --log=19.html --title=Restricts the socket can be used to send and receive IPv6 packets only
TestVersionREL_1_1_18
Start2023/01/26 16:32:18
SystemName(null)
KernelVersion(null)

Test Sequence Execution Log

16:32:18Start

== create an IPv4 socket ==
16:32:18socket(domain:AF_INET, type:SOCK_DGRAM, protocol:0)
16:32:18return sockfd=4
16:32:19tst_get_unused_port() get port 52755

== bind IPv4 socket to port 52755 ==
16:32:19bind(sockfd:4, my_addr:0x3fffbe7895c, addrlen:16)
16:32:19return 0

== create an IPv6 socket ==
16:32:19socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
16:32:19return sockfd=5

== disabled the IPV6_V6ONLY option ==
16:32:19setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x3fffbe78958, optlen:4)
16:32:19return 0
16:32:20tst_get_unused_port() get port 35936

== bind IPv6 socket to port 35936 ==
16:32:20bind(sockfd:5, my_addr:0x3fffbe7896c, addrlen:28)
16:32:20return 0

== send message to v4mapped address ==
16:32:20inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x3fffbe78974)
16:32:20return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001
16:32:20sendto(sockfd:5, buf:0x3fffbe788f4, len:100, flags:0, to:0x3fffbe7896c, tolen:28)
16:32:20return 100

== recv message on IPv4 socket ==
16:32:20recv(sockfd:4, buf:0x3fffbe788f4, len:100, flags:64)
16:32:20return 100

== send message from v4mapped address to IPv6 socket ==
16:32:21inet_pton(af:AF_INET, src:"127.0.0.1", dst:0x3fffbe78960)
16:32:21return 1, dst=127.0.0.1
16:32:21sendto(sockfd:4, buf:0x3fffbe788f4, len:100, flags:0, to:0x3fffbe7895c, tolen:16)
16:32:21return 100

== recv message which is send from v4mapped address on IPv6 socket==
16:32:21recv(sockfd:5, buf:0x3fffbe788f4, len:100, flags:64)
16:32:21return 100
16:32:21close(5)

== create an IPv6 socket ==
16:32:21socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
16:32:21return sockfd=5

== enabled the IPV6_V6ONLY option ==
16:32:21setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x3fffbe78958, optlen:4)
16:32:21return 0

== bind IPv6 socket to port 35936 ==
16:32:21bind(sockfd:5, my_addr:0x3fffbe7896c, addrlen:28)
16:32:21return 0

== send message to v4mapped address ==
16:32:21inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x3fffbe78974)
16:32:21return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001
16:32:21sendto(sockfd:5, buf:0x3fffbe788f4, len:100, flags:0, to:0x3fffbe7896c, tolen:28)
16:32:21return -1

== send message from v4mapped address to IPv6 socket ==
16:32:21inet_pton(af:AF_INET, src:"127.0.0.1", dst:0x3fffbe78960)
16:32:21return 1, dst=127.0.0.1
16:32:21sendto(sockfd:4, buf:0x3fffbe788f4, len:100, flags:0, to:0x3fffbe7895c, tolen:16)
16:32:21return 100

== recv message which is send from v4mapped address on IPv6 socket ==
16:32:21recv(sockfd:5, buf:0x3fffbe788f4, len:100, flags:64)
16:32:21return -1
16:32:21close(5)
16:32:21close(4)

OK
16:32:21End