}
if (cmsg->cmsg_level == SOL_IPV6 && cmsg->cmsg_type == IPV6_PKTINFO) {
struct in6_pktinfo *i = (struct in6_pktinfo*) CMSG_DATA(cmsg);
*ret_iface = i->ipi6_ifindex;
memcpy(ret_dest_address->address, i->ipi6_addr.s6_addr, 16);
}
if (cmsg->cmsg_level == SOL_IPV6 && cmsg->cmsg_type == IPV6_PKTINFO) {
struct in6_pktinfo *i = (struct in6_pktinfo*) CMSG_DATA(cmsg);
*ret_iface = i->ipi6_ifindex;
memcpy(ret_dest_address->address, i->ipi6_addr.s6_addr, 16);