01:02:16 | Start |
| == create an IPv6 socket == |
01:02:16 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
01:02:16 | return sockfd=4
|
| == join a multicast group on Link0 == |
01:02:16 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:16 | return 3
|
01:02:16 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f9164)
|
01:02:16 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:16 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x3ffd31f9164, optlen:20)
|
01:02:16 | return 0
|
| == leave this multicast group == |
01:02:16 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:16 | return 3
|
01:02:16 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f9164)
|
01:02:16 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:16 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffd31f9164, optlen:20)
|
01:02:16 | return 0
|
| == leave dummy_ipv6 to ff03::02 again == |
01:02:16 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:16 | return 3
|
01:02:16 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f9164)
|
01:02:16 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:16 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffd31f9164, optlen:20)
|
01:02:16 | return error EADDRNOTAVAIL
|
| == bind socket to lo== |
01:02:18 | tst_get_unused_port() get port 59965
|
01:02:18 | bind(sockfd:4, my_addr:0x3ffd31f911c, addrlen:28)
|
01:02:18 | return 0
|
| == creat recv socket == |
01:02:18 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
01:02:18 | return sockfd=5
|
| == bind socket to ifaddr0== |
01:02:19 | tst_get_unused_port() get port 38573
|
01:02:19 | inet_pton(af:AF_INET6, src:"fe80::4caa:b0ff:fe5b:7108", dst:0x3ffd31f9108)
|
01:02:19 | return 1, dst=fe80:0000:0000:0000:4caa:b0ff:fe5b:7108
|
01:02:19 | setsockopt(sockfd:5, level:IPPROTO_ICMP, optname:IPV6_RECVERR, optval:0x3ffd31f9138, optlen:40)
|
01:02:19 | return 0
|
01:02:19 | bind(sockfd:5, my_addr:0x3ffd31f9100, addrlen:28)
|
01:02:19 | return 0
|
01:02:19 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:19 | return 3
|
01:02:19 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f9164)
|
01:02:19 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:19 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f90ec)
|
01:02:19 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:19 | sendto(sockfd:5, buf:0x3ffd31f90dc, len:4, flags:0, to:0x3ffd31f90e4, tolen:28)
|
01:02:19 | return 4
|
01:02:19 | recvfrom(sockfd:4, buf:0x3ffd31f90d8, len:4, flags:64, from:0x3ffd31f9100, fromlen:28)
|
01:02:19 | return -1
|
| == join a multicast group on Link0 == |
01:02:19 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:19 | return 3
|
01:02:19 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f9164)
|
01:02:19 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:19 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x3ffd31f9164, optlen:20)
|
01:02:19 | return 0
|
| == leave this multicast group with index 0== |
01:02:19 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f9164)
|
01:02:19 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:19 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffd31f9164, optlen:20)
|
01:02:19 | return 0
|
| == leave this multicast group on Link0 again== |
01:02:19 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:19 | return 3
|
01:02:19 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f9164)
|
01:02:19 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:19 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffd31f9164, optlen:20)
|
01:02:19 | return error EADDRNOTAVAIL
|
| == join a multicast group on Link0 == |
01:02:19 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:19 | return 3
|
01:02:19 | inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffd31f9164)
|
01:02:19 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
|
01:02:19 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x3ffd31f9164, optlen:20)
|
01:02:19 | return 0
|
| == leave EINVAL multicast group on Link0 == |
01:02:19 | if_nametoindex(ifname:"dummy_ipv6")
|
01:02:19 | return 3
|
01:02:19 | inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffd31f9164)
|
01:02:19 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
|
01:02:19 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffd31f9164, optlen:20)
|
01:02:19 | return error EINVAL
|
| OK |
01:02:19 | End |