01:02:19 | Start |
| == create an IPv6 socket == |
01:02:19 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
01:02:19 | return sockfd=4
|
| == join an anycast group on Link0 == |
01:02:20 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:20 | return 3
|
01:02:20 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffd6a787e4)
|
01:02:20 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:20 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffd6a787e4, optlen:20)
|
01:02:20 | return 0
|
| == bind recv socket on in6addr_any == |
01:02:21 | tst_get_unused_port() get port 47204
|
01:02:21 | bind(sockfd:4, my_addr:0x3ffd6a787c8, addrlen:28)
|
01:02:21 | return 0
|
| == create send socket == |
01:02:21 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
01:02:21 | return sockfd=5
|
| == bind send socket on ::1 == |
01:02:22 | tst_get_unused_port() get port 49451
|
01:02:22 | inet_pton(af:AF_INET6, src:"::1", dst:0x3ffd6a787b4)
|
01:02:22 | return 1, dst=0000:0000:0000:0000:0000:0000:0000:0001
|
01:02:22 | bind(sockfd:5, my_addr:0x3ffd6a787ac, addrlen:28)
|
01:02:22 | return 0
|
01:02:22 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffd6a78798)
|
01:02:22 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:22 | sendto(sockfd:5, buf:0x3ffd6a7878c, len:4, flags:0, to:0x3ffd6a78790, tolen:28)
|
01:02:22 | return 4
|
01:02:22 | recvfrom(sockfd:4, buf:0x3ffd6a78788, len:4, flags:64, from:(nil), fromlen:0)
|
01:02:22 | return 4
|
01:02:22 | recvfrom(sockfd:4, buf:0x3ffd6a786cc, len:4, flags:64, from:(nil), fromlen:0)
|
01:02:22 | return -1
|
| == add dummy_ipv6 to EINVAL anyaddr== |
01:02:22 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:22 | return 3
|
01:02:22 | inet_pton(af:AF_INET6, src:"ff03::01", dst:0x3ffd6a787e4)
|
01:02:22 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0001
|
01:02:22 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffd6a787e4, optlen:20)
|
01:02:22 | return error EINVAL
|
| == set index 0 to kernel== |
01:02:22 | inet_pton(af:AF_INET6, src:"fe80::2", dst:0x3ffd6a787e4)
|
01:02:22 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0002
|
01:02:22 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffd6a787e4, optlen:20)
|
01:02:22 | return 0
|
| == add dummy_ipv6 to fe80::1 again == |
01:02:22 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:22 | return 3
|
01:02:22 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffd6a787e4)
|
01:02:22 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:22 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffd6a787e4, optlen:20)
|
01:02:22 | return 0
|
01:02:22 | close(4)
|
01:02:22 | close(5)
|
| OK |
01:02:22 | End |