Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 May 2025 16:44:46 +0200
From:      Kristof Provost <kp@FreeBSD.org>
To:        void <void@f-m.fm>
Cc:        freebsd-net@freebsd.org, current@freebsd.org, net@freebsd.org
Subject:   Re: HEADS UP: 15.0-CURRENT, change to bridge(4) might break some network configurations with =?utf-8?b?4oCcSW52YWxpZCBhcmd1bWVudOKAnQ==?=
Message-ID:  <3647A8FC-FED1-4539-8BDE-CACCF6A5FC0A@FreeBSD.org>
In-Reply-To: <aC3l356uZYcPDx_h@int21h>
References:  <aCsJDjfCNk5pA59c@ragweed.eden.le-fay.org> <aC3l356uZYcPDx_h@int21h>

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

[-- Attachment #1 --]
On 21 May 2025, at 16:40, void wrote:
> On Mon, May 19, 2025 at 11:33:50AM +0100, Lexi Winter wrote:
>> although it's possible everyone who is affected by this is already 
>> aware
>> of the change, i thought i should send a heads up anyway, if only to
>> have a single place to discuss this (since there was quite a lot of
>> discussion).
>>
>> in short, following this commit...
>>
>> b61850c4e6f "bridge(4): default net.link.bridge.member_ifaddrs to 
>> false"
>> https://cgit.freebsd.org/src/commit/?id=b61850c4e6f6b0f21b36da7238db969d9090309e
>>
>> ...it is now impossible to use a network interface which has an IP
>> address assigned to it as a bridge member, or to configure an IP
>> address on an interface which is a member of a bridge.
>
> Hi, for the sake of clarity, when you say "IP addresses assigned to it 
> as
> a bridge member", do you mean assigned via eg rc.conf on the host,
> or assigned, for example within a VM, or assigned within a bridge 
> statement? [1]
>
> I have a machine with 2x NICs with static ips assigned in the
> usual way in rc.conf. They are also bridge members (they have to be 
> otherwise the tap interfaces on the bhyve VMs wouldn't work)
> Within each vm the interfaces are assigned either static or dynamic
> IPs. I don't use vm-bhyve. Do I need to worry? [2]
>
> [1] example - /etc/rc.conf snippet on the bhyve host
>
> ifconfig_bge1="inet REDACTED.REAL.IP netmask 255.255.255.248 mtu 1500 
> media 1000baseT mediaopt full-duplex,master"
> defaultrouter="REDACTED.REAL.GATEWAY"
> ifconfig_bge1_ipv6="inet6 accept_rtadv"
> #
> #
> ifconfig_bridge1="addm bge1 addm tap10 addm tap11 addm tap12 \
> addm tap13 addm tap14 addm tap15 addm tap16 addm tap17 addm tap18 addm 
> tap19"
> #
>
> [2] because here bge1 has an ip addigned to it and is a bridge member

Yes, that is a problem. Assign REDACTED.REAL.IP to bridge1, not to bge1.

—
Kristof
[-- Attachment #2 --]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body><div style="font-family: sans-serif;"><div class="markdown" style="white-space: normal;">
<p dir="auto">On 21 May 2025, at 16:40, void wrote:</p>
<blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #136BCE; color: #136BCE;">
<p dir="auto">On Mon, May 19, 2025 at 11:33:50AM +0100, Lexi Winter wrote:</p>
<blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #136BCE; border-left-color: #4B89CF; color: #4B89CF;">
<p dir="auto">although it's possible everyone who is affected by this is already aware<br>
of the change, i thought i should send a heads up anyway, if only to<br>
have a single place to discuss this (since there was quite a lot of<br>
discussion).</p>
<p dir="auto">in short, following this commit...</p>
<p dir="auto">b61850c4e6f &quot;bridge(4): default net.link.bridge.member_ifaddrs to false&quot;<br>
<a href="https://cgit.freebsd.org/src/commit/?id=b61850c4e6f6b0f21b36da7238db969d9090309e">https://cgit.freebsd.org/src/commit/?id=b61850c4e6f6b0f21b36da7238db969d9090309e</a></p>;
<p dir="auto">...it is now impossible to use a network interface which has an IP<br>
address assigned to it as a bridge member, or to configure an IP<br>
address on an interface which is a member of a bridge.</p>
</blockquote>
<p dir="auto">Hi, for the sake of clarity, when you say &quot;IP addresses assigned to it as<br>
a bridge member&quot;, do you mean assigned via eg rc.conf on the host,<br>
or assigned, for example within a VM, or assigned within a bridge statement? [1]</p>
<p dir="auto">I have a machine with 2x NICs with static ips assigned in the<br>
usual way in rc.conf. They are also bridge members (they have to be otherwise the tap interfaces on the bhyve VMs wouldn't work)<br>
Within each vm the interfaces are assigned either static or dynamic<br>
IPs. I don't use vm-bhyve. Do I need to worry? [2]</p>
<p dir="auto">[1] example - /etc/rc.conf snippet on the bhyve host</p>
<p dir="auto">ifconfig_bge1=&quot;inet REDACTED.REAL.IP netmask 255.255.255.248 mtu 1500 media 1000baseT mediaopt full-duplex,master&quot;<br>
defaultrouter=&quot;REDACTED.REAL.GATEWAY&quot;<br>
ifconfig_bge1_ipv6=&quot;inet6 accept_rtadv&quot;</p>
<h2></h2>
<h2></h2>
<p dir="auto">ifconfig_bridge1=&quot;addm bge1 addm tap10 addm tap11 addm tap12 <br>
addm tap13 addm tap14 addm tap15 addm tap16 addm tap17 addm tap18 addm tap19&quot;</p>
<h2></h2>
<p dir="auto">[2] because here bge1 has an ip addigned to it and is a bridge member</p>
</blockquote>
<p dir="auto">Yes, that is a problem. Assign REDACTED.REAL.IP to bridge1, not to bge1.</p>
<p dir="auto">—<br>
Kristof</p>

</div>
</div>
</body>

</html>

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3647A8FC-FED1-4539-8BDE-CACCF6A5FC0A>