Test Information

TitleCheck the IPV6_DROP_MEMBERSHIP option can be set correctly by setsockopt().
CommandLine./tst_ipv6_drop_membership --log=10.html --title=Check the IPV6_DROP_MEMBERSHIP option can be set correctly by setsockopt().
TestVersionREL_1_1_18
Start2023/01/26 16:34:08
SystemName(null)
KernelVersion(null)

Test Sequence Execution Log

16:34:08Start

== create an IPv6 socket ==
16:34:08socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
16:34:08return sockfd=4

== join a multicast group on Link0 ==
16:34:08if_nametoindex(ifname:"dummy_ipv6")
16:34:08return 125
16:34:08inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff8494)
16:34:08return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:08setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x3ffccff8494, optlen:20)
16:34:08return 0

== leave this multicast group ==
16:34:08if_nametoindex(ifname:"dummy_ipv6")
16:34:08return 125
16:34:08inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff8494)
16:34:08return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:08setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffccff8494, optlen:20)
16:34:08return 0

== leave dummy_ipv6 to ff03::02 again ==
16:34:08if_nametoindex(ifname:"dummy_ipv6")
16:34:08return 125
16:34:08inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff8494)
16:34:08return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:08setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffccff8494, optlen:20)
16:34:08return error EADDRNOTAVAIL

== bind socket to lo==
16:34:09tst_get_unused_port() get port 35940
16:34:09bind(sockfd:4, my_addr:0x3ffccff844c, addrlen:28)
16:34:09return 0

== creat recv socket ==
16:34:10socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
16:34:10return sockfd=5

== bind socket to ifaddr0==
16:34:11tst_get_unused_port() get port 36805
16:34:11inet_pton(af:AF_INET6, src:"fe80::1ce9:d6ff:fe58:abc", dst:0x3ffccff8438)
16:34:11return 1, dst=fe80:0000:0000:0000:1ce9:d6ff:fe58:0abc
16:34:11setsockopt(sockfd:5, level:IPPROTO_ICMP, optname:IPV6_RECVERR, optval:0x3ffccff8468, optlen:40)
16:34:11return 0
16:34:11bind(sockfd:5, my_addr:0x3ffccff8430, addrlen:28)
16:34:11return 0
16:34:11if_nametoindex(ifname:"dummy_ipv6")
16:34:11return 125
16:34:11inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff8494)
16:34:11return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:11inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff841c)
16:34:11return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:11sendto(sockfd:5, buf:0x3ffccff840c, len:4, flags:0, to:0x3ffccff8414, tolen:28)
16:34:11return 4
16:34:11recvfrom(sockfd:4, buf:0x3ffccff8408, len:4, flags:64, from:0x3ffccff8430, fromlen:28)
16:34:11return -1

== join a multicast group on Link0 ==
16:34:11if_nametoindex(ifname:"dummy_ipv6")
16:34:11return 125
16:34:11inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff8494)
16:34:11return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:11setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x3ffccff8494, optlen:20)
16:34:11return 0

== leave this multicast group with index 0==
16:34:11inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff8494)
16:34:11return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:11setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffccff8494, optlen:20)
16:34:11return 0

== leave this multicast group on Link0 again==
16:34:11if_nametoindex(ifname:"dummy_ipv6")
16:34:11return 125
16:34:11inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff8494)
16:34:11return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:11setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffccff8494, optlen:20)
16:34:11return error EADDRNOTAVAIL

== join a multicast group on Link0 ==
16:34:11if_nametoindex(ifname:"dummy_ipv6")
16:34:11return 125
16:34:11inet_pton(af:AF_INET6, src:"ff03::02", dst:0x3ffccff8494)
16:34:11return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0002
16:34:11setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_GROUP, optval:0x3ffccff8494, optlen:20)
16:34:11return 0

== leave EINVAL multicast group on Link0 ==
16:34:11if_nametoindex(ifname:"dummy_ipv6")
16:34:11return 125
16:34:11inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffccff8494)
16:34:11return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
16:34:11setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_LEAVE_GROUP, optval:0x3ffccff8494, optlen:20)
16:34:11return error EINVAL

OK
16:34:11End