From c8d9ede158451b75a15ebd7319cce2b6af33441a Mon Sep 17 00:00:00 2001
From: Hoelscher <jens.hoelscher@fh-muenster.de>
Date: Wed, 9 Mar 2016 09:13:10 +0100
Subject: [PATCH] add fix for handling ipv6 in rum_packet.c

---
 gtests/net/packetdrill/run_packet.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/gtests/net/packetdrill/run_packet.c b/gtests/net/packetdrill/run_packet.c
index 819587d9..b4d4a43b 100644
--- a/gtests/net/packetdrill/run_packet.c
+++ b/gtests/net/packetdrill/run_packet.c
@@ -2697,13 +2697,8 @@ static int do_inbound_script_packet(
 	}
 
 	if (live_packet->ipv6 != NULL) {
-		uint32_t null_ip[4] = {0x00, 0x00, 0x00, 0x00};
-#if defined(linux)
-		if (memcmp(&(live_packet->ipv6->src_ip.__in6_u.__u6_addr32), &null_ip, sizeof(uint32_t) * 4) == 0) {
-#elif defined(__FreeBSD__) || defined(OpenBSD) || defined(NetBSD)
-		if (memcmp(&(live_packet->ipv6->src_ip.__u6_addr.__u6_addr32), &null_ip, sizeof(uint32_t) * 4) == 0) {
-#endif
-
+		if (IN6_IS_ADDR_UNSPECIFIED(&live_packet->ipv6->src_ip)) {
+			DEBUGP("live_packet->ipv6->src_ip.s_addr == 0\n");
 			state->socket_under_test = setup_new_child_socket(state, packet);
 			struct tuple live_inbound;
 			socket_get_inbound(&state->socket_under_test->live, &live_inbound);
-- 
GitLab