summaryrefslogtreecommitdiffstats
path: root/sys/net/if_var.h
diff options
context:
space:
mode:
authorhsu <hsu@FreeBSD.org>2002-12-22 05:35:03 +0000
committerhsu <hsu@FreeBSD.org>2002-12-22 05:35:03 +0000
commit82e1e3bab0d3abe1018a0b56559c154485f2f676 (patch)
treed0f9ee7e6f9d8014e6f8f94ab6965e85c268792e /sys/net/if_var.h
parent2afef11c570b7b725c3145fc710f8dcd8d7ed4e0 (diff)
downloadFreeBSD-src-82e1e3bab0d3abe1018a0b56559c154485f2f676.zip
FreeBSD-src-82e1e3bab0d3abe1018a0b56559c154485f2f676.tar.gz
SMP locking for ifnet list.
Diffstat (limited to 'sys/net/if_var.h')
-rw-r--r--sys/net/if_var.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/net/if_var.h b/sys/net/if_var.h
index 3e3300e..fa4082b 100644
--- a/sys/net/if_var.h
+++ b/sys/net/if_var.h
@@ -410,6 +410,13 @@ struct ifmultiaddr {
IFA_UNLOCK(ifa); \
} while (0)
+extern struct mtx ifnet_lock;
+#define IFNET_LOCK_INIT() mtx_init(&ifnet_lock, "ifnet", NULL, MTX_DEF)
+#define IFNET_WLOCK() mtx_lock(&ifnet_lock)
+#define IFNET_WUNLOCK() mtx_unlock(&ifnet_lock)
+#define IFNET_RLOCK() IFNET_WLOCK()
+#define IFNET_RUNLOCK() IFNET_WUNLOCK()
+
struct ifindex_entry {
struct ifnet *ife_ifnet;
struct ifaddr *ife_ifnet_addr;
OpenPOWER on IntegriCloud