16:34:11 | Start |
| == create an IPv6 socket == |
16:34:11 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
16:34:11 | return sockfd=4
|
| == join an anycast group on Link0 == |
16:34:11 | if_nametoindex(ifname:"dummy_ipv6")
|
16:34:11 | return 125
|
16:34:11 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3fff9ff9104)
|
16:34:11 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
16:34:11 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3fff9ff9104, optlen:20)
|
16:34:11 | return 0
|
| == bind recv socket on in6addr_any == |
16:34:13 | tst_get_unused_port() get port 36973
|
16:34:13 | bind(sockfd:4, my_addr:0x3fff9ff90e8, addrlen:28)
|
16:34:13 | return 0
|
| == create send socket == |
16:34:13 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
16:34:13 | return sockfd=5
|
| == bind send socket on ::1 == |
16:34:14 | tst_get_unused_port() get port 57153
|
16:34:14 | inet_pton(af:AF_INET6, src:"::1", dst:0x3fff9ff90d4)
|
16:34:14 | return 1, dst=0000:0000:0000:0000:0000:0000:0000:0001
|
16:34:14 | bind(sockfd:5, my_addr:0x3fff9ff90cc, addrlen:28)
|
16:34:14 | return 0
|
16:34:14 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3fff9ff90b8)
|
16:34:14 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
16:34:14 | sendto(sockfd:5, buf:0x3fff9ff90ac, len:4, flags:0, to:0x3fff9ff90b0, tolen:28)
|
16:34:14 | return 4
|
16:34:14 | recvfrom(sockfd:4, buf:0x3fff9ff90a8, len:4, flags:64, from:(nil), fromlen:0)
|
16:34:14 | return 4
|
16:34:14 | recvfrom(sockfd:4, buf:0x3fff9ff8fec, len:4, flags:64, from:(nil), fromlen:0)
|
16:34:14 | return -1
|
| == add dummy_ipv6 to EINVAL anyaddr== |
16:34:14 | if_nametoindex(ifname:"dummy_ipv6")
|
16:34:14 | return 125
|
16:34:14 | inet_pton(af:AF_INET6, src:"ff03::01", dst:0x3fff9ff9104)
|
16:34:14 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0001
|
16:34:14 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3fff9ff9104, optlen:20)
|
16:34:14 | return error EINVAL
|
| == set index 0 to kernel== |
16:34:14 | inet_pton(af:AF_INET6, src:"fe80::2", dst:0x3fff9ff9104)
|
16:34:14 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0002
|
16:34:14 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3fff9ff9104, optlen:20)
|
16:34:14 | return 0
|
| == add dummy_ipv6 to fe80::1 again == |
16:34:14 | if_nametoindex(ifname:"dummy_ipv6")
|
16:34:14 | return 125
|
16:34:14 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3fff9ff9104)
|
16:34:14 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
16:34:14 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3fff9ff9104, optlen:20)
|
16:34:14 | return 0
|
16:34:14 | close(4)
|
16:34:14 | close(5)
|
| OK |
16:34:14 | End |