diff options
author | hsu <hsu@FreeBSD.org> | 2002-12-22 05:35:03 +0000 |
---|---|---|
committer | hsu <hsu@FreeBSD.org> | 2002-12-22 05:35:03 +0000 |
commit | 82e1e3bab0d3abe1018a0b56559c154485f2f676 (patch) | |
tree | d0f9ee7e6f9d8014e6f8f94ab6965e85c268792e /sys/net/if_var.h | |
parent | 2afef11c570b7b725c3145fc710f8dcd8d7ed4e0 (diff) | |
download | FreeBSD-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.h | 7 |
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; |