diff --git a/gtests/net/packetdrill/gre.h b/gtests/net/packetdrill/gre.h
index 6ce627fdbab3e8f9b0c787655f1a2bb6f3e33f57..87bea60ba6bc678b0e24e5f71f235fbb4d2b41ce 100644
--- a/gtests/net/packetdrill/gre.h
+++ b/gtests/net/packetdrill/gre.h
@@ -35,7 +35,7 @@
 
 /* GRE header. See RFC 1701. */
 struct gre {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
 	__u16	recursion_control:3,
 		strict_route:1,
 		has_seq:1,
@@ -45,7 +45,7 @@ struct gre {
 		version:3,
 		reserved:4,
 		ack:1;
-#elif __BYTE_ORDER == __BIG_ENDIAN
+#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
 	__u16	has_checksum:1,
 		has_routing:1,
 		has_key:1,
diff --git a/gtests/net/packetdrill/ip.h b/gtests/net/packetdrill/ip.h
index c2bd926a5b8b5723e6c3ff2168ac7855223e8c00..b9857935065a1ed11b4ee492d870810ebf9678d8 100644
--- a/gtests/net/packetdrill/ip.h
+++ b/gtests/net/packetdrill/ip.h
@@ -30,10 +30,10 @@
 #include "types.h"
 
 struct ipv4 {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
 	__u8	ihl:4,
 		version:4;
-#elif __BYTE_ORDER == __BIG_ENDIAN
+#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
 	__u8	version:4,
 		ihl:4;
 #else
diff --git a/gtests/net/packetdrill/ipv6.h b/gtests/net/packetdrill/ipv6.h
index ae9d4724353b0f26a0b6815b768beab2475b3628..34e9490d08b072afcb1aacdd34410e3a4436f5f4 100644
--- a/gtests/net/packetdrill/ipv6.h
+++ b/gtests/net/packetdrill/ipv6.h
@@ -32,13 +32,13 @@
 #include <netinet/in.h>
 
 struct ipv6 {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
 	__u8			traffic_class_hi:4,
 				version:4;
 	__u8			flow_label_hi:4,
 				traffic_class_lo:4;
 	__u16			flow_label_lo;
-#elif __BYTE_ORDER == __BIG_ENDIAN
+#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
 	__u8			version:4,
 				traffic_class_hi:4;
 	__u8			traffic_class_lo:4,
diff --git a/gtests/net/packetdrill/packet_socket_pcap.c b/gtests/net/packetdrill/packet_socket_pcap.c
index cdbba1fc34ac41e26a0a26c74287d14077be03a0..c349c700d649d0d8c926de5292ddf05dee4698c6 100644
--- a/gtests/net/packetdrill/packet_socket_pcap.c
+++ b/gtests/net/packetdrill/packet_socket_pcap.c
@@ -311,9 +311,9 @@ int packet_socket_receive(struct packet_socket *psock,
 		}
 		break;
 	case DLT_RAW:
-#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
 		version = (*pkt_data & 0xf0) >> 4;
-#elif __BYTE_ORDER == __BIG_ENDIAN
+#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
 		version = *pkt_data & 0x0f;
 #else
 #error "Please fix endianness defines"
diff --git a/gtests/net/packetdrill/tcp.h b/gtests/net/packetdrill/tcp.h
index 2c2b882ad59b1ea498eb2dbe03a0cfacb0101c5c..779077a06116b8a28407f613f159c3977b9e8ef4 100644
--- a/gtests/net/packetdrill/tcp.h
+++ b/gtests/net/packetdrill/tcp.h
@@ -94,7 +94,7 @@ struct tcp {
 	__be16	dst_port;
 	__be32	seq;
 	__be32	ack_seq;
-#  if __BYTE_ORDER == __LITTLE_ENDIAN
+#  if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
 	__u16	res1:2,
 		res2:2,
 		doff:4,
@@ -106,7 +106,7 @@ struct tcp {
 		urg:1,
 		ece:1,
 		cwr:1;
-#  elif __BYTE_ORDER == __BIG_ENDIAN
+#  elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
 	__u16	doff:4,
 		res2:2,
 		res1:2,