diff --git a/gtests/net/packetdrill/ip_address.c b/gtests/net/packetdrill/ip_address.c
index d9354c0b245ae7e317c2a697014b97d3ccc4e4e4..91e89c0fcf846d085c28e31c67a62099f5fccf99 100644
--- a/gtests/net/packetdrill/ip_address.c
+++ b/gtests/net/packetdrill/ip_address.c
@@ -168,7 +168,7 @@ static void ipv4_to_sockaddr(const struct ip_address *ipv4, u16 port,
 {
 	struct sockaddr_in sa_v4;
 	memset(&sa_v4, 0, sizeof(sa_v4));
-#ifndef linux
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__)
 	sa_v4.sin_len = sizeof(sa_v4);
 #endif
 	sa_v4.sin_family = AF_INET;
@@ -186,7 +186,7 @@ static void ipv6_to_sockaddr(const struct ip_address *ipv6, u16 port,
 {
 	struct sockaddr_in6 sa_v6;
 	memset(&sa_v6, 0, sizeof(sa_v6));
-#ifndef linux
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__)
 	sa_v6.sin6_len = sizeof(sa_v6);
 #endif
 	sa_v6.sin6_family = AF_INET6;