diff --git a/src/posix/platform/infra_if.cpp b/src/posix/platform/infra_if.cpp index 9f93d2b1c..11f1562c6 100644 --- a/src/posix/platform/infra_if.cpp +++ b/src/posix/platform/infra_if.cpp @@ -331,7 +331,7 @@ void InfraNetif::Init(const char *aIfName) #ifdef __linux__ rval = setsockopt(mInfraIfIcmp6Socket, SOL_SOCKET, SO_BINDTODEVICE, mInfraIfName, strlen(mInfraIfName)); #else // __NetBSD__ || __FreeBSD__ || __APPLE__ - rval = setsockopt(mInfraIfIcmp6Socket, IPPROTO_IP, IP_BOUND_IF, &mInfraIfIndex, sizeof(mInfraIfIndex)); + rval = setsockopt(mInfraIfIcmp6Socket, IPPROTO_IPV6, IPV6_BOUND_IF, &mInfraIfIndex, sizeof(mInfraIfIndex)); #endif // __linux__ VerifyOrDie(rval == 0, OT_EXIT_ERROR_ERRNO);