FreeBSD Network Status Week 40 2024
Here we are for round 2, last weeks report can be and a little context found here: FreeBSD Network Status Week 39 2024 .
All of the reports so far are available via the
networkstatus
tag on my blog.
Goings on
Since last week I haven't touched any of the tooling, I have been busy doing something else and it is a good exercise in making these reports "minimal touch". There are some manual edits in the generated template I have had to make today which I will roll into the generation script.
I do read my email (no matter what I might claim) so most commits going by aren't completely new to me.
I am yet to add tooling for getting reviews and interesting bugs, reviews I'm
not sure how to figure out as phabricator doesn't have a friendly API. My email
contains everything in
#transport
,
#network
and
#wireless
so worst case I
just read from email.
Bugzilla has a useable API, Mark Linimon (linimon@) is doing a heroic review of old bugs and squashing those which are out of date. That might be important for you for two reasons, if you have an old bug you care about you should respond to the bug email or it'll be closed and it makes a search of the form "what changed in the last week" far too noisy to interpret right now.
I still plan to include bugs and reviews though.
One point of discussion this week was support of NOINET6 in the kernel build. Users reported that NOINET6 build has been failing due to some changes in pf and two questions were raised. Why are you disabling IPv6 is left for a higher power to explain. Support for non-standard kernel builds is going to get a statement in the handbook or similar to clarify how what is expected of users and developers when running something other than GENERIC.
Anyway, what has been going on in the network stack this week?
My log command
git log --format="%h" --after="last week" --before="now"
found 133 commits from which I thought 39 were relevant for this update.
Transport
The regular
#transport
meeting occured
yesterday
. I think
a good summary of the meeting and the last week of commits is covered by the
second commit in my list 'small cleanup'. The
#transport
group make continual
progress and this call is tracking a few longer running reviews.
-
519981e3c09c tcp_output: Clear FIN if tcp_m_copym truncates output length
-
2eacb0841c7d tcp: small cleanup
-
57671d5ccc81 tcp: further cleanup old options
-
01eb635d1295 tcp: improve mbuf handling when processing SYN segments
-
a2e4f45480c2 tcp: whitespace cleanup
-
cbc9438f0505 tcp: improve ref count handling when processing SYN
I took the call as an opportunity to ask about netdump performance having done one for the first time. teuxen@ made some debugging suggestions and in email after the call we think performance should be ok on 'data center' links. Certainly better than the 5Mbit/s I saw in my test. I will do some more investigation once my current project starts generating enough crash dump to be a problem.
Netdev
Last week saw a flurry of driver updates, this week looks to just be follow ups to that work. Some commits to the Intel driver which were updated last week:
-
33ed9bdca307 igc: Add NVM/firmware prints and sysctl
-
a40ecb6f7405 igc: Remove non-existent legacy absolute and packet timers
-
1e3b1870ad2a ixgbe: Switch if_sriov read/write back to ixgbe_mbx APIs
-
911b3c3aa648 Revert "e1000: Remove redundant EITR shift from igb"
-
26439b57877c e1000: Remove redundant EITR shift from igb
-
9bf9164fc8aa e1000: Clean up ITR/EITR in preparation for AIM
And some tidy ups in other places:
-
7643141e9314 if_enc(4): Make enc_add_hhooks() void
-
9ba8670a8b17 cxgbe(4): Allow t4_tom to be unloaded safely.
-
cc110bbec6d2 cxgbe/t4_tom: Remove duplicate unlock in t4_tom_deactivate.
dougm@ has been doing some on the the rounding logic in libkern which hit mlx:
For WiFI there is some organising in LinuxKPI 80211.
Firewalls
Lots of change in pf, I would say this falls into the category of "continuous improvement". pf changes are about half of the network stack stuff I pulled out this week and while there are no major features. Small steps are how things get really good.
-
65074f6f3115 pf: fix double ruleset evaluation for fragments sent to dummynet
-
1c82bbd8650a pf: Fix NOINET and NOINET6 build.
-
e5c64b2662ff pf: replace union pf_krule_ptr with struct pf_krule in in-kernel structs
-
6bbef793552c pf: Remove struct pf_pdesc->nat_rule
-
1b745d8b23e4 pf: move normalisation into pf_setup_pdesc()
-
288bec2b2bd1 pf: fold pf_test_fragment() into pf_test_rule()
-
8e3d252901e8 pf: Split pf_map_addr()
-
37881f65eacd pf: pf_clear_srcnodes() is always called with NULL
-
86fc6f838ed2 pf: make pf_setup_pdesc() a static function
-
f8e994296328 pf: remove ip(6) header argument from pf_reassemble(6)()
-
39f615e90ca3 pf: rename the pf_pdesc field rh_cnt to badopts
-
7fe42038b269 pf: fix max-src-conn when rules are added via netlink
-
e8ff5e565c24 pf: fix incorrect parsing of state export filter
-
27f54be50bba pf: merge pf_test() and pf_test6()
-
c17a0f62da17 pf tests: use unique pid files for inetd processes
-
3ec4fbdd98f2 pf tests: Add test for max-src-states
-
6ffd4aeba5b9 pf tests: add a test for max-src-conn
User Tooling
Bug fixes in nfs and a robustness change in the dhclient code.
-
eb345e05ac66 nfsd: Fix close handling when vfs.nfsd.enable_locallocks=1
-
6df05714da16 Revert "nfscl: Enable support for the Lookup+Open RPC"
-
f321956d9806 nfsd.c: Synchronize error handling
-
38c63b52830c dhclient: Ignore vendor-identifying DHCP options defined in RFC 3925
Please Send Feedback
End of writing this week is at ~50 minutes this week, which makes two reports done at an hour each. I'll use those 10 minutes to fix the generation stuff I hand wrote today. Or make coffee.
Fewer tent pole features coming through, but those can't land everyday. I am in two minds about how frequently this should run, a monthly report would be more likely to always carry some meat, but then I would loose an entire Friday once a month to writing about work rather than doing it and I think that would make me a bit sad.
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: - mgdm
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 .