PERFORCE change 41476 for review
Sam Leffler
sam at FreeBSD.org
Wed Nov 5 13:17:07 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=41476
Change 41476 by sam at sam_ebb on 2003/11/05 13:16:57
Until IPv6 is locked we cannot make assertions about the
inpcb's. Rather than scatter #ifdef INET6's around the
code; do it at the source of the ASSERT macros.
Affected files ...
.. //depot/projects/netperf/sys/netinet/in_pcb.h#12 edit
Differences ...
==== //depot/projects/netperf/sys/netinet/in_pcb.h#12 (text+ko) ====
@@ -246,12 +246,21 @@
struct mtx ipi_mtx;
};
+/*
+ * NB: We cannot enable assertions when IPv6 is configured as
+ * this code is shared by both IPv4 and IPv6 and IPv6 is
+ * not properly locked.
+ */
#define INP_LOCK_INIT(inp, d) \
mtx_init(&(inp)->inp_mtx, (d), NULL, MTX_DEF | MTX_RECURSE | MTX_DUPOK)
#define INP_LOCK_DESTROY(inp) mtx_destroy(&(inp)->inp_mtx)
#define INP_LOCK(inp) mtx_lock(&(inp)->inp_mtx)
#define INP_UNLOCK(inp) mtx_unlock(&(inp)->inp_mtx)
+#ifndef INET6
#define INP_LOCK_ASSERT(inp) mtx_assert(&(inp)->inp_mtx, MA_OWNED)
+#else
+#define INP_LOCK_ASSERT(inp)
+#endif
#define INP_INFO_LOCK_INIT(ipi, d) \
mtx_init(&(ipi)->ipi_mtx, (d), NULL, MTX_DEF | MTX_RECURSE)
@@ -259,8 +268,13 @@
#define INP_INFO_WLOCK(ipi) mtx_lock(&(ipi)->ipi_mtx)
#define INP_INFO_RUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_mtx)
#define INP_INFO_WUNLOCK(ipi) mtx_unlock(&(ipi)->ipi_mtx)
+#ifndef INET6
#define INP_INFO_RLOCK_ASSERT(ipi) mtx_assert(&(ipi)->ipi_mtx, MA_OWNED)
#define INP_INFO_WLOCK_ASSERT(ipi) mtx_assert(&(ipi)->ipi_mtx, MA_OWNED)
+#else
+#define INP_INFO_RLOCK_ASSERT(ipi)
+#define INP_INFO_WLOCK_ASSERT(ipi)
+#endif
#define INP_PCBHASH(faddr, lport, fport, mask) \
(((faddr) ^ ((faddr) >> 16) ^ ntohs((lport) ^ (fport))) & (mask))
More information about the p4-projects
mailing list