Date: Thu, 23 Apr 2009 09:32:30 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/net if.c if.h Message-ID: <200904230932.n3N9Wfd5074500@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
rwatson 2009-04-23 09:32:30 UTC
FreeBSD src repository
Modified files:
sys/net if.c if.h
Log:
SVN rev 191416 on 2009-04-23 09:32:30Z by rwatson
Add a new interface flag, IFF_DYING, which is set when a device driver
calls if_free(), and remains set if the refcount is elevated. IF_DYING
skips the bit in the if_flags bitmask previously used by IFF_NEEDSGIANT,
so that an MFC can be done without changing which bit is used, as
IFF_NEEDSGIANT is still present in 7.x.
ifnet_byindex_ref() checks for IFF_DYING and returns NULL if it is set,
preventing new references from by acquired by index, preventing
monitoring sysctls from seeing it. Other lookup mechanisms currently
do not check IFF_DYING, but may need to in the future.
MFC after: 3 weeks
Revision Changes Path
1.322 +48 -30 src/sys/net/if.c
1.118 +3 -1 src/sys/net/if.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904230932.n3N9Wfd5074500>
