Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 01 Sep 2023 02:40:09 +0000
From:      bugzilla-noreply@freebsd.org
To:        net@FreeBSD.org
Subject:   [Bug 221122] Attaching interface to a bridge stops all traffic on uplink NIC for few seconds
Message-ID:  <bug-221122-7501-VpusztknU1@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-221122-7501@https.bugs.freebsd.org/bugzilla/>
References:  <bug-221122-7501@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D221122

--- Comment #34 from spork@bway.net ---
The answer to "when did interface capabilities get restored when a member is
removed" is "back in 2008".

This commit altered how interface flags were dealt with:=20

https://cgit.freebsd.org/src/commit/sys/net/if_bridge.c?id=3Dec29c623005ca6=
a32d44fb59bc2a759a96dc75e4

You can see a variable "bif_savedcaps" was added so that the bridge now tra=
cks
what the original interface flags were.

Then when a member is removed, it looks like all of a bridge's interfaces a=
re
looped through and the original flags are restored (in bridge_delete_member=
()):

+               /* reneable any interface capabilities */
+               bridge_set_ifcap(sc, bif, bif->bif_savedcaps);

Not sure where, but this kind of feels like it could be a tunable, like
"net.link.bridge.restore_caps" or similar, given a) jails will trigger this
with lots of NICs b) these days 5 seconds of downtime is actually not a min=
or
issue in many environments and c) it need not change any defaults, but
rc.d/jail and 3rd party jail scripts could opt to set it d) jails are kind =
of a
big reason people come to FreeBSD.

I'm not much of a coder, but I could get that sysctl like 80% there I think
after looking at the other "net.link.bridge" tunables... any takers on help=
ing?
Any thoughts on whether this makes sense?

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-221122-7501-VpusztknU1>