Re: CURRENT: can not add device to bridge: ifconfig: BRDGADD igb0: Invalid argument

From: Lexi Winter <ivy_at_FreeBSD.org>
Date: Mon, 19 May 2025 08:53:13 UTC
Kristof Provost:
> On 18 May 2025, at 21:24, Marek Zarychta wrote:
> > W dniu 18.05.2025 o 19:48, Alexander Leidinger pisze:
> >> You want to make it work without this. Short: use the IP on the
> >> bridge itself, not in the member IF.
> > I'm not sure we should be dictating to Oliver what he must do.
 
> Oliver is of course free to solve his problem however he wishes, but
> setting the sysctl is the worst option available. This will break
> again later, and will continue to break multicast.

i think it's worth mentioning that this doesn't just break multicast.  i
recently ran into a user with some weird arp problem where dmesg kept
logging messages that an IP address was moving from one MAC address to
another.  after they moved their IP address from the bridge member to
the bridge itself, the problem was solved.

the basic problem here is that putting IP addresses on a bridge member
is a layering violation and it's just not reasonable (or even possible)
to support this in a sensible way in bridge.  this is why most dedicated
network devices (switches, routers, etc.) don't let you do this.

i appreciate there are some specific use-cases that are currently still
easier if this is allowed, this is why the sysctl exists.  hopefully, we
can fix all of these before 16.0-RELEASE.

and to be clear, i didn't make this change out of a random desire to
break everything's network because i think that's fun.  i am planning a
lot of changes to bridge(4) to make it faster and more functional, and
fixing basic issues like IP addresses on member addresses makes those
changes a lot easier.