08:40:24 | Start |
| == create an IPv6 socket == |
08:40:24 | socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
|
08:40:24 | return sockfd=4
|
| == join to a multicast group on Link0 == |
08:40:24 | if_nametoindex(ifname:"dummy_ipv6")
|
08:40:24 | return 106
|
08:40:24 | inet_pton(af:AF_INET6, src:"ff03::00", dst:0x7fff57db2d40)
|
08:40:24 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0000
|
08:40:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x7fff57db2d50, optlen:20)
|
08:40:24 | return 0
|
| == join to the same multicast group on Link0 == |
08:40:24 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x7fff57db2d50, optlen:20)
|
08:40:24 | return error EADDRINUSE
|
| == join to the same multicast group on lo == |
08:40:25 | if_nametoindex(ifname:"lo")
|
08:40:25 | return 1
|
08:40:25 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x7fff57db2d50, optlen:20)
|
08:40:25 | return 0
|
| == join to a multicast group with address is not multicast address == |
08:40:25 | inet_pton(af:AF_INET6, src:"fe80::00", dst:0x7fff57db2d50)
|
08:40:25 | return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0000
|
08:40:25 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x7fff57db2d50, optlen:20)
|
08:40:25 | return error EINVAL
|
| == join to a multicast group with bad paramter == |
08:40:25 | inet_pton(af:AF_INET6, src:"ff03::01", dst:0x7fff57db2d50)
|
08:40:25 | return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0001
|
08:40:25 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x7fff57db2d40, optlen:16)
|
08:40:25 | return error EINVAL
|
| == join to the same multicast group with the interface index is specified as 0 == |
08:40:25 | setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x7fff57db2d50, optlen:20)
|
08:40:25 | return 0
|
08:40:25 | close(4)
|
| OK |
08:40:25 | End |