16 const std::string & mcast) {
18 struct ipv6_mreq mreq;
19 memset(&mreq, 0,
sizeof(ipv6_mreq));
22 if (inet_pton(AF_INET6, mcast.c_str(), &mreq.ipv6mr_multiaddr) <= 0) {
26 mreq.ipv6mr_interface = if_nametoindex(ifname.c_str());
28 if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
29 &mreq,
sizeof(mreq)) < 0) {