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/02/03 01:00:27
SystemName(null)
KernelVersion(null)

Test Sequence Execution Log

01:00:27Start

== create an IPv4 socket ==
01:00:27socket(domain:AF_INET, type:SOCK_DGRAM, protocol:0)
01:00:27return sockfd=4
01:00:28tst_get_unused_port() get port 53909

== bind IPv4 socket to port 53909 ==
01:00:28bind(sockfd:4, my_addr:0x3ffffd78c2c, addrlen:16)
01:00:28return 0

== create an IPv6 socket ==
01:00:28socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
01:00:28return sockfd=5

== disabled the IPV6_V6ONLY option ==
01:00:28setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x3ffffd78c28, optlen:4)
01:00:28return 0
01:00:29tst_get_unused_port() get port 47156

== bind IPv6 socket to port 47156 ==
01:00:29bind(sockfd:5, my_addr:0x3ffffd78c3c, addrlen:28)
01:00:29return 0

== send message to v4mapped address ==
01:00:29inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x3ffffd78c44)
01:00:29return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001
01:00:29sendto(sockfd:5, buf:0x3ffffd78bc4, len:100, flags:0, to:0x3ffffd78c3c, tolen:28)
01:00:29return 100

== recv message on IPv4 socket ==
01:00:29recv(sockfd:4, buf:0x3ffffd78bc4, len:100, flags:64)
01:00:29return 100

== send message from v4mapped address to IPv6 socket ==
01:00:30inet_pton(af:AF_INET, src:"127.0.0.1", dst:0x3ffffd78c30)
01:00:30return 1, dst=127.0.0.1
01:00:30sendto(sockfd:4, buf:0x3ffffd78bc4, len:100, flags:0, to:0x3ffffd78c2c, tolen:16)
01:00:30return 100

== recv message which is send from v4mapped address on IPv6 socket==
01:00:30recv(sockfd:5, buf:0x3ffffd78bc4, len:100, flags:64)
01:00:30return 100
01:00:30close(5)

== create an IPv6 socket ==
01:00:30socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
01:00:30return sockfd=5

== enabled the IPV6_V6ONLY option ==
01:00:30setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x3ffffd78c28, optlen:4)
01:00:30return 0

== bind IPv6 socket to port 47156 ==
01:00:30bind(sockfd:5, my_addr:0x3ffffd78c3c, addrlen:28)
01:00:30return 0

== send message to v4mapped address ==
01:00:30inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x3ffffd78c44)
01:00:30return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001
01:00:30sendto(sockfd:5, buf:0x3ffffd78bc4, len:100, flags:0, to:0x3ffffd78c3c, tolen:28)
01:00:30return -1

== send message from v4mapped address to IPv6 socket ==
01:00:30inet_pton(af:AF_INET, src:"127.0.0.1", dst:0x3ffffd78c30)
01:00:30return 1, dst=127.0.0.1
01:00:30sendto(sockfd:4, buf:0x3ffffd78bc4, len:100, flags:0, to:0x3ffffd78c2c, tolen:16)
01:00:30return 100

== recv message which is send from v4mapped address on IPv6 socket ==
01:00:30recv(sockfd:5, buf:0x3ffffd78bc4, len:100, flags:64)
01:00:30return -1
01:00:30close(5)
01:00:30close(4)

OK
01:00:30End