Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 May 2025 18:18:24 -0300
From:      Mitchell Horne <mhorne@freebsd.org>
To:        Lexi Winter <ivy@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: b61850c4e6f6 - main - bridge(4): default net.link.bridge.member_ifaddrs to false
Message-ID:  <d839f137-b43b-416b-968f-439301f0a5c6@freebsd.org>
In-Reply-To: <202505150004.54F04FhR046897@gitrepo.freebsd.org>
References:  <202505150004.54F04FhR046897@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help


On 5/14/25 21:04, Lexi Winter wrote:
> The branch main has been updated by ivy:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=b61850c4e6f6b0f21b36da7238db969d9090309e
> 
> commit b61850c4e6f6b0f21b36da7238db969d9090309e
> Author:     Lexi Winter <ivy@FreeBSD.org>
> AuthorDate: 2025-05-14 14:26:24 +0000
> Commit:     Lexi Winter <ivy@FreeBSD.org>
> CommitDate: 2025-05-15 00:02:52 +0000
> 
>     bridge(4): default net.link.bridge.member_ifaddrs to false
>     
>     As discussed on arch@, this behaviour is broken and confuses users, so
>     disable it by default.  For 15.0-RELEASE, allow it to be re-enabled
>     using a sysctl, but the sysctl will be removed in 16.0R.
>     

Hi Lexi,

I just updated my workstation past this commit. I found that my main
ethernet interface didn't receive an IP address, and had to set the
sysctl to proceed as before.

I have the following network configuration lines in my rc.conf:

  ifconfig_re0="DHCP"
  cloned_interfaces="bridge0 tap0"
  ifconfig_bridge0="addm re0 addm tap0 up"

The simple setup is so that I can pass the tap0 device to QEMU/bhyve VMs
for networking.

What adjustment do I need to make to the above configuration to achieve
the intended result "correctly"? I understand it is probably an easy
fix, but I have a neanderthal's understanding of ifconfig :)

Many thanks,
Mitchell

>     Relnotes:       yes
>     Reviewed by:    kp, des
>     Approved by:    des (mentor)
>     Differential Revision:  https://reviews.freebsd.org/D50328
> ---
>  UPDATING                |  5 +++++
>  share/man/man4/bridge.4 | 18 ++++++++++++------
>  sys/net/if_bridge.c     |  4 ++--
>  3 files changed, 19 insertions(+), 8 deletions(-)
> 
> diff --git a/UPDATING b/UPDATING
> index d46db9e13794..ce2b60ea9353 100644
> --- a/UPDATING
> +++ b/UPDATING
> @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW:
>  	world, or to merely disable the most expensive debugging functionality
>  	at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
>  
> +20250513:
> +	The bridge(4) sysctl net.link.bridge.member_ifaddrs now defaults to 0,
> +	meaning that interfaces added to a bridge may not have IP addresses
> +	assigned.  Refer to bridge(4) for more information.
> +
>  20250507:
>  	UMASS quirks and auto-quirk probing has been overhauled. CAM now won't
>  	send SYNCHRONIZE CACHE unless MODE PAGE 8 is present and valid. This
> diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4
> index 2c3bfd6aedfa..45dea82325bc 100644
> --- a/share/man/man4/bridge.4
> +++ b/share/man/man4/bridge.4
> @@ -36,7 +36,7 @@
>  .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
>  .\" POSSIBILITY OF SUCH DAMAGE.
>  .\"
> -.Dd May 5, 2025
> +.Dd May 13, 2025
>  .Dt IF_BRIDGE 4
>  .Os
>  .Sh NAME
> @@ -163,14 +163,20 @@ To allow the host to communicate with bridge members, IP addresses
>  should be assigned to the
>  .Nm
>  interface itself, not to the bridge's member interfaces.
> -Assigning IP addresses to bridge member interfaces is unsupported, but
> -for backward compatibility, it is permitted if the
> +Attempting to assign an IP address to a bridge member interface, or add
> +a member interface with an assigned IP address to a bridge, will return
> +an
> +.Dv EINVAL
> +.Dq ( "Invalid argument" )
> +error.
> +For compatibility with older releases where this was permitted, setting
> +the
>  .Xr sysctl 8
>  variable
>  .Va net.link.bridge.member_ifaddrs
> -is set to 1, which is the default.
> -In a future release, this sysctl may be set to 0 by default, or may be
> -removed entirely.
> +to 1 will permit this configuration.
> +This sysctl variable will be removed in
> +.Fx 16.0.
>  .Sh IPV6 SUPPORT
>  .Nm
>  supports the
> diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
> index 199418c4aa99..475977adf68a 100644
> --- a/sys/net/if_bridge.c
> +++ b/sys/net/if_bridge.c
> @@ -504,10 +504,10 @@ SYSCTL_BOOL(_net_link_bridge, OID_AUTO, log_mac_flap,
>      "Log MAC address port flapping");
>  
>  /* allow IP addresses on bridge members */
> -VNET_DEFINE_STATIC(bool, member_ifaddrs) = true;
> +VNET_DEFINE_STATIC(bool, member_ifaddrs) = false;
>  #define	V_member_ifaddrs	VNET(member_ifaddrs)
>  SYSCTL_BOOL(_net_link_bridge, OID_AUTO, member_ifaddrs,
> -    CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), true,
> +    CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), false,
>      "Allow layer 3 addresses on bridge members");
>  
>  static bool




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d839f137-b43b-416b-968f-439301f0a5c6>