08:42:23 | Start |
| == create an IPv6 socket == |
08:42:23 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
08:42:23 | return sockfd=4
|
| == join an anycast group on Link0 == |
08:42:23 | if_nametoindex(ifname:"dummy_ipv6")
|
08:42:23 | return 106
|
08:42:23 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x7ffd8b8dc7c0)
|
08:42:23 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
08:42:23 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x7ffd8b8dc7c0, optlen:20)
|
08:42:23 | return 0
|
| == bind recv socket on in6addr_any == |
08:42:24 | tst_get_unused_port() get port 33229
|
08:42:24 | bind(sockfd:4, my_addr:0x7ffd8b8dc7a0, addrlen:28)
|
08:42:24 | return 0
|
| == create send socket == |
08:42:24 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
08:42:24 | return sockfd=5
|
| == bind send socket on ::1 == |
08:42:25 | tst_get_unused_port() get port 57547
|
08:42:25 | inet_pton(af:AF_INET6, src:"::1", dst:0x7ffd8b8dc788)
|
08:42:25 | return 1, dst=0000:0000:0000:0000:0000:0000:0000:0001
|
08:42:25 | bind(sockfd:5, my_addr:0x7ffd8b8dc780, addrlen:28)
|
08:42:25 | return 0
|
08:42:25 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x7ffd8b8dc768)
|
08:42:25 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
08:42:25 | sendto(sockfd:5, buf:0x7ffd8b8dc75c, len:4, flags:0, to:0x7ffd8b8dc760, tolen:28)
|
08:42:25 | return 4
|
08:42:25 | recvfrom(sockfd:4, buf:0x7ffd8b8dc758, len:4, flags:64, from:(nil), fromlen:0)
|
08:42:25 | return 4
|
08:42:25 | recvfrom(sockfd:4, buf:0x7ffd8b8dc72c, len:4, flags:64, from:(nil), fromlen:0)
|
08:42:25 | return -1
|
| == add dummy_ipv6 to EINVAL anyaddr== |
08:42:26 | if_nametoindex(ifname:"dummy_ipv6")
|
08:42:26 | return 106
|
08:42:26 | inet_pton(af:AF_INET6, src:"ff03::01", dst:0x7ffd8b8dc7c0)
|
08:42:26 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0001
|
08:42:26 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x7ffd8b8dc7c0, optlen:20)
|
08:42:26 | return error EINVAL
|
| == set index 0 to kernel== |
08:42:26 | inet_pton(af:AF_INET6, src:"fe80::2", dst:0x7ffd8b8dc7c0)
|
08:42:26 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0002
|
08:42:26 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x7ffd8b8dc7c0, optlen:20)
|
08:42:26 | return 0
|
| == add dummy_ipv6 to fe80::1 again == |
08:42:26 | if_nametoindex(ifname:"dummy_ipv6")
|
08:42:26 | return 106
|
08:42:26 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x7ffd8b8dc7c0)
|
08:42:26 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
08:42:26 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x7ffd8b8dc7c0, optlen:20)
|
08:42:26 | return 0
|
08:42:26 | close(4)
|
08:42:26 | close(5)
|
| OK |
08:42:26 | End |