--- a/src/Listener.cpp +++ b/src/Listener.cpp @@ -670,6 +670,7 @@ // Now optimize packet flow up the raw socket // Establish the flow BPF to forward up only "connected" packets to this raw socket +#ifdef HAVE_IPV6 if (l->sa_family == AF_INET6) { struct in6_addr *v6peer = SockAddr_get_in6_addr(&server->peer); struct in6_addr *v6local = SockAddr_get_in6_addr(&server->local); @@ -682,9 +683,12 @@ WARN_errno( rc == SOCKET_ERROR, "l2 v4in6 connect ip bpf"); } } else { +#endif rc = SockAddr_v4_Connect_BPF(server->mSock, ((struct sockaddr_in *)(l))->sin_addr.s_addr, ((struct sockaddr_in *)(p))->sin_addr.s_addr, ((struct sockaddr_in *)(l))->sin_port, ((struct sockaddr_in *)(p))->sin_port); WARN_errno( rc == SOCKET_ERROR, "l2 connect ip bpf"); +#ifdef HAVE_IPV6 } +#endif if (rc < 0) return -1; else