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/17 08:40:28
SystemName(null)
KernelVersion(null)

Test Sequence Execution Log

08:40:28Start

== create an IPv4 socket ==
08:40:28socket(domain:AF_INET, type:SOCK_DGRAM, protocol:0)
08:40:28return sockfd=4
08:40:29tst_get_unused_port() get port 42267

== bind IPv4 socket to port 42267 ==
08:40:29bind(sockfd:4, my_addr:0x7fff34a663e0, addrlen:16)
08:40:29return 0

== create an IPv6 socket ==
08:40:29socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
08:40:29return sockfd=5

== disabled the IPV6_V6ONLY option ==
08:40:30setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x7fff34a663dc, optlen:4)
08:40:30return 0
08:40:31tst_get_unused_port() get port 56607

== bind IPv6 socket to port 56607 ==
08:40:31bind(sockfd:5, my_addr:0x7fff34a663f0, addrlen:28)
08:40:31return 0

== send message to v4mapped address ==
08:40:31inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x7fff34a663f8)
08:40:31return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001
08:40:31sendto(sockfd:5, buf:0x7fff34a66370, len:100, flags:0, to:0x7fff34a663f0, tolen:28)
08:40:31return 100

== recv message on IPv4 socket ==
08:40:31recv(sockfd:4, buf:0x7fff34a66370, len:100, flags:64)
08:40:31return 100

== send message from v4mapped address to IPv6 socket ==
08:40:31inet_pton(af:AF_INET, src:"127.0.0.1", dst:0x7fff34a663e4)
08:40:31return 1, dst=127.0.0.1
08:40:31sendto(sockfd:4, buf:0x7fff34a66370, len:100, flags:0, to:0x7fff34a663e0, tolen:16)
08:40:31return 100

== recv message which is send from v4mapped address on IPv6 socket==
08:40:31recv(sockfd:5, buf:0x7fff34a66370, len:100, flags:64)
08:40:31return 100
08:40:31close(5)

== create an IPv6 socket ==
08:40:31socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
08:40:31return sockfd=5

== enabled the IPV6_V6ONLY option ==
08:40:31setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x7fff34a663dc, optlen:4)
08:40:31return 0

== bind IPv6 socket to port 56607 ==
08:40:31bind(sockfd:5, my_addr:0x7fff34a663f0, addrlen:28)
08:40:31return 0

== send message to v4mapped address ==
08:40:31inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x7fff34a663f8)
08:40:31return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001
08:40:31sendto(sockfd:5, buf:0x7fff34a66370, len:100, flags:0, to:0x7fff34a663f0, tolen:28)
08:40:31return -1

== send message from v4mapped address to IPv6 socket ==
08:40:32inet_pton(af:AF_INET, src:"127.0.0.1", dst:0x7fff34a663e4)
08:40:32return 1, dst=127.0.0.1
08:40:32sendto(sockfd:4, buf:0x7fff34a66370, len:100, flags:0, to:0x7fff34a663e0, tolen:16)
08:40:32return 100

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

OK
08:40:32End