• FreeBSD Quarterly Status Report - First Quarter 2022 (1/2)

    From Lorenzo Salvadore@21:1/5 to All on Sat Jun 11 16:00:02 2022
    FreeBSD Quarterly Status Report First Quarter 2022

    As things are yet again settling into a new normal, it’s once again time for a
    status report for the FreeBSD Project.

    You may have noticed that this report is also a little on the late side, and it’s with regret that it’s taken this long to get to it - however, thanks to a
    few kind souls who’ve stepped up to the plate, in addition to the folks on the
    team who do things quietly in the background, future reports should hopefully be more on time.

    So let’s get some introductions in order, as yours truly is delighted to accept
    a hand from Pau Amma who already has been helping with reviews for a while, Lorenzo Salvadore who is stepping up to get some tooling in place to make it less of a chore to make the reports, as well as Sergio Carlavilla who is stepping up to help with all the work that can’t be easily automated.

    This report covers a very diverse set of topics including but not limited to accessibility, system boot speed-up, an implementation of GEOM union, changes to the WiFi situation, and many other things.

    We hope you’ll enjoy reading it!

    Daniel Ebdrup Jensen, on behalf of the status report team.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    A rendered version of this report is available here: https://www.freebsd.org/status/report-2022-01-2022-03/

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Table of Contents

    • FreeBSD Team Reports
    □ FreeBSD Foundation
    □ FreeBSD Release Engineering Team
    □ Cluster Administration Team
    □ Continuous Integration
    □ Ports Collection
    • Projects
    □ FreeBSD Accessibility
    □ Boot Performance Improvements
    • Kernel
    □ ENA FreeBSD Driver Update
    □ A New GEOM Facility, gunion
    □ Realtek Wireless driver support
    □ Intel Wireless driver support and LinuxKPI 802.11 compatibility layer
    □ Kernel Crypto changes to support WireGuard
    • Documentation
    □ Documentation Engineering Team
    • Ports
    □ KDE on FreeBSD
    □ Elsewhere
    □ FreeBSD Office Team
    □ lang/gcc* ports need some love and attention
    □ PortConfig
    □ Wifibox: Use Linux to drive your wireless card on FreeBSD
    • Third Party Projects
    □ helloSystem
    □ Containers and FreeBSD: Pot, Potluck and Potman
    □ Fpart and fpsync

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Team Reports

    Entries from the various official and semi-official teams, as found in the Administration Page.

    FreeBSD Foundation

    Links:
    FreeBSD Foundation URL: https://www.FreeBSDFoundation.org
    Technology Roadmap URL: https://FreeBSDFoundation.org/blog/technology-roadmap/ Donate URL: https://www.FreeBSDFoundation.org/donate/
    Foundation Partnership Program URL: https://www.FreeBSDFoundation.org/ FreeBSD-foundation-partnership-program
    FreeBSD Journal URL: https://www.FreeBSDFoundation.org/journal/
    Foundation News and Events URL: https://www.FreeBSDFoundation.org/ news-and-events/

    Contact: Deb Goodkin <deb@FreeBSDFoundation.org>

    The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the FreeBSD Project and community worldwide. Donations from individuals and corporations are used to fund and manage software development projects, conferences, and developer summits. We also provide travel grants to FreeBSD contributors, purchase and support hardware to improve and maintain FreeBSD infrastructure, and provide resources to improve security, quality assurance, and release engineering efforts. We publish marketing material to promote, educate, and advocate for the FreeBSD Project, facilitate collaboration between commercial vendors and FreeBSD developers, and finally, represent the FreeBSD Project in executing contracts, license agreements, and other legal arrangements that require a recognized legal entity.

    Here are some highlights from the Foundation for the first quarter of 2022.

    Fundraising Efforts

    As promised, we updated our fundraising meter for 2022. So far, we’ve raised over $84,000 towards our 2022 goal of $1,400,000. We’d like to thank our individual and corporate donors for supporting our efforts this year. We’d also
    like to give a big shout out to our Gold Sponsor, Facebook, Silver Sponsors, VMware and Tarsnap, and the companies that provide free hosting for the Project: Bytemark, 365 Data Centers, NYI, NextArray, Sentex Data Communications, and the Computer Science Department at NCTU.

    You can find out how we spent your donations by reading about what we supported in Q1, in this report, and our Spring Newsletter.

    If you haven’t made a donation this year, please consider making a donation now
    at https://freebsdfoundation.org/donate/.

    We also have a Partnership Program for larger commercial donors. You can find out more at https://freebsdfoundation.org/our-donors/ freebsd-foundation-partnership-program/

    OS Improvements

    During the first quarter of 2022, 372 src, 41 ports, and 16 doc tree commits were made that identified The FreeBSD Foundation as a sponsor. # This represents 16, 0.4, and 5% of the total number of commits in each repository.

    You can read about Foundation-sponsored projects in individual quarterly report entries:

    • Crypto changes for WireGuard

    • Intel Wireless driver support

    Here is a small sample of other base system improvements from Foundation developers this quarter that do not have separate report entries.

    riscv: Add support for enabling SV48 mode

    SV48 is intended for systems for which a 39-bit virtual address space is insufficient. This change increases the size of the user map from 256GB to 128TB. The kernel map is left unchanged for now.

    For now SV48 mode is left disabled by default, but can be enabled with a tunable. Note that extant hardware does not implement SV48, but QEMU does.

    • In pmap_bootstrap(), allocate a L0 page and attempt to enable SV48 mode. If
    the write to SATP doesn’t take, the kernel continues to run in SV39 mode.

    • Define VM_MAX_USER_ADDRESS to refer to the SV48 limit. In SV39 mode, the
    region [VM_MAX_USER_ADDRESS_SV39, VM_MAX_USER_ADDRESS_SV48] is not
    mappable.

    Add v3 support to CTF tools

    CTF, the Compact C Type Format, is a representation of type information most often contained within ELF binaries. This type information is helpful for probing tools like DTrace. Recent work by Mark Johnston allows different Dtrace providers like the FBT (Function Boundary Tracing) provider to work with version 3 of CTF.

    FreeBSD on the Framework Laptop

    Two Foundation staff members, Ed Maste and Mark Johnston, as well as a few developers and community members now each have access to Framework laptops, which are designed to make hardware upgrades, repairs, and customizations straightforward for the average user. The goal of this work is to ensure that the experience running FreeBSD on the laptops matches the stability that FreeBSD users expect.

    Recent improvements and fixes include:

    • Making audio switch appropriately between speakers and the headphone jack
    when headphones are plugged in or unplugged

    • Fixing bug 259230, which would cause a Framework laptop to reboot or power
    off when the touchpad was used.

    • Adding the Tempo Semiconductor 92HD95B HDA codec ID

    • Temporarily fixing stalled usb enumeration, bluetooth, and S3 resume. The
    temporary fix is to avoid attaching to several newer Intel controllers,
    which require firmware to be loaded, which is different from that
    implemented by ng_ubt_intel and iwmbtfw, so they are not usable yet.

    • Avoiding a 16 second boot delay, by probing the TSC frequency earlier. This
    lets us use the TSC to implement early DELAY, limiting the use of the
    sometimes-unreliable 8254 PIT.

    You can follow news about FreeBSD work on the Framework laptop at: https:// wiki.freebsd.org/Laptops/Framework_Laptop.

    Continuous Integration and Quality Assurance

    The Foundation provides a full-time staff member and funds projects to improve continuous integration, automated testing, and overall quality assurance efforts for the FreeBSD project.

    Supporting FreeBSD Infrastructure

    The Foundation provides hardware and support for the Project. At the time of writing, the server that will become the new Australian mirror has arrived in Australia, has a fresh FreeBSD install and will shortly join the cluster.

    FreeBSD Advocacy and Education

    Much of our effort is dedicated to Project advocacy. This may involve highlighting interesting FreeBSD work, producing literature, attending events, or giving presentations. The goal of the literature we produce is to teach people FreeBSD basics and help make their path to adoption or contribution easier. Other than attending and presenting at events, we encourage and help community members run their own FreeBSD events, give presentations, or staff FreeBSD tables.

    The FreeBSD Foundation sponsors many conferences, events, and summits around the globe. These events can be BSD-related, open source, or technology events geared towards underrepresented groups. We support the FreeBSD-focused events to help provide a venue for sharing knowledge, working together on projects, and facilitating collaboration between developers and commercial users. This all helps provide a healthy ecosystem. We support the non-FreeBSD events to promote and raise awareness of FreeBSD, to increase the use of FreeBSD in different applications, and to recruit more contributors to the Project. We are continuing to attend virtual events and began planning the June 2022 Developer Summit.

    Check out some of the advocacy and education work we did last quarter:

    • Committed to hosting a FreeBSD Workshop at SCALE 19x and serve as a Media
    Sponsor - July 28-31, 2022 in Los Angeles, CA

    • Participated in the FLOSS Weekly Podcast - January 5, 2022 https://twit.tv/
    shows/floss-weekly/episodes/662

    • Sent out the 2021 Impact Report showcasing how we supported the Project
    last year. https://freebsdfoundation.org/blog/
    2021-freebsd-foundation-impact-report/

    • Hosted a stand at FOSDEM 2022 - Videos from the stand can be found at:
    https://youtube.com/playlist?list=PLugwS7L7NMXxwqIRg1PlhgzhNRi1eVdRQ

    • Participated in the Open Source Voices Podcast - Episode to be aired in
    late April [note from status report team: the episode has indeed be aired
    and is now available at https://www.opensourcevoices.org/29; unfortunately,
    there is and will be no transcript.]

    • Began planning the June 2022 FreeBSD Developers Summit taking place
    virtually, June 16-17, 2022 https://wiki.freebsd.org/DevSummit/202206

    • Held a new FreeBSD Friday - How to Track FreeBSD Using Git Pt. 2 https://
    youtu.be/Fe-dJrDMK_0

    • Presented at the St. Louis Unix User Group on March 9, 2022 https://ow.ly/
    1QXn50Ivj75

    • Served as Admins and were accepted as a mentoring organization for the 2022
    Google Summer of Code

    • Held an Office Hours session on Google Summer of Code. https://youtu.be/
    x-4U1xurmBE

    • Hosted a booth at the virtual Open Source 101 conference on March 29, 2022

    • New blog posts:

    □ RAID-Z Expansion Feature for ZFS In the Home Stretch

    □ What’s Ahead for FreeBSD and the Foundation in 2022

    □ Work with FreeBSD in Google Summer of Code

    • New How-To Guide: An Introduction to FreeBSD Jails

    • New FreeBSD Journal Article: Contributing to FreeBSD ports with Git

    We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. As we mentioned previously, the FreeBSD Journal is now a free publication. Find out more and access the latest issues at https:// www.FreeBSDfoundation.org/journal/

    You can find out more about events we attended and upcoming events at https:// www.FreeBSDfoundation.org/news-and-events/.

    Legal/FreeBSD IP

    The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise.

    Go to https://www.FreeBSDFoundation.org to find more about how we support FreeBSD and how we can help you!

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Release Engineering Team

    Links:
    FreeBSD 13.1-RELEASE schedule URL: https://www.freebsd.org/releases/13.1R/ schedule/
    FreeBSD 13.1 Release Information URL: https://www.freebsd.org/releases/13.1R/ [link added by status report team as this quarterly status report is being published after 13.1-RELEASE has been released]
    FreeBSD releases URL: https://download.freebsd.org/ftp/releases/ISO-IMAGES/ FreeBSD development snapshots URL: https://download.freebsd.org/ftp/snapshots/ ISO-IMAGES/

    Contact: FreeBSD Release Engineering Team, <re@FreeBSD.org>

    The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things.

    During the first quarter of 2022, the Release Engineering Team completed work on, and submitted to the developers the 13.1-RELEASE schedule. This will be the second point release from the stable/13 branch. As of this writing, three BETA builds have been run, with at least two RC builds before the final release, currently scheduled for April 21, 2022.

    We look forward to another consistently stable release at the end of this cycle, as well as many more to come for other branches moving forward.

    Additionally throughout the quarter, several development snapshots builds were released for the main, stable/13, and stable/12 branches.

    Sponsor: Rubicon Communications, LLC ("Netgate") Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Cluster Administration Team

    Links:
    Cluster Administration Team members URL: https://www.freebsd.org/administration /#t-clusteradm

    Contact: Cluster Administration Team <clusteradm@FreeBSD.org>

    FreeBSD Cluster Administration Team members are responsible for managing the machines the Project relies on to synchronise its distributed work and communications. In this quarter, the team has worked on the following:

    • Improved web service performance and security

    □ Moved some critical services to newer machines

    □ Swept all services to ensure the support of TLS v1.2 and v1.3 and
    disable v1 and v1.1

    □ Enabled dual-stack certificates for the primary FreeBSD web services.
    ECDSA and RSA certificates, preferring ECDSA, discussed with secteam@,
    benefit the project in favor of security and performance matter.

    • Infrastructure improvements at primary site

    □ Evicted some very old hardware

    □ Moved cluster internal services to newer hardware

    ☆ Build host

    ☆ Parts of LDAP, kerberos, DNS and NTP

    • Installed an additional aarch64 package builder

    □ ampere3.nyi.freebsd.org

    □ Identical specs to ampere[12].nyi.freebsd.org

    • Moved ftp0.nyi.freebsd.org to an aarch64 machine.

    • Main distributed mirror site, download.freebsd.org, enhancements

    □ Updated offline documentation (PDF and HTML) in the mirrors.
    The old directory /doc is now on ftp-archive; it contains files prior
    to the Hugo/Asciidoctor migration.

    □ Moved ports INDEX files to distributed mirror, download.freebsd.org

    □ Removed /ftp from the canonical URLs of files on download.freebsd.org.
    Old URLs are still valid.

    • Cleanup of Handbook/Mirrors section
    Much stale information; now there is more info about the official mirrors
    and locations. Former official mirrors are now named 'Community mirrors'.

    • Ongoing day to day cluster administration

    □ Cluster refresh

    □ Replacing failed disks

    □ Babysitting pkgsync

    Work in progress:

    • Improve the package building infrastructure

    • Review the service jails and service administrators operation

    • Set up powerpc pkgbuilder/ref/universal machines

    • Search for more providers that can fit the requirements for a generic
    mirrored layout or a tiny mirror

    • Work with doceng@ to improve https://www.freebsd.org and https://
    docs.freebsd.org

    • Improve the web service architecture

    • Improve the cluster backup plan

    • Improve the log analysis system

    • Set up Australia mirror

    • Hardware refresh

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Continuous Integration

    Links:
    FreeBSD Jenkins Instance URL: https://ci.FreeBSD.org
    FreeBSD CI artifact archive URL: https://artifact.ci.FreeBSD.org
    FreeBSD Jenkins wiki URL: https://wiki.freebsd.org/Jenkins
    Hosted CI wiki URL: https://wiki.freebsd.org/HostedCI
    3rd Party Software CI URL: https://wiki.freebsd.org/3rdPartySoftwareCI
    Tickets related to freebsd-testing@ URL: https://preview.tinyurl.com/y9maauwg FreeBSD CI Repository URL: https://github.com/freebsd/freebsd-ci
    dev-ci Mailing List URL: https://lists.freebsd.org/subscription/dev-ci

    Contact: Jenkins Admin <jenkins-admin@FreeBSD.org>
    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>
    Contact: freebsd-testing Mailing List
    Contact: IRC #freebsd-ci channel on EFNet

    The FreeBSD CI team maintains the continuous integration system of the FreeBSD project. The CI system checks the committed changes can be successfully built, then performs various tests and analysis over the newly built results. The artifacts from those builds are archived in the artifact server for further testing and debugging needs. The CI team members examine the failing builds and unstable tests and work with the experts in that area to fix the code or adjust test infrastructure.

    During the first quarter of 2022, we continued working with the contributors and developers in the project to fulfil their testing needs and also keep collaborating with external projects and companies to improve their products and FreeBSD.

    Important changes:

    • DTrace tests are running with KASAN now.

    • Fixed and resumed the powerpc64le test jobs.

    Retired jobs:

    • The jobs of main branch on mips* were removed.

    Work in progress and open tasks:

    • Designing and implementing pre-commit CI building and testing (to support
    the workflow working group)

    • Designing and implementing use of CI cluster to build release artifacts as
    release engineering does

    • Collecting and sorting CI tasks and ideas here

    • Testing and merging pull requests in the FreeBSD-ci repo

    • Reducing the procedures of CI/test environment setting up for contributors
    and developers

    • Setting up the CI stage environment and putting the experimental jobs on it

    • Setting up public network access for the VM guest running tests

    • Implementing using bare metal hardware to run test suites

    • Adding drm ports building tests against -CURRENT

    • Planning to run ztest tests

    • Adding more external toolchain related jobs

    • Improving maturity of the hardware lab and adding more hardware under test

    • Helping more software get FreeBSD support in its CI pipeline (Wiki pages:
    3rdPartySoftwareCI, HostedCI)

    • Working with hosted CI providers to have better FreeBSD support

    Please see freebsd-testing@ related tickets for more WIP information, and don’t
    hesitate to join the effort!

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Ports Collection

    Links:
    About FreeBSD Ports URL:https://www.FreeBSD.org/ports/
    Contributing to Ports URL: https://docs.freebsd.org/en/articles/contributing/# ports-contributing
    FreeBSD Ports Monitoring URL: http://portsmon.freebsd.org/
    Ports Management Team URL: https://www.freebsd.org/portmgr/
    Ports Tarball URL: http://ftp.freebsd.org/pub/FreeBSD/ports/ports/

    Contact: René Ladan <portmgr-secretary@FreeBSD.org>
    Contact: FreeBSD Ports Management Team <portmgr@FreeBSD.org>

    The Ports Management Team is responsible for overseeing the overall direction of the Ports Tree, building packages, and personnel matters. Below is what happened in the last quarter.

    Before we start with the usual statistics, portmgr is happy to announce it has successfully restarted its lurker program. The first two lurkers are pizzamig@ and se@; they will learn about the inner workings of portmgr and bring in new ideas.

    Portmgr also started having bi-weekly meetings, some public results are: * restarting the lurker program * fixes to ports going backwards in version * dropping DragonFlyBSD version checks in bsd.port.mk * dropping deprecation notes from ports transitively using Python 2.7

    Currently we have over 46,800 ports in the Ports Tree. There are currently 2,700 open ports PRs of which 680 are unassigned. The last quarter saw 9,403 commits to the main branch by 157 committers and 683 commits to the 2022Q1 branch by 63 committers. Compared to last quarter, this means a slight drop in activity to the main branch and a slight increase in the number of open PRs.

    No new committers joined during the last quarter, portmgr took koobs@' commit bit in for safekeeping because of a lack of recent commits.

    The cluster administration team has provided portmgr with a third aarch64 builder; it is being used for package builds.

    Things that happened in git: * Two new USES were introduced: elfctl to change an ELF binary’s feature control note minizip to get the correct library dependency on minizip * Two keywords got removed: fcfontsdir (now handled by USES=fonts) glib-schemas, it has been replaced by a trigger * Default versions that changed: Lazarus switched to 2.2.0 PHP switched to 8.0 * Some upgrades to major ports: Chromium 100.0.4896.60 Electron 13.6.9 Firefox 99.0 Firefox ESR 91.8.0 Gnome 41 KDE Frameworks 5.92.0 ** KDE Plasma 5.24.4

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Projects

    Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects.

    FreeBSD Accessibility

    Links:
    Accessibility wiki page URL: https://wiki.freebsd.org/Accessibility
    List introduction, goals, audience, and ground rules URL: link:https:// lists.freebsd.org/archives/freebsd-accessibility/2021-October/000000.html

    Contact: Pau Amma <pauamma@gundo.com>
    Contact: FreeBSD accessibility discussions <freebsd-accessibility@freebsd.org>

    Over the past several months, I’ve started putting together tools and resources
    to help make the FreeBSD ecosystem (more) accessible to people with disabilities:

    • a mailing list

    • a set of wiki pages including resources and a categorized wish list

    • tooling including a searchable accessibility Bugzilla keyword and an
    accessibility Phabricator group

    I need all the help I can get with:

    • specifying, designing, implementing, and testing the items on the wishlist

    • adding to the wishlist in areas were have little or no experience or for
    things I missed

    • moving beyond software and documentation to processes and culture

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Boot Performance Improvements

    Links:
    Wiki page URL: https://wiki.freebsd.org/BootTime
    OS boot time comparison URL: https://www.daemonology.net/blog/ 2021-08-12-EC2-boot-time-benchmarking.html

    Contact: Colin Percival <cperciva@FreeBSD.org>

    Colin Percival is coordinating an effort to speed up the FreeBSD boot process. For benchmarking purposes, he is primarily using an EC2 c5.xlarge instance as a reference platform and is measuring the time between when the virtual machine enters the EC2 "running" state and when it is possible to SSH into the instance.

    This work started in 2017, and as of the end of December 2021 the FreeBSD boot time was reduced from approximately 30 seconds to approximately 10 seconds. During 2022Q1, further improvements have shaved more time off the boot process, taking it down to roughly 8 seconds

    Two major issues remain outstanding:

    1. The first time an EC2 instance boots, dhclient takes about 2 seconds longer
    than normal to get an IPv4 address. The cause of this is unknown and
    requires investigation.

    2. IPv6 configuration includes two one-second-long sleep(1) invocations, one
    from /etc/rc.d/netif and the other from /etc/rc.d/rtsold. It might be
    possible to simply remove these; but care is needed to avoid progressing
    too far in the boot process before IPv6 addresses are configured. Input
    from IPv6 experts is required here.

    Issues are listed on the wiki page as they are identified; the wiki page also has instructions for performing profiling. Users are encouraged to profile the boot process on their own systems, in case they experience delays which don’t show up on the system Colin is using for testing.

    This work is supported by Colin’s FreeBSD/EC2 Patreon.

    Sponsor: https://www.patreon.com/cperciva

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Kernel

    Updates to kernel subsystems/features, driver support, filesystems, and more.

    ENA FreeBSD Driver Update

    Links:
    ENA README URL: https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ ena/README

    Contact: Michal Krawczyk <mk@semihalf.com>
    Contact: Dawid Gorecki <dgr@semihalf.com>
    Contact: Marcin Wojtas <mw@semihalf.com>

    ENA (Elastic Network Adapter) is the smart NIC available in the virtualized environment of Amazon Web Services (AWS). The ENA driver supports multiple transmit and receive queues and can handle up to 100 Gb/s of network traffic, depending on the instance type on which it is used.

    Completed since the last update:

    • Add IPv6 layer 4 checksum offload support to the driver

    • Add NUMA awareness to the driver when the RSS kernel option is enabled

    • Rework validation of the Tx request ID

    • Change lifetime of the driver’s timer service

    • Avoid reset triggering when the device is unresponsive

    Work in progress:

    • Prototype the driver port to the iflib framework

    • Tests of the incoming ENA driver release (v2.5.0)

    Sponsor: Amazon.com Inc

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    A New GEOM Facility, gunion

    Contact: Marshall Kirk McKusick <mckusick@mckusick.com>

    The gunion facility is used to track changes to a read-only disk on a writable disk. Logically, a writable disk is placed over a read-only disk. Write requests are intercepted and stored on the writable disk. Read requests are first checked to see if they have been written on the top (writable disk) and if found are returned. If they have not been written on the top disk, then they are read from the lower disk.

    The gunion facility can be especially useful if you have a large disk with a corrupted filesystem that you are unsure of how to repair. You can use gunion to place another disk over the corrupted disk and then attempt to repair the filesystem. If the repair fails, you can revert all the changes in the upper disk and be back to the unchanged state of the lower disk thus allowing you to try another approach to repairing it. If the repair is successful you can commit all the writes recorded on the top disk to the lower disk.

    Another use of the gunion facility is to try out upgrades to your system. Place the upper disk over the disk holding your filesystem that is to be upgraded and then run the upgrade on it. If it works, commit it; if it fails, revert the upgrade.

    The gunion(8) utility is used to create and manage an instance of a gunion. Further details and usage examples can be found in the gunion(8) manual page. At this time, gunion(8) is available only in 14.0.

    Sponsor: Netflix

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Realtek Wireless driver support

    Links:
    rtw88 status FreeBSD wiki page URL: https://wiki.freebsd.org/WiFi/Rtw88
    rtw89 status FreeBSD wiki page URL: https://wiki.freebsd.org/WiFi/Rtw89

    Contact: Bjoern A. Zeeb <bz@FreeBSD.org>

    While the Intel Wireless driver update project is the main driver behind the work to bring support for newer chipsets and eventually newer IEEE 802.11 standards support, there is also an ongoing effort to support more drivers. The next two drivers in the (already longer) queue are Realtek’s rtw88 and rtw89.

    While the initial driver porting efforts for rtw88 and rtw89 happened on personal time, the LinuxKPI integration has to be done more and more along the Intel wireless driver work and so thanks are also due to The FreeBSD Foundation.

    The rtw88 driver has started to work on some machines with less than 4GB of main memory and was committed to the FreeBSD git repository for broader testing. While our version of the driver is aware of these limitations, the problem is currently assumed to be outside the driver in the interactions with LinuxKPI and busdma.

    The rtw89 driver has happily started to send packets and has problems receiving frames at this point. Further investigation will happen as soon as rtw88 is sorted out and it is expected that rtw89 will then also timely follow into FreeBSD’s git repository.

    The currently known requirements to compile both drivers have mostly gone into stable/13 and releng/13.1 already.

    For the latest state of the development, please check the referenced wiki pages and follow the freebsd-wireless mailing list.

    Sponsor: The FreeBSD Foundation (partly)

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Intel Wireless driver support and LinuxKPI 802.11 compatibility layer

    Links:

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)