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

Test Sequence Execution Log

08:40:26Start
08:40:27tst_get_unused_port() get port 35997

== create an IPv4 socket ==
08:40:27socket(domain:AF_INET, type:SOCK_STREAM, protocol:0)
08:40:27return sockfd=4

== bind IPv4 socket to port 35997 ==
08:40:27bind(sockfd:4, my_addr:0x7ffee77bc560, addrlen:16)
08:40:27return 0

== listen on IPv4 socket ==
08:40:27listen(sockfd:4, backlog:100)
08:40:27return 0

== create an IPv6 socket ==
08:40:27socket(domain:AF_INET6, type:SOCK_STREAM, protocol:0)
08:40:27return sockfd=5
08:40:27inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x7ffee77bc578)
08:40:27return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001

== enable the IPV6_V6ONLY option ==
08:40:27setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x7ffee77bc55c, optlen:4)
08:40:27return 0

== connect IPv6 socket to IPv4 socket ==
08:40:28connect(sockfd:5, serv_addr:0x7ffee77bc570, addrlen:28)
08:40:28return error ENETUNREACH

== disable the IPV6_V6ONLY option ==
08:40:28setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_V6ONLY, optval:0x7ffee77bc55c, optlen:4)
08:40:28return 0

== connect IPv6 socket to IPv4 socket ==
08:40:28connect(sockfd:5, serv_addr:0x7ffee77bc570, addrlen:28)
08:40:28return 0

== accept the connect on IPv4 socket ==
08:40:28accept(sockfd:4, addr:0x7ffee77bc560, addrlen:0x7ffee77bc558)
08:40:28return 6

== send message on IPv4 socket ==
08:40:28send(sockfd:6, buf:0x7ffee77bc4f0, len:100, flags:0)
08:40:28return 100
08:40:28recv(sockfd:5, buf:0x7ffee77bc4f0, len:100, flags:0)
08:40:28return 100
08:40:28close(6)
08:40:28close(5)
08:40:28close(4)

OK
08:40:28End