diff --git a/INSTALL b/INSTALL
index deb71c7b84..0275837caa 100644
--- a/INSTALL
+++ b/INSTALL
@@ -48,6 +48,12 @@ called ``build/``, using default build options. It then installs all
required files into ``/usr/local/bro``, including the Bro binary in
``/usr/local/bro/bin/bro``.
+Note that the top-level Makefile may not work with OpenBSD's default
+make program, in which case you can either install the ``gmake``
+package and use it instead or first change into the ``build/``
+directory before doing either ``make`` or ``make install`` such that
+the CMake-generated Makefile's are used directly.
+
You can specify a different installation directory with::
./configure --prefix=
diff --git a/config.h.in b/config.h.in
index e3c9984373..261cd0ccb9 100644
--- a/config.h.in
+++ b/config.h.in
@@ -32,8 +32,8 @@
/* Define if you have the header file. */
#cmakedefine HAVE_NET_ETHERNET_H
-/* We are on a OpenBSD system */
-#cmakedefine HAVE_OPENBSD
+/* Define if you have the header file. */
+#cmakedefine HAVE_NET_ETHERTYPES_H
/* have os-proto.h */
#cmakedefine HAVE_OS_PROTO_H
@@ -145,3 +145,10 @@
/* Define u_int8_t */
#cmakedefine u_int8_t @u_int8_t@
+
+/* OpenBSD's bpf.h may not declare this data link type, but it's supposed to be
+ used consistently for the same purpose on all platforms. */
+#cmakedefine HAVE_DLT_PPP_SERIAL
+#ifndef HAVE_DLT_PPP_SERIAL
+#define DLT_PPP_SERIAL @DLT_PPP_SERIAL@
+#endif
diff --git a/src/ARP.h b/src/ARP.h
index 6b84dbd587..37f20ced3c 100644
--- a/src/ARP.h
+++ b/src/ARP.h
@@ -15,6 +15,8 @@
#include
#elif defined(HAVE_NETINET_IF_ETHER_H)
#include
+#elif defined(HAVE_NET_ETHERTYPES_H)
+#include
#endif
#ifndef arp_pkthdr