--- src/rx/rx_kcommon.h.orig	2008-10-03 10:55:12.000000000 -0400
+++ src/rx/rx_kcommon.h	2009-03-28 23:17:44.000000000 -0400
@@ -68,6 +68,49 @@
 #endif
 #include "h/buf.h"
 #include "h/mbuf.h"
+
+#if defined(AFS_FBSD80_ENV) && !defined(__sctp_os_bsd_h__)
+
+/* Borrow FreeBSD SCTP elegant macros to hide details of network stack 
+ * virtualization, if SCTP not already included  */
+
+#include <net/if.h>
+#include <net/if_types.h>
+#include <net/if_var.h>
+#include <net/route.h>
+#include <sys/vimage.h>
+#include <net/vnet.h>
+
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <netinet/in_pcb.h>
+#include <netinet/in_var.h>
+#include <netinet/ip_var.h>
+#include <netinet/ip_icmp.h>
+#include <netinet/icmp_var.h>
+#include <netinet/vinet.h>
+
+/*
+ * Macros to expand out globals defined by various modules
+ * to either a real global or a virtualized instance of one,
+ * depending on whether VIMAGE is defined.
+ */
+/* first define modules that supply us information */
+#define MOD_NET net
+#define MOD_INET inet
+#define MOD_INET6 inet6
+#define MOD_IPSEC ipsec
+
+/* then define the macro(s) that hook into the vimage macros */
+#if defined(__FreeBSD__) && __FreeBSD_version >= 800056
+#define MODULE_GLOBAL(__MODULE, __SYMBOL) V_ ## __SYMBOL
+#else
+#define MODULE_GLOBAL(__MODULE, __SYMBOL) (__SYMBOL)
+#endif
+
+#endif /* AFS_FBSD80_ENV (vnet) */
+
 #endif /* AFS_FBSD_ENV */
 #endif /* !defined(AFS_SUN5_ENV) && !defined(AFS_XBSD_ENV) */
 #endif /* !defined(AFS_LINUX22_ENV) && !defined(AFS_OBSD_ENV) */
