FreeBSD Network Status Week 39 2024
This is an experiment in creating tooling driven reports from the FreeBSD development ecosystem, git, code review and bug tracking. The goal is to provide an insight into what has happened in FreeBSD in the last little while, but with limited time to gather, assess and write up what is going on. I am only going to focus on "networking", which for this week was about a third of all commits to main (last week it was about half).
It is a process that will lead to things being missed, don't feel bad, let me know and I'll add the stuff you think is important.
This report was generated on Friday 27th September 2024 for the period between "last week" and "now" as git understand them. The git log command was:
git log --format="%h" --after="last week" --before="now"
With this report the tooling lets me take or leave commits and generates urls
and such, but only on the FreeBSD
main
branch. I'll add stable branches for
future reports, but first I want to see what can be done in the allotted time.
I also have searches and a little tooling for dealing with bugs (bugzilla) and reviews (phabricator), but neither of these platforms are as friendly to program as git. That should tell you what they are like.
I plan to write a few of these and if there is demand decided if the time investment is worth it. I'm only going to continue if I think it is worth the work.
Goings on
There are two important events invisible to the development system in the last week, EuroBSDcon and the accompanying DevSummit . While they could show up, it doesn't look like anyone used the "Event:" tag on a commit to main in apart from one GSoc commit earlier in the month.
Stab week
ran without much happening, there is 1 reported issue discovered with
ixl(4)
which has been
reverted
.
170 commits matched my log command and I thought 64 of them were "networking" based on a cursory glance.
Transport
The regular
#transport
meeting
coincided
with
the FreeBSD DevSummit. The next meeting is on the 3rd of October 2024, if you
have issues with transport protocols (TCP, UDP, SCTP) or the socket layer
please join, there is a public meeting link on each agenda page (
accessible
via this wiki page
). It is more
business like than chat ops, which helps us mostly keep the meetings to less
than the planned hour.
Two sets of changes landed in my filter, the MAC change is the first in some further work tidying up the MAC SYN code.
-
78e1b031d2e8 tcp: improve MAC error handling for SYN segments
-
2fb778fab893 MAC: improve handling of listening sockets
-
3f2792166aee MAC: improve consistency in error handling
The second are tidying up stuff in the TCP stack. The last remanent of a broken attempt to control burstiness of the TCP stack 20 years ago. We turned in back on a couple of years ago and I'm pretty sure it deadlocked connections immediately. TCP is very difficult.
-
a00c3a94bf64 tcp: remove remnants of 20+ year old disabled code from d912c694ee00
-
87fbd9fc7fc5 tcp: remove unused socket option names
Netdev
Most of the changes this week land in device drivers, it is most of the kernel after all.
bz@ did some git to add missing tracking for vendored Linux WiFi drivers. The commits are 'empty', but contain evil:
This was done using what I'd call "git magic" provided by Ed no one
else will hopefully ever need again.
-
e3b12ef6f74e Merge remote-tracking branch 'freebsd/vendor/Linux/rtw89'
-
3c0de76f06ef Merge remote-tracking branch 'freebsd/vendor/Linux/rtw88'
-
c9f9342a481d Merge remote-tracking branch 'freebsd/vendor/Linux/mt76'
-
bbd5885bfc15 Merge remote-tracking branch 'freebsd/vendor/Linux/iwlwifi'
-
d8f6658c9a37 Merge remote-tracking branch 'freebsd/vendor/Linux/ath12k'
-
182375d342bc Merge remote-tracking branch 'freebsd/vendor/Linux/ath11k'
-
114f709b088c Merge remote-tracking branch 'freebsd/vendor/Linux/ath10k'
-
413c5e9082a7 Merge remote-tracking branch 'freebsd/vendor/Linux/ath-common'
Improvements and updates to e1000 (igb, em) have been coming in from kbowling@, with igb updated to 2.25.28-fbsd:
-
930a1e6f3d2d e1000: Delay safe_pause switch until SI_SUB_CLOCKS
-
9bf9164fc8aa e1000: Clean up ITR/EITR in preparation for AIM
-
1c578f1c9311 e1000: Clean up legacy absolute and packet timers
-
c9021340a326 e1000: Add sysctl for igb(4) DMA Coalesce
-
2e78e568c268 e1000: Handle igb EEE sysctl
-
aa7d086ad946 e1000: Add sysctls for some missing MAC stats
-
5f6964d9fbf6 e1000: drop NEEDGIANT from em_sysctl_debug_info use
-
c11a0649b972 e1000: drop NEEDGIANT on em_sysctl_reg_handler uses
-
f6e1b5679211 e1000: remove NEEDGIANT from a couple sysctls
-
ddfec1fb6814 e1000: Update igb driver version to 2.5.28-fbsd
ix/ixgbe has been updated to the latest release (ix-3.3.38) from Intel .
-
e3a6e916dbba ixgbe: fix misleading indentation in ixgbe_phy
-
a924b5ee6a1b ixgbe: fix fw_recovery_mode callout
-
b6cd053e6da9 ixgbe: update if_sriov with ix-3.3.38 changes
-
f72de14ea132 ixgbe: update if_ix and ixgbe api with ix-3.3.38 changes
-
0acea458f82d ixgbe: update ixgbe_mbx with ix-3.3.38 changes
-
e06918b94ac4 ixgbe: update ixgbe_phy with ix-3.3.38 changes
-
c41a0eeea0d6 ixgbe: update if_bypass to ix-3.3.38
-
36c516b31136 ixgbe: update if_sriov to use the new mailbox apis
The ixl revert mentioned in the stab week report went in:
On top of this there has been a bunch of tidying up of old code in bfp, iflib and other places by zlei@.
Firewalls
Work has continued to keep FreeBSD pf the best tested firewall:
-
f28d5ac5c4a4 pf tests: fix max_states test
-
67bd1d072190 pf tests: Add max states test
-
6aeaadf68def pf tests: Remove nargs from single arguments
-
7b7e39221ec9 pf tests: Speed up divert-to.sh test cases
And some general tidying also landed.
-
4f9e688708f1 pf: merge pf_scrub_ip() and pf_scrub_ip6()
-
6d51791d2832 pf: remove pointless CURVNET_SET
-
905db4aa8877 pf: dedupe layer 4 protocol code in pf_setup_pdesc()
-
dd04fa71a8cb pf: remove unused argument 'h' from various function
-
93e96359c980 libpfctl: ensure we return useful error codes
User tooling
tcpdump has been updated to 4.99.5
There have been further commits to nuageinit, which I'm not sure is 100% on
topic for a network status report. I do think it is one of the most interesting
new tools to be added to FreeBSD for a long time and I'm hoping it'll get a
raft of documentation and features to remove the need for
cloud-init
cloud-init
at all.
netstat saw some small updates to libxo output and the ntp man page got some attention.
-
d00827a9ca0b Revert "netstat: Resolve duplicate "dropped-packets" key from libxo output"
-
674b96f58b9c netstat: Add missing "shutdown-ack-timer" key to libxo output
-
94567c8641e2 netstat: Resolve duplicate "dropped-packets" key from libxo output
-
c7a33fe37d76 ntp: Improve descriptions in man pages
Please send feedback
As I write this my timer is at 58 minutes , so the 1 hour goal seems doable.
I plan to add interesting bugs and reviews, once I figure out how to get them from the relevant places. Once the tooling is more than sparkling git log I'll put it up on a repo somewhere.
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.
Thanks to typos and feedback from: - mgdm - hibby
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 Foundation .