Date: Mon, 17 May 2010 19:36:56 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/net if_vlan.c Message-ID: <201005171937.o4HJb78v070270@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2010-05-17 19:36:56 UTC
FreeBSD src repository
Modified files:
sys/net if_vlan.c
Log:
SVN rev 208212 on 2010-05-17 19:36:56Z by jhb
Ignore failures from removing multicast addresses from the parent (trunk)
interface when tearing down a vlan interface. If a trunk interface is
detached, all of its multicast addresses are removed before the ifnet
departure eventhandlers are invoked. This means that all of the multicast
addresses are removed before the vlan interfaces are removed which causes
the if_delmulti() calls in the vlan teardown to fail.
In the VLAN_ARRAY case, this left vlan interfaces referencing a no longer
valid parent interface. In the !VLAN_ARRAY case, the eventhandler gets
stuck in an infinite loop retrying vlan_unconfig_locked() forever. In
general the callers of vlan_unconfig_locked() do not expect nor handle
failure, so I believe it is safer to ignore the errors and tear down as
much of the vlan state as possible.
Silence from: net@
MFC after: 4 days
Revision Changes Path
1.150 +14 -13 src/sys/net/if_vlan.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005171937.o4HJb78v070270>
