--- src/svc_dg.c.orig 2024-10-17 15:50:55.000000000 +0800 +++ src/svc_dg.c 2025-04-22 19:12:12.000000000 +0800 @@ -656,10 +656,12 @@ int val = 1; switch (si->si_af) { +#if defined(AF_INET) && defined(IP_PKTINFO) case AF_INET: (void) setsockopt(fd, SOL_IP, IP_PKTINFO, &val, sizeof(val)); break; -#ifdef INET6 +#endif +#if defined(INET6) && defined(IPV6_RECVPKTINFO) case AF_INET6: (void) setsockopt(fd, SOL_IPV6, IPV6_RECVPKTINFO, &val, sizeof(val)); break; @@ -688,6 +690,7 @@ return 0; switch (((struct sockaddr *) msg->msg_name)->sa_family) { +#if defined(AF_INET) && defined(IP_PKTINFO) case AF_INET: if (cmsg->cmsg_level != SOL_IP || cmsg->cmsg_type != IP_PKTINFO @@ -700,8 +703,8 @@ pkti->ipi_ifindex = 0; } break; - -#ifdef INET6 +#endif +#if defined(INET6) && defined(IPV6_PKTINFO) case AF_INET6: if (cmsg->cmsg_level != SOL_IPV6 || cmsg->cmsg_type != IPV6_PKTINFO