FreeBSD Network Status Week 44 2024

The report was streamed again this week, I have tried to advertise streaming in all the expected places (discord, irc, BSDNow Telegram). If I missed somewhere let me know.

Goings on

We seem to be back to a much more normal events calendar post-2020. There is a return of a BSD Devroom at FOSDEM and I am hearing about people attending many more events.

It looks like the bugzilla tidy up is calming down, I have it on my todo list to find interesting bugs, but I have gotten bogged down doing other things the last few weeks.

Fall 2024 FreeBSD Summit

This is happening next week on the 7-8th of November. If you still want to go and haven't made any plans time is running out.

@NetApp San Jose

Program includes:
    - Pawel Dawidek, Fudo Security on "FreeBSD Security Improvements"
    - Dorr Clark, NetScaler on “Using FreeBSD in Products"
    - George Neville-Neil on "OSDB: Turning the Tables on Kernel Data"
    - Dr. Marshall Kirk McKusick on “History of the BSD Daemon”
    - And more!

The summit is open to the public, with a registration fee of US $150.

BSD Devroom at FOSDEM 2024

After a year off there will be a BSD Devroom at FOSDEM 2024, the Devroom needs your talks to be successful. The Devroom talks are shorter than conferences than EuroBSDCon so this is a great opportunity to share work in progress with a diverse BSD crowd.

Welcome to the BSD Devroom Call For Participation. The BSD Devroom aims
to provide a dedicated space for presentations covering BSD operating
system family.

Key dates

Proposals can be submitted by October the 30th, 2024
Submission deadline : 1st December 2024 Brussels time
Announcement of selected talks : 15th of December 2024
Conference dates : 1 & 2 February 2025
BSD devroom date : Saturday February 1st, 2025 afternoon (second half)

CFP is here

Transport

I think changes in the transport stack go through phases. We have a regular call every two weeks to discuss things, but it shows mostly as tidy ups and commits landing for extremely long running projects. This SACK change is part of an exceedingly long project by rscheff@ to fix SACK functionality and performance.

Network Stack

Improvements to handling of external data on mbufs. Adding external pages to mbufs is an important way to improve performance when interacting with other subsystems. Everything mbufs is a bit of a minefield.

kTLS is supported in GNUtls.

Netdev

ice(4) has been updated to 1.43.2-k through some other updates. ice(4) is a good NIC for high performance interfaces.

if_ffec got some tidy ups.

It is great to see multiple families of Intel network drivers getting consistent attention. Tidy ups in man pages are really important for debugging.

bz@ did a series of commits to update wireless drivers using the LinuxKPI for v6.11 which required disabling the drivers from the build. Feedback on the freebsd-src suggested that this can be skipped over in git-bisect and might not be needed.

Firewalls

User Tooling

More updates following on the recent changes to ndp. More and more stuff is getting netlink support.

Other Interesting Change

I might have gotten carried away taking other commits, there is a lot of cool stuff going on.

br@ landed support for bhyve on riscv, this was developed over the summer (incredibly quickly) on the SPICE simulator and QEMU. Hardware with support for the riscv 'h' (hypervisor) hasn't shipped yet, but there might be a small run of ASICs (200 boards) later this year.

Amazing to have support for a hypervisor that doesn't really exist yet.

emaste@ fixed an IPv4 address in resolver to be valid (8.8.4.4 vs 4.4.4.4) and it started a conversation about example addresses in our documentation and including IPv6. It is a good to acknowledge that we should use documentation addresses as specified by IANA, it does help if examples are directly usable.

nuageinit got support for OpenStack network configuration. As more cloud init support lands FreeBSD cloud images are going to get easier and easier to build.

virtio p9fs implements 9pfs (plan 9 file system) for bhyve making it significantly better to provide file systems to guest in bhyve virtual machines.

Please Send Feedback

I would love to know if this summary was any help, if it was, or if you think I should cover other thing please let me know (thj@freebsd.org).

If you find a typo or have a correct let me know and I'll thank you at the end here.

You can see all prior posts here. ( rss )


My work on FreeBSD is supported by the FreeBSD Foundation , you can contribute to improving FreeBSD with code, documentation or financially by donating to the FreeBSD Foundation .

FreeBSD Network Status Week 43 2024

No stream this week, it would be an odd audio mixture of my keyboard, me coughing and blowing my nose, wondering what the cats are up to (we have a guest doubling the number of cats) and talking about compiler flags. I'll be back on next week if I can match the audio standard. Roughly 1000 UK time on Friday the 1st of November (whichever timezone that is next week).

Goings on

Quiet week on the Network side of things, I've not done this long enough to know if there is a pattern here or not. The big change this week was the import of LLVM 19, newer compilers are stricter which tends to break things. Makes us better through fixing bugs in weird code.

The Fall 2024 FreeBSD Summit is in just over two weeks, John made a call for people to register so the correct amount of food could be bought.

Fall 2024 FreeBSD Summit

@NetApp San Jose

Program includes:
    - Pawel Dawidek, Fudo Security on "FreeBSD Security Improvements"
    - Dorr Clark, NetScaler on “Using FreeBSD in Products"
    - George Neville-Neil on "OSDB: Turning the Tables on Kernel Data"
    - Dr. Marshall Kirk McKusick on “History of the BSD Daemon”
    - And more!

The summit is open to the public, with a registration fee of US $150.

Performance issues with vnet jails + epair + bridge

Mailing list thread

I mentioned this discussion last week and got some feedback on performance of zones on Illumnos, sounds like there is some ground we can tread to catch up.

FreeBSD 14.2 Code Slush in Effet

The 14.2-RELEASE code slush continues. The schedule looks like a start of December release, but it depends a lot on testing. You can help by testing 14/stable for the next week and branches after. I'm not sure if the schdule is posted publicly so I won't include it here until I know if I should.

Known issues are on this wiki page

Stab week

This was the October Stab Week( announcement ). It doesn't look like there was fallout and the test period was ended on Wednesday ( email ).

Transport

Tidy ups in SCTP and TCP. The FreeBSD SCTP stack is used in a lot of places, on small platforms like Chrome for WebRTC data channel.

Network stack

Locking and VNET improvements in the network stack. Locking around VNETs is quite complex, for a while you could do a lot of damage by running a for loop creating VNETs, but we are improving all the time and crashes like that are less common. That means the remaining issues are harder to find, but overall better.

A small change to export route statistics via a sysctl, a lot of netstat involves looking at live kernel memory and it has all the problems you can imagine.

This was integrated into netstat a little later on:

Netdev

Small improvement in e1000 which should be a no-op.

On server restart with kTLS a long start up pause could be observed under high load. The process for allocating TLS memory was running single threaded and blocking the process start up.

Firewalls

Test with style.

Other stuff

LLVM 19 was imported just after stab week ended. Compiler imports break a ton of things, the second commit here is a good example of the compiler getting stricter and call us on our nonesense.

zlei@ did a run tidying up surplus semicolons (here is one, but there were many):

Updates via vendor imports for unbound (to 1.22.0), libarchive and googletest (to 1.15.2):

Please Send Feedback

I would love to know if this summary was any help, if it was, or if you think I should cover other thing please let me know (thj@freebsd.org).

If you find a typo or have a correct let me know and I'll thank you at the end here.

You can see all prior posts here. ( rss )


My work on FreeBSD is supported by the FreeBSD Foundation , you can contribute to improving FreeBSD with code, documentation or financially by donating to the FreeBSD Foundation .

FreeBSD Network Status Week 42 2024

Hey Folks,

Here we are for the fourth Weekly Network Status Update. The big changes last week in the report were streaming of the writing process and sharing the reports on the freebsd-net and freebsd-current mailing lists.

Thanks to everyone that sent me emails with positive feedback or corrections. All feedback is appreciated, it helps me know if anyone is reading these and it keeps me honest.

Next week there will hopefully be some supporting figures giving a summary of over all changes. I have written the svg and gotten awk making stuff up for me, I just need to get awk generating svg.

Goings on

The bugzilla storm continues, from my reading of my inbox it looks like others have gotten involved tidying up old bugs too. It is great to tidy up the bug tracker, but I'm going to continue waiting a bit before I write the tooling to cover new and changed bugs here. Maybe in a week or two.

I didn't get any feedback on writing tooling against phabricator, I think I'll pull interesting reviews into my notes. From a read this morning there wasn't anything particularly stand out to include. If you want to know whats going on you can look for reviews with #netdev and #transport groups.

Fall 2024 FreeBSD Summit

On the 7th and 8th of November 2024 there will be a FreeBSD Summit kindly hosted by NetApp in their San Jose campus.

So far the program includes:

    - Pawel Dawidek, Fudo Security on "FreeBSD Security Improvements"
    - Dorr Clark, NetScaler on “Using FreeBSD in Products"
    - George Neville-Neil on "OSDB: Turning the Tables on Kernel Data"
    - Dr. Marshall Kirk McKusick on “History of the BSD Daemon”
    - And more!

The summit is open to the public, with a registration fee of US $150.

Registration and event information is available here:

Performance issues with vnet jails + epair + bridge

There has been some discussion on the freebsd-net mailing about performance issues with VNET jailed applications. The conversation started in September, cc@ has made some points about the performance methodology. I have encountered this problem, TCP single flow over bridge for me stops at 2.5Gbit/s (on a machine that will do localhost TCP single flow at ~40Gbit/s). The issue is real, but we lack comparisons to other platforms to really motivate improvements.

https://lists.freebsd.org/archives/freebsd-net/2024-September/005510.html

FreeBSD 14.2 Code Slush in Effect

It used to be the case that FreeBSD frozen branches in advance of a release, the freeze was led into by a 'slush' phase where only 'safe' commits were wanted. The Slush phase has started for the 14.2 release. Time to get things MFC'd if you want them in 14.2.

Transport

Netdev

Lots of commits to update the EC2 Elastic Network Adapter by osamaabb@ updating the ena(4) driver to v2.8.0 (and through version v2.7.0 ). Here is one of them:

peterj@ has been working improving support for the Quartz64 SBC and as part of that is fixing things in eqos(4) .

More updates to Intel network drivers, with igc(4) getting improved AIM mode support (as igb(4) did last week.

The CFT closed on the axgbe(4) promisc mode change and landed in the tree.

Netmap buffer pools have been made NUMA-aware, this may help with performance on systems with multiple memory domains as the buffer locality should be much better.

Over in WiFi land rtw89 was turned on after 2 years of being in the tree thanks to improved testing from a group of users.

Updates in the LinuxKPI layer to support updates in iwlwifi

Minor man page changes, for users this rearranges the HARDWARE section which is an excellent source of truth when trying to buy things.

Firewalls

The divapp tool for testing divert sockets has been moved from pf specific into the more general netpfil tests area. And divert tests added for ipfw.

The Scapy port update broke some tests so those needed to be updated:

User Tooling

Ping continues to be an incredibly difficult piece of software to work on. Ping is going to get support for non-root users to control the size of the ICMP request (as it can on other platforms).

Libxo is a flexible way of generating machine readable output from Unix tools and subsystems, many more tools got complete libxo support this week, here are some to the network tools:

Other Interesting Changes

I added this section this week because there were quite a few interesting changes going by that weren't networking specific, but still might be of interest.

A new bsd release!

Back in July ISA device hints were changed, but the UPDATING message was missed. It is here now:

In advance of OCI support on FreeBSD, change the name of OCI to ORACLE. That first OCI is Open Container Initiative and the second one is Oracle Cloud Infrastrcuture - simple.

Please Send Feedback

This weeks report took much longer to write because I was speaking to/at the kind people that joined the stream. Thanks for kp@ and mgdm for keeping me company.

I would love to know if this summary was any help, if it was, or if you think I should cover other thing please let me know (thj@freebsd.org).

If you find a typo or have a correct let me know and I'll thank you at the end here.

You can see all prior posts here. ( rss )


My work on FreeBSD is supported by the FreeBSD Foundation , you can contribute to improving FreeBSD with code, documentation or financially by donating to the FreeBSD Foundation .

df on FreeBSD

I thought it would be a lot of fun to run Dwarf Fortress on the Pinebook Pro. Take this deceptively CPU intensive game, run it via a amd64->arm64 translation layer on a mediocre SOC.

df has a native Linux build which is nice to avoid too much translation (WINE is never fun to configure), so this seem straight forward. I will save you the details, but this resulted in a Pinebook Pro with neither X or WiFi drivers installed.

apt is a hell of a drug.

FreeBSD has as Linux Compat layer , maybe getting df running on FreeBSD would be relatively easy?

No.

The packaged CentOS layer seems to be EOL and I'm not sure what is coming next. I wasn't able to figure out easily how to get SDL2_image to be picked up. There are still lots of linker references to libmd 6 floating around and that was enough hassle.

Searching packages I stumbled onto this gem, linux-dwarffortress .

Is running df on FreeBSD easy?

Yes!

$ sudo pkg install linux-dwarffortress
$ dwarffortress

It is version 0.47.05 from back in 2021, but that is good enough for me.

I will try box64 on Linux when the Pocket Reform eventually shows up.

FreeBSD Network Status Week 41 2024

Hey folks, here we are rounding out another week of development. This Network Status Report is an experiment I am making on documenting what has been happening in the FreeBSD network stack by generating reports with the help of some simple tooling. This is the third such report, but the first one I've really told anyone about.

The previous reports are available here , some context and goals are available in the first weeks report .

A big change for this week is streaming of the report writing process. I'm hoping that by being more open about this there will be a weekly chance for community engagement - at least for people that like the network stack.

Goings on

Since last week I have integrated collating notes into my tooling (and if you consumed the stream broke the script a little). This means I can capture things going by on the mailing lists more easily for discussion later.

The bugzilla storm continues, when it starts to slow down I'll review pulling in interesting bugs.

What I want from reviews and bugs is a list of interesting things in the last week. That might be new items, but it is also likely to be items that have had a change in the last week, lots of comments, or have finally closed. Landing commits aren't so interesting. I think I have the bugzilla query sorted out, but I cannot for the life of me get sense from the phabricator API.

If you can generate queries that sort of match what I want AND they will give me plain text summaries as helpful as a git --oneline I'd love to see them.

Fall 2024 FreeBSD Summit

On the 7th and 8th of November 2024 there will be a FreeBSD Summit kindly hosted by NetApp in their San Jose campus.

So far the program includes:

  • Pawel Dawidek, Fudo Security on "FreeBSD Security Improvements"
  • Dorr Clark, NetScaler on “Using FreeBSD in Products"
  • George Neville-Neil on "OSDB: Turning the Tables on Kernel Data"
  • Dr. Marshall Kirk McKusick on “History of the BSD Daemon”
  • And more!

The summit is open to the public, with a registration fee of US $150.

Registration and event information is available here:

axgbe CFT

zlei@ has an open call for testing for come changes to the axgbe driver. This changes how the axgbe driver handles the promisc flag, zlei@ doesn't have hardware available to test. If you use axgbe then you should test and report results on the phabricator review.

https://reviews.freebsd.org/D46794

Transport

Oddly not TCP caught in my filter this week, but there have been some improvements around the SCTP API.

tuexen@ has been doing some review of locking and socket options. Generally the socket layer is quite complex, getting this right is difficult.

Netdev

kbowling@ MFC'd a lot of stuff from the Intel driver changes we covered the past two weeks. That is great news if you are on a stable branch of FreeBSD.

A big change is the re-addition of Adaptive Interrupt Mode for the e1000 series NICS (including lem , em and igb ). AIM gives a balance between latency when there are relatively low packet rates and performance when the link is very busy.

In most cases kbowling@ says:

this might be worth a few sys% on common CPUs, but may be meaningful when
multiplied such as if_lagg, if_bridge and forwarding setups.

In WiFi land bz@ landed a nice rtw89 panic fix:

And we see some other bits of tidying up in cxgbe , mlx5 and iflib .

Firewalls

A mixture of tidy ups with several changes coming through from OpenBSD. If I were to guess (and I am!) many of these are from presentations and conversations at EuroBSDCon. If I were to ask kp@ he would tell me this was part of an ongoing continuous maintenance project sponsored by Netgate.

And the continued netlinkification of pf .

igoro@ made some tidy up commits to dummymbuf. While I have seen commits go by I hadn't looked into dummymbuf(4) yet. This is test kernel module for unusual mbuf layouts which hooks into the pfil (firewall) layer.

For continued compatibility with libpcap some struct definitions for pflogd were moved out of the header file, preventing others from using them.

User Tooling

Fix stopping sendmail during shutdown.

And finally a big change to kyua, skipped tests no longer report as passing.

Please Send Feedback

As with last week are are at ~50 minutes as I get to this part of the report.

I am going to disseminate this one much further, probably to the freebsd-net and current mailing lists.

I would love to know if this summary was any help, if it was, or if you think I should cover other thing please let me know (thj@freebsd.org).

If you find a typo or have a correct let me know and I'll thank you at the end here.

  • Boris asked for there to be an rss feed, so there is now one here
  • Graham Perrin hight lighted a typo in the tags ( tags->tag ) link.
  • Jim Thompson told me off for guessing.

You can see all prior posts here. ( rss )


My work on FreeBSD is supported by the FreeBSD Foundation , you can contribute to improving FreeBSD with code, documentation or financially by donating to the FreeBSD Foundation .