Test Information

Titlechange socket type between v4 and v6
CommandLine./tst_ipv6_addrform --log=1.html --title=change socket type between v4 and v6
TestVersionREL_1_1_18
Start2023/02/03 01:01:54
SystemName(null)
KernelVersion(null)

Test Sequence Execution Log

01:01:54Start

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

== IPv4-mapped IPv6 address ==
01:01:55tst_get_unused_port() get port 39765
01:01:55inet_pton(af:AF_INET6, src:"::FFFF:127.0.0.1", dst:0x3ffe7478f14)
01:01:55return 1, dst=0000:0000:0000:0000:0000:ffff:7f00:0001
01:01:55IN6_IS_ADDR_V4COMPAT(0000:0000:0000:0000:0000:ffff:7f00:0001)
01:01:55return 0

== bind socket to address ==
01:01:55bind(sockfd:4, my_addr:0x3ffe7478f0c, addrlen:28)
01:01:55return 0
01:01:56tst_get_unused_port() get port 39487
01:01:56bind(sockfd:5, my_addr:0x3ffe7478f0c, addrlen:28)
01:01:56return 0

== connect ==
01:01:56connect(sockfd:5, serv_addr:0x3ffe7478f0c, addrlen:28)
01:01:56return 0
01:01:56getsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_ADDRFORM, optval:0x3ffe7478f08, optlen:0x3ffe7478f04)
01:01:56return socket_type=PF_INET6

== set socket option IPV6_ADDRFORM ==
01:01:56setsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_ADDRFORM, optval:0x3ffe7478f08, optlen:4)
01:01:56return 0

== get socket type use IPV6_ADDRFORM ==
01:01:56getsockopt(sockfd:5, level:IPPROTO_IPV6, optname:IPV6_ADDRFORM, optval:0x3ffe7478f08, optlen:0x3ffe7478f04)
01:01:56return error UNKNOW(95)

INFO: get socket type fail!!!ipv4 doesn't support IPV6_ADDRFORM now.
01:01:56close(4)
01:01:56close(5)
01:01:56End