Using the new bridges of FreeBSD 15

13 hours ago (blog.feld.me)

When this settles down, I look forward to all of jail/iojail, Sylve, Bastille, Bhyve documenting this in a mutually consistent manner. As it stands, I have managed to completely knot my brain over the abstractions, what is happening. It's me, not the systems, but I think there is a little bit of "meh, I understand it, so it must be obvious to anyone smart" going on, and alas, I am not smart, and I get confused easily.

I'm in bastille atm, but have been in all of them and TrueNAS core. and libvirt over on the other unix.

From TFA:

  They have also soft-deprecated the ability to have any layer 3 addresses on member interfaces which makes it behave like a real hardware switch. The net.link.bridge.member_ifaddrs sysctl controls this behavior and it will be removed in FreeBSD 16.0-RELEASE, same as if set to zero.

I'm a little bit uncertain. This means that the bridge may have one or more L3 addresses assigned to it, but the interfaces attached to that bridge may not, right?

If that's right, how does that interact with things like Linux's veth pairs? [0] Can the half of the pair that's not a member of the bridge have an IP address?

[0] I assume something like that exists in FreeBSD-land.

Bhyve bridges are inefficient: every packet traverses NIC → CPU → bridge → VM, adding unnecessary copies that kill throughput. Switching to SR-IOV eliminated that overhead and I saturated the 10 GbE link.

> -tso4 -tso6 -vlanhwfilter -vlanmtu -vlanhwtso -vlanhwtag -vlanhwcsum -lro

Whys the author disabling tso and lro? Whats the motivation?

I'm not familiar with the other flags.

  • People found this worked in the past and it gets copied around. There is no reason to disable some of this. Bridge will automatically disable LRO and find the common set of other offloads. TSO is not useful for a bridged guest.

  • LRO because the bridge has to forward the real frames. TSO because it’s fairly useless now.

Why sudden surge of FreeBSD-related posts?

Did anything special or new happened on FreeBSD land?