Test Information

TitleJoin a anycast group on a specified local interface
CommandLine./tst_ipv6_join_anycast --log=11.html --title=Join a anycast group on a specified local interface
TestVersionREL_1_1_18
Start2023/02/03 01:02:19
SystemName(null)
KernelVersion(null)

Test Sequence Execution Log

01:02:19Start

== create an IPv6 socket ==
01:02:19socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
01:02:19return sockfd=4

== join an anycast group on Link0 ==
01:02:20if_nametoindex(ifname:"dummy_ipv6")
01:02:20return 3
01:02:20inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffd6a787e4)
01:02:20return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
01:02:20setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffd6a787e4, optlen:20)
01:02:20return 0

== bind recv socket on in6addr_any ==
01:02:21tst_get_unused_port() get port 47204
01:02:21bind(sockfd:4, my_addr:0x3ffd6a787c8, addrlen:28)
01:02:21return 0

== create send socket ==
01:02:21socket(domain:AF_INET6, type:SOCK_DGRAM, protocol:0)
01:02:21return sockfd=5

== bind send socket on ::1 ==
01:02:22tst_get_unused_port() get port 49451
01:02:22inet_pton(af:AF_INET6, src:"::1", dst:0x3ffd6a787b4)
01:02:22return 1, dst=0000:0000:0000:0000:0000:0000:0000:0001
01:02:22bind(sockfd:5, my_addr:0x3ffd6a787ac, addrlen:28)
01:02:22return 0
01:02:22inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffd6a78798)
01:02:22return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
01:02:22sendto(sockfd:5, buf:0x3ffd6a7878c, len:4, flags:0, to:0x3ffd6a78790, tolen:28)
01:02:22return 4
01:02:22recvfrom(sockfd:4, buf:0x3ffd6a78788, len:4, flags:64, from:(nil), fromlen:0)
01:02:22return 4
01:02:22recvfrom(sockfd:4, buf:0x3ffd6a786cc, len:4, flags:64, from:(nil), fromlen:0)
01:02:22return -1

== add dummy_ipv6 to EINVAL anyaddr==
01:02:22if_nametoindex(ifname:"dummy_ipv6")
01:02:22return 3
01:02:22inet_pton(af:AF_INET6, src:"ff03::01", dst:0x3ffd6a787e4)
01:02:22return 1, dst=ff03:0000:0000:0000:0000:0000:0000:0001
01:02:22setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffd6a787e4, optlen:20)
01:02:22return error EINVAL

== set index 0 to kernel==
01:02:22inet_pton(af:AF_INET6, src:"fe80::2", dst:0x3ffd6a787e4)
01:02:22return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0002
01:02:22setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffd6a787e4, optlen:20)
01:02:22return 0

== add dummy_ipv6 to fe80::1 again ==
01:02:22if_nametoindex(ifname:"dummy_ipv6")
01:02:22return 3
01:02:22inet_pton(af:AF_INET6, src:"fe80::1", dst:0x3ffd6a787e4)
01:02:22return 1, dst=fe80:0000:0000:0000:0000:0000:0000:0001
01:02:22setsockopt(sockfd:4, level:IPPROTO_IPV6, optname:IPV6_JOIN_ANYCAST, optval:0x3ffd6a787e4, optlen:20)
01:02:22return 0
01:02:22close(4)
01:02:22close(5)

OK
01:02:22End