FreeBSD Network Status Week 49 2024
Goings on
BSD Devroom at FOSDEM 2024
The CFP for the BSD Devroom at FOSDEM closed over the weekend, submitters have been told to expect responses on the 15th of December. I'll provide a run down of upcomming talks in the first status update of 2025.
FreeBSD 14.2 was released
Congratulations to everyone involved and a big thanks to the RE team for getting FreeBSD 14.2 out. The release notes are here
CFT for rtwn, ath and iwn
hi!
I've been working on some net80211 clean-ups and rtwn bugfixes in
preparation for getting the 11ac support for rtwn landed into the tree.
If you're using rtwn, ath or iwn then the latest stuff I've done in -HEAD
may affect you. Please update to the latest -HEAD and let me know if
anything has regressed! (or if it still works fine, that'd be nice to know
too!)
thanks,
-adrian
adrian@ posted a cft for users of rtwn, ath and iwn after recent CURRENT changes
Network Stack
Lots of tidying in netlink.
-
29f6150256c2 netlink: use nitems() and roundup(2) from param.h
-
fe048349c63c netlink: use proper argument types in genl_register_family()
-
6380058fe5b5 netlink: use correct uint16_t type for attribute type & length
-
f1c6edba885f netlink: use size_t through the allocation KPI
-
0601c0f989f2 netlink: check buffer length fits into u_int
-
a034c0aeccd8 netlink: refactor writer initialization KPI
-
edf5608bfef3 netlink: use bitset(9)
-
ac84ce05c121 netlink: consistently use uint16_t for family id
Tidying in
in6_pcbbind
. This is a very difficult part of the network stack to
work in and tidying here makes things much easier.
-
01f8ce83242d inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup()
-
ffb3d384fc1d inpcb: Fix the GENERIC-NODEBUG build
Transport
Tidy ups in
tcp_hpts
.
-
b2bde8a6d391 tcp_hpts: consistenly use macros to lock & unlock
-
5cb73dbe4820 tcp_hpts: use booleans for tcp_hptsi() local variables
-
63446fd35421 tcp_hpts: use boolean to tell is it callout or userret context
Netdev
Tie receive packet headers to the correct NUMA domain, this sort of change can help a lot in systems with multiple NUMA domains to reduce cross domain traffic. This happening in iflib makes it 'free' for all iflib drivers.
Add a big list of skus to igc
adrian@ landed some macros that help with handling ht rates, this makes drivers cleaner:
-
c6b44f64c330 net80211: add helper functions for determining HT transmit parameters
-
6749f059a586 rtwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40()
-
e1eff81ea99c rtwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40()
-
057db5b227d0 iwn: use ieee80211_ht_check_tx_ht()
-
2014462da5b3 amrr: remove duplicate logic, use ieee80211_ht_check_tx_ht()
-
3f62f8ef5e40 iwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40()
-
3d54d9e364f8 ath: use the new net80211 methods for AMPDU density/limit, short-GI
and he landed a bunch of improvements to rtwn from debugging. Chat in the wifi irc channel suggest that rtwn might get a lot faster soon. If you use rtwn you should test HEAD now to help catch any regressions.
-
fcb5e8d0c19a rtwn: don't do 64 bit TSF extension by default
-
81aef988acc7 rtwn: remove the conditional compilation around the sc_ht40 option.
-
05c3851b20e0 rtwn: enable receiving AMSDU in AMPDU
-
d76247e801de rtwn: enable FCS in the recive config to work around truncated frames
-
4fa68495f04f rtwn: fix rtl8812/rtl8821 vht definitions, add VHT calibration/rate control
-
77e64f45c478 rtwn: use ieee80211_ht_get_node_ampdu_density(), fix programming MAX_AGG
bz@ has landed HT and VHT improvements for the Linux KPI.
-
a0e45db6f6eb contrib/wpa: pass IFM_IEEE80211_VHT5G if vht_enabled on the channel
-
243f6925bf81 net80211: 11ac: add options to manage VHT STBC
-
116102101a56 net80211: name IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_{NONE -> NO160}
-
4294f1cac153 net80211: add missing reference for struct ieee80211_vht_mcs_info
-
943a19c666d6 LinuxKPI: 802.11: make HT compile again
-
30d2f84ef2cb LinuxKPI: firmware: change order filenames trying to load firmware
Firewalls
Following up on the pf EIM NAT support Damjan Jovanovic has implemented support for EIM NAT for libalias users. If you use ipfw, ppp or netgraph you can now experiment with a more transparent NAT mapping.
-
61bf830cbb26 libalias: Add support for EIM NAT
-
f132be9bac5f netgraph: Enable support for EIM NAT
-
cb21fa3d0d26 ppp: Enable support for EIM NAT
-
ef18594985c0 natd: Enable support for EIM NAT
-
b6c90b909905 ipfw : Enable support for EIM NAT
Some stability fixes in pf and potential panic fixes.
-
ad6562ec858f pf: Don't pfsync states with unrecoverable routing information
-
f966ef3a6770 pf: fold if (s != NULL) and if (s) into one block
-
c22c98798456 pf: fix potential NULL dereference in SCTP multihome handling
-
c49c9da239ca pf: Move route-to information to rule actions
-
0dab21248bc9 pfkey: Fix some checks in kdebug_sadb()
Other stuff
First up, documentation of a wonderful hack from phk@ to show network traffic in bits per second by running with an 8 second interval. This had a few confused follow ups, it is so simple so people thought it couldn't possibly work.
Following on from the excellent Fall Summit talk by Ian from Metify on rural broadband, do a better job of documenting the cellular hardware we support.
I like the commit message on this one:
-
4d12c7b9df66 cu.1: describe better + tag spdx
cu.1: describe better + tag spdx Preserve over 40 years of "call UNIX" BSD heritage while answering "one line about what it does" e.g.
"how do I get a serial console?" "% apropos serial"
Make things easier for users to understand, but also preserve the past.
Please Send Feedback
That is all for this week. Next week will be the last report of the year, I'll be travelling (please say hi if you are at 38c3) and I think a report break might be nice.
The first report will probably be on the 10th of January, look for it where you found this one.
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 .