01:02:22 | Start |
01:02:23 | tst_get_unused_port() get port 43759
|
| == create an IPv6 socket == |
01:02:23 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
01:02:23 | return sockfd=4
|
| == leave this any group == |
01:02:23 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:23 | return 3
|
01:02:23 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:23 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:23 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:23 | return error ENOENT
|
| == join a anycast group on Link0 == |
01:02:24 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:24 | return 3
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return 0
|
| == leave this any group == |
01:02:24 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:24 | return 3
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return 0
|
| == creat send socket == |
01:02:24 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
01:02:24 | return sockfd=5
|
01:02:24 | inet_pton(af:AF_INET6, src:"::1", dst:0x3ffcd6f8448)
|
01:02:24 | return 1, dst=0000:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | bind(sockfd:5, my_addr:0x3ffcd6f8440, addrlen:28)
|
01:02:24 | return 0
|
01:02:24 | setsockopt(sockfd:5, level:IPPROTO_ICMP, optname:IPV6_2292PKTINFO, optval:0x3ffcd6f8418, optlen:4)
|
01:02:24 | return 0
|
01:02:24 | bind(sockfd:4, my_addr:0x3ffcd6f845c, addrlen:28)
|
01:02:24 | return 0
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f842c)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | sendto(sockfd:5, buf:0x3ffcd6f8420, len:4, flags:0, to:0x3ffcd6f8424, tolen:28)
|
01:02:24 | return 4
|
01:02:24 | recvfrom(sockfd:4, buf:0x3ffcd6f841c, len:4, flags:64, from:(nil), fromlen:0)
|
01:02:24 | return -1
|
| == join a anycast group on Link0 == |
01:02:24 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:24 | return 3
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return 0
|
| == leave this any group == |
01:02:24 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:24 | return 3
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return 0
|
| == leave this any group again == |
01:02:24 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:24 | return 3
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return error ENOENT
|
| == join a anycast group on Link0 == |
01:02:24 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:24 | return 3
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return 0
|
| == leave this anycast group with index 0== |
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return 0
|
| == leave this any group == |
01:02:24 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:24 | return 3
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return error ENOENT
|
01:02:24 | sendto(sockfd:5, buf:0x3ffcd6f8420, len:4, flags:0, to:0x3ffcd6f8424, tolen:28)
|
01:02:24 | return 4
|
01:02:24 | recvfrom(sockfd:4, buf:0x3ffcd6f841c, len:4, flags:64, from:(nil), fromlen:0)
|
01:02:24 | return -1
|
| == join a anycast group on Link0 == |
01:02:24 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:24 | return 3
|
01:02:24 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffcd6f8478)
|
01:02:24 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:24 | return 0
|
| == leave EINVAL anycast group |
01:02:25 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:25 | return 3
|
01:02:25 | inet_pton(af:AF_INET6, src:"ff03::01", dst:0x3ffcd6f8478)
|
01:02:25 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0001
|
01:02:25 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_ANYCAST, optval:0x3ffcd6f8478, optlen:20)
|
01:02:25 | return error ENOENT
|
| OK |
01:02:25 | End |