Test Information

TitleRestricts AF_INET6 sockets to IPv6 communications only
CommandLine./tst_v6only_set_client --log=18.html --title=Restricts AF_INET6 sockets to IPv6 communications only
TestVersionREL_1_1_18
Start2023/02/03 01:00:25
SystemName(null)
KernelVersion(null)

Test Sequence Execution Log

01:00:25Start
01:00:26tst_get_unused_port() get port 51231

== create an IPv4 socket ==
01:00:26socket(domain:AF_INET, type:SOCK_STREAM, protocol:0)
01:00:26return sockfd=4

== bind IPv4 socket to port 51231 ==
01:00:26bind(sockfd:4, my_addr:0x3ffc3e787bc, addrlen:16)
01:00:26return 0

== listen on IPv4 socket ==
01:00:26listen(sockfd:4, backlog:100)
01:00:26return 0

== create an IPv6 socket ==
01:00:26socket(domain:AF_INET6, type:SOCK_STREAM, protocol:0)
01:00:26return sockfd=5
01:00:26inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x3ffc3e787d4)
01:00:26return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001

== enable the IPV6_V6ONLY option ==
01:00:26setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x3ffc3e787b8, optlen:4)
01:00:26return 0

== connect IPv6 socket to IPv4 socket ==
01:00:26connect(sockfd:5, serv_addr:0x3ffc3e787cc, addrlen:28)
01:00:26return error ENETUNREACH

== disable the IPV6_V6ONLY option ==
01:00:26setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x3ffc3e787b8, optlen:4)
01:00:26return 0

== connect IPv6 socket to IPv4 socket ==
01:00:26connect(sockfd:5, serv_addr:0x3ffc3e787cc, addrlen:28)
01:00:26return 0

== accept the connect on IPv4 socket ==
01:00:27accept(sockfd:4, addr:0x3ffc3e787bc, addrlen:0x3ffc3e787b4)
01:00:27return 6

== send message on IPv4 socket ==
01:00:27send(sockfd:6, buf:0x3ffc3e78750, len:100, flags:0)
01:00:27return 100
01:00:27recv(sockfd:5, buf:0x3ffc3e78750, len:100, flags:0)
01:00:27return 100
01:00:27close(6)
01:00:27close(5)
01:00:27close(4)

OK
01:00:27End