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