diff options
Diffstat (limited to 'website/content/en/status/report-2020-07-2020-09.html')
| -rw-r--r-- | website/content/en/status/report-2020-07-2020-09.html | 1927 |
1 files changed, 0 insertions, 1927 deletions
diff --git a/website/content/en/status/report-2020-07-2020-09.html b/website/content/en/status/report-2020-07-2020-09.html deleted file mode 100644 index 1126c22ef7..0000000000 --- a/website/content/en/status/report-2020-07-2020-09.html +++ /dev/null @@ -1,1927 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook"> - <head> - <title>FreeBSD Quarterly Status Report</title> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> - <link rel="shortcut icon" href="https://www.FreeBSD.org/favicon.ico" type="image/x-icon" /> - <link rel="stylesheet" media="screen,print" href="https://www.FreeBSD.org/layout/css/fixed.css?20130112" type="text/css" /> - - </head> - <body> - <div id="containerwrap"> - <div id="container"> - <span class="txtoffscreen"><a href="#content" title="Skip site navigation" accesskey="1">Skip site navigation</a> (1) - <a href="#contentwrap" title="Skip section navigation" accesskey="2">Skip section navigation</a> (2) -</span> - <div id="headercontainer"> - <div id="header"> - <h2 class="blockhide">Header And Logo</h2> - <div id="headerlogoleft"> - <a href="../.." title="FreeBSD"> - <img src="https://www.FreeBSD.org/layout/images/logo-red.png" width="457" height="75" alt="FreeBSD" /> - </a> - </div> - <div id="headerlogoright"> - <div class="frontdonateroundbox"> - <div class="frontdonatetop"> - <div> - <b style="display: none;">.</b> - </div> - </div> - <div class="frontdonatecontent"> - <a href="https://www.FreeBSDFoundation.org/donate/">Donate to FreeBSD</a> - </div> - <div class="frontdonatebot"> - <div> - <b style="display: none;">.</b> - </div> - </div> - </div> - <h2 class="blockhide">Peripheral Links</h2> - <div id="searchnav"> - <ul id="searchnavlist"></ul> - </div> - <div id="search"> - <form method="get" id="search-form" action="https://duckduckgo.com/" onsubmit="document.getElementById('words').value+=' (site:www.FreeBSD.org OR site:docs.FreeBSD.org OR site:lists.FreeBSD.org OR site:wiki.FreeBSD.org OR site:forums.FreeBSD.org)'"> - <h2 class="blockhide"> - <label for="words">Search</label> - </h2> - <input type="hidden" name="ka" value="v" /> - <input type="hidden" name="kt" value="v" /> - <input type="hidden" name="kh" value="1" /> - <input type="hidden" name="kj" value="r2" /> - <input id="words" name="q" type="text" size="20" maxlength="255" onfocus="if( this.value==this.defaultValue ) this.value='';" value="Search" /> - <span> </span> - <input id="submit" name="submit" type="submit" value="Search" /> - </form> - </div> - </div> - </div> - <h2 class="blockhide">Site Navigation</h2> - <div id="menu"> - <ul class="first"> - <li> - <a href="../../">Home</a> - </li> - </ul> - <ul> - <li> - <a href="../../about.html">About</a> - <ul> - <li> - <a href="../../projects/newbies.html">Introduction</a> - </li> - <li> - <a href="../../features.html">Features</a> - </li> - <li> - <a href="../../advocacy/">Advocacy</a> - </li> - <li> - <a href="../../marketing/">Marketing</a> - </li> - <li> - <a href="../../privacy.html">Privacy Policy</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../where.html">Get FreeBSD</a> - <ul> - <li> - <a href="../../releases/">Release Information</a> - </li> - <li> - <a href="../../releng/">Release Engineering</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../docs.html">Documentation</a> - <ul> - <li> - <a href="../../doc/en_US.ISO8859-1/books/faq/">FAQ</a> - </li> - <li> - <a href="../../doc/en_US.ISO8859-1/books/handbook/">Handbook</a> - </li> - <li> - <a href="../../doc/en_US.ISO8859-1/books/porters-handbook">Porter's Handbook</a> - </li> - <li> - <a href="../../doc/en_US.ISO8859-1/books/developers-handbook">Developer's Handbook</a> - </li> - <li> - <a href="//www.FreeBSD.org/cgi/man.cgi">Manual Pages</a> - </li> - <li> - <a href="https://papers.FreeBSD.org">Presentations and Papers</a> - </li> - <li> - <a href="../../doc/en_US.ISO8859-1/books/fdp-primer">Documentation Project Primer</a> - </li> - <li> - <a href="../../docs/books.html">All Books and Articles</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../community.html">Community</a> - <ul> - <li> - <a href="../../community/mailinglists.html">Mailing Lists</a> - </li> - <li> - <a href="https://forums.FreeBSD.org">Forums</a> - </li> - <li> - <a href="../../usergroups.html">User Groups</a> - </li> - <li> - <a href="../../events/events.html">Events</a> - </li> - <li> - <a href="http://freebsdjournal.com">FreeBSD Journal</a> - </li> - <li> - <a href="http://serverfault.com/questions/tagged/freebsd">Q&A (external)</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../projects/index.html">Developers</a> - <ul> - <li> - <a href="https://wiki.FreeBSD.org/IdeasPage">Project Ideas</a> - </li> - <li> - <a href="https://cgit.FreeBSD.org">Git Repository</a> - </li> - <li> - <a href="https://svnweb.FreeBSD.org">Subversion Repository</a> - </li> - <li> - <a href="https://github.com/freebsd">GitHub Mirror</a> - </li> - <li> - <a href="https://reviews.FreeBSD.org">Code Review (Phabricator)</a> - </li> - <li> - <a href="https://wiki.FreeBSD.org">Wiki</a> - </li> - <li> - <a href="https://ci.FreeBSD.org">Continuous Integration Service</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="../../support.html">Support</a> - <ul> - <li> - <a href="../../commercial/commercial.html">Vendors</a> - </li> - <li> - <a href="../../security/">Security Information</a> - </li> - <li> - <a href="https://bugs.FreeBSD.org/search/">Bug Reports</a> - </li> - <li> - <a href="https://www.FreeBSD.org/support.html">Submitting Bug Reports</a> - </li> - </ul> - </li> - </ul> - <ul> - <li> - <a href="https://www.freebsdfoundation.org/">Foundation</a> - <ul> - <li> - <a href="https://www.freebsdfoundation.org/donate/">Monetary Donations</a> - </li> - <li> - <a href="../../donations/index.html#systems">Hardware Donations</a> - </li> - </ul> - </li> - </ul> - </div> - </div> - <div id="content"> - <div id="sidewrap"> - <div id="sidenav"> - <h2 class="blockhide">Section Navigation</h2> - <ul> - <li> - <a href="../../about.html">About</a> - </li> - <li> - <a href="../../features.html">Features</a> - </li> - <li> - <a href="../../applications.html">Applications</a> - </li> - <li> - <a href="../../advocacy/">Advocacy</a> - </li> - <li> - <a href="../../marketing/">Marketing</a> - </li> - <li> - <a href="../../administration.html">Administration</a> - </li> - <li> - <a href="../../news/newsflash.html">News</a> - </li> - <li> - <a href="../../events/events.html">Events</a> - </li> - <li> - <a href="../../news/press.html">Press</a> - </li> - <li> - <a href="../../multimedia/multimedia.html">Multimedia</a> - </li> - <li> - <a href="../../art.html">Artwork</a> - </li> - <li> - <a href="../../logo.html">Logo</a> - </li> - <li> - <a href="../../donations/">Donations</a> - </li> - <li> - <a href="../../copyright/">Legal Notices</a> - </li> - <li> - <a href="../../privacy.html">Privacy Policy</a> - </li> - </ul> - </div> - </div> - <div id="contentwrap"><h1>Introduction</h1><p>This report covers FreeBSD related projects for the period between -July and September, and is the third of four planned reports for 2020. -</p><p>This quarter brings a good mix of additions and changes to the FreeBSD -Project and community, from a diverse number of teams and people covering -everything from architectures, continuous integration, wireless networking -and drivers, over drm, desktop and third-party project work, as well as -several team reports, along with many other interesting subjects too -numerous to mention. -</p><p>As the world is still affected by the epidemic, we hope that this report -can also serve as a good reminder that there is good work that can be done -by people working together, even if we're apart. -</p><p>We hope you'll be as interested in reading it, as we've been in making it.<br clear="none" /> -Daniel Ebdrup Jensen, on behalf of the quarterly team. -</p><hr /><h3><a href="#FreeBSD-Team-Reports">FreeBSD Team Reports</a></h3><ul><li><a href="#FreeBSD-Foundation">FreeBSD Foundation</a></li><li><a href="#FreeBSD-Release-Engineering-Team">FreeBSD Release Engineering Team</a></li><li><a href="#Cluster-Administration-Team">Cluster Administration Team</a></li><li><a href="#Continuous-Integration">Continuous Integration</a></li><li><a href="#Ports-Collection">Ports Collection</a></li><li><a href="#FreeBSD-Office-team---3rd-quarter-2020-report">FreeBSD Office team - 3rd quarter 2020 report</a></li><li><a href="#FreeBSD-Graphics-Team-status-report">FreeBSD Graphics Team status report</a></li></ul><h3><a href="#Projects">Projects</a></h3><ul><li><a href="#FreeBSD-on-Microsoft-HyperV-and-Azure">FreeBSD on Microsoft HyperV and Azure</a></li><li><a href="#Building-FreeBSD-on-non-FreeBSD-hosts">Building FreeBSD on non-FreeBSD hosts</a></li><li><a href="#Git-Migration-Working-Group">Git Migration Working Group</a></li><li><a href="#Linux-compatibility-layer-update">Linux compatibility layer update</a></li><li><a href="#LLDB-Debugger-Improvements">LLDB Debugger Improvements</a></li><li><a href="#Lua-usage-in-FreeBSD">Lua usage in FreeBSD</a></li><li><a href="#NFS-over-TLS-implementation">NFS over TLS implementation</a></li><li><a href="#syzkaller-on-FreeBSD">syzkaller on FreeBSD</a></li></ul><h3><a href="#Kernel">Kernel</a></h3><ul><li><a href="#DRM-Drivers-Update">DRM Drivers Update</a></li><li><a href="#DTS-Update">DTS Update</a></li><li><a href="#DesignWare-Ethernet-adapter-driver-improvements">DesignWare Ethernet adapter driver improvements</a></li><li><a href="#Google-Summer-of-Code’20-Project---eBPF-XDP-Hooks">Google Summer of Code’20 Project - eBPF XDP Hooks</a></li><li><a href="#ENA-FreeBSD-Driver-Update">ENA FreeBSD Driver Update</a></li><li><a href="#IPSec-Extended-Sequence-Number-(ESN)-support">IPSec Extended Sequence Number (ESN) support</a></li><li><a href="#NXP-ARM64-SoC-support">NXP ARM64 SoC support</a></li><li><a href="#Addition-of-PowerPC64LE-Architecture">Addition of PowerPC64LE Architecture</a></li><li><a href="#ure---USB-3.0-Gigabit-Ethernet-Driver-update">ure - USB 3.0 Gigabit Ethernet Driver update</a></li><li><a href="#Stateless-hardware-offloads-for-VXLANs">Stateless hardware offloads for VXLANs</a></li><li><a href="#Wireless-updates">Wireless updates</a></li><li><a href="#ZSTD-Compression-in-ZFS">ZSTD Compression in ZFS</a></li></ul><h3><a href="#Architectures">Architectures</a></h3><ul><li><a href="#CheriBSD-2020-Q3">CheriBSD 2020 Q3</a></li><li><a href="#FreeBSD/RISC-V-Project">FreeBSD/RISC-V Project</a></li></ul><h3><a href="#Ports">Ports</a></h3><ul><li><a href="#Update-to-grub-bhyve">Update to grub-bhyve</a></li><li><a href="#KDE-on-FreeBSD">KDE on FreeBSD</a></li></ul><h3><a href="#Documentation">Documentation</a></h3><ul><li><a href="#DOCNG-on-FreeBSD">DOCNG on FreeBSD</a></li></ul><h3><a href="#Third-Party-Projects">Third-Party Projects</a></h3><ul><li><a href="#Potluck---Flavour-&-Image-Repository-for-pot">Potluck - Flavour & Image Repository for pot</a></li><li><a href="#Puppet">Puppet</a></li></ul><ul></ul><hr /><br /><h1><a name="FreeBSD-Team-Reports" href="#FreeBSD-Team-Reports" id="FreeBSD-Team-Reports">FreeBSD Team Reports</a></h1><p>Entries from the various official and semi-official teams, - as found in the <a href="../../administration.html" shape="rect">Administration - Page</a>.</p><br /><h2><a name="FreeBSD-Foundation" href="#FreeBSD-Foundation" id="FreeBSD-Foundation">FreeBSD Foundation</a></h2><p> - Contact: Deb Goodkin <<a href="mailto:deb@FreeBSDFoundation.org">deb@FreeBSDFoundation.org</a>> - </p><p>The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to -supporting and promoting the FreeBSD Project and community worldwide. Funding -comes from individual and corporate donations and is used to fund and manage -software development projects, conferences and developer summits, and provide -travel grants to FreeBSD contributors. The Foundation purchases and supports -hardware to improve and maintain FreeBSD infrastructure and provides resources -to improve security, quality assurance, and release engineering efforts; -publishes marketing material to promote, educate, and advocate for the FreeBSD -Project; facilitates collaboration between commercial vendors and FreeBSD -developers; and finally, represents the FreeBSD Project in executing contracts, -license agreements, and other legal arrangements that require a recognized -legal entity. -</p> -<p>Here are some highlights of what we did to help FreeBSD last quarter: -</p> -<h3>COVID-19 Impact to the Foundation</h3> - -<p>Like other organizations, we put policies in place for all of our staff members -to work from home. We also put a temporary ban on travel for staff members. -We are continuing our work supporting the community and Project, but some of -our work and responses may be delayed because of changes in some of our -priorities and the impact of limited childcare for a few of our staff members. -</p> -<h3>Partnerships and Commercial User Support</h3> - -<p>We help facilitate collaboration between commercial users and FreeBSD -developers. We also meet with companies to discuss their needs and bring that -information back to the Project. Not surprisingly, the stay at home orders, -combined with our company ban on travel during Q3 made in-person meetings -non-existent. However, the team was able to continue meeting with our partners -and commercial users virtually. These meetings help us understand some of the -applications where FreeBSD is used. -</p> -<p>We are currently scheduling Zoom company meetings for Q4, please reach out if -you would like to schedule a meeting with us. -</p> -<h3>Fundraising Efforts</h3> - -<p>Last quarter we raised $192,874.43! Thank you to the individuals and -organizations that stepped in, to help fund our efforts. We'd like to thank -Arm for their large contribution last quarter, which helped bring our 2020 -fundraising effort to $521k. We hope other organizations will follow their -lead and give back to help us continue supporting FreeBSD. -</p> -<p>These are trying times, and we deeply appreciate every donation that has come -in from $5 to $150,000. We're still here giving 110% to supporting FreeBSD! -</p> -<p>We are 100% funded by donations, and those funds go towards software -development work to improve FreeBSD, FreeBSD advocacy around the world, keeping -FreeBSD secure, continuous integration improvements, sponsoring BSD-related and -computing conferences (even the virtual events!), legal support for the -Project, and many other areas. -</p> -<p>Please consider making a -<a href="https://www.FreeBSDfoundation.org/donate/." shape="rect">donation to help us continue and increase our support for FreeBSD</a>. -</p> -<p>We also have the Partnership Program, to provide more benefits for our larger -commercial donors. Find out more information about the -<a href="https://www.FreeBSDfoundation.org/FreeBSD-foundation-partnership-program/" shape="rect">partnership program</a> -and share with your companies! -</p> -<h3>OS Improvements</h3> - -<p>A number of FreeBSD Foundation grant recipients started, continued working on, -or completed projects during the third quarter. These include: -</p><ul> -<li><p>Ongoing WiFi and Linux KPI layer improvements. -</p></li> -<li><p>Linuxulator application compatibility. -</p></li> -<li><p>DRM / Graphics driver updates. -</p></li> -<li><p>Zstd compression for OpenZFS. -</p></li> -<li><p>Online RAID-Z expansion. -</p></li> -<li><p>Modernized LLDB target support for FreeBSD. -</p> -</li></ul> -You can find more details about most of these projects in other quarterly -<p>reports. -</p> -<p>Staff members also worked on a number of larger projects, including: -</p><ul> -<li><p>Run-Time Dynamic Linker (rtld) and kernel ELF loader improvements. -</p></li> -<li><p>Rewritten UNIX domain socket locking. -</p></li> -<li><p>Build infrastructure. -</p></li> -<li><p>Open system call path handling support for O_BENEATH, O_RESOLVE_BENEATH. -</p></li> -<li><p>arm64 support. -</p></li> -<li><p>Migration to a Git repository. -</p> -</li></ul> -Many of these projects also have detailed entries in other quarterly report -<p>entries. -</p> -<p>Staff members also put in significant effort in many ways other than larger, -individual projects. These include assisting with code reviews, bug report -triage, security report triage and advisory handling, addressing syzkaller -reports, and ongoing maintenance and bug fixes in functional areas such as the -tool chain, developer tools, virtual memory kernel subsystem, low-level x86 -infrastructure, sockets and protocols, and others. -</p> -<h3>University of Waterloo Co-op</h3> - -<p>With the transition to working from home, the Foundation decided to again take -on three University of Waterloo Co-op students for the Fall 2020 term -(September to December). Tiger returns for a second term, joined by new -students Yang and Zac. Projects for the term include more work on -ELF Tool Chain, application of Capsicum to additional utilities, testing and -integration of FreePBX and Asterisk VOIP software, pkgbase, and exploring -containerization tooling. -</p> -<h3>Continuous Integration and Quality Assurance</h3> - -<p>The Foundation provides a full-time staff member and funds projects on -improving continuous integration, automated testing, and overall quality -assurance efforts for the FreeBSD project. -</p> -<p>During the third quarter of 2020, Foundation staff continued improving and -monitoring the Project's CI infrastructure, and working with experts to fix -the failing builds and the regressions found by tests. The setting up of -dedicated VM host for running tests is completed. New feature developments -and the CI staging environment is in progress. We are also working with -other teams in the Project for their testing needs. For example, tests of -non-x86 architectures now run periodically, and improve the CI of the -embedded systems. We are also working with many external projects and -companies to improve the CI between their products and FreeBSD. -</p> -<p>See the FreeBSD CI section of this report for completed work items and detailed -information. -</p> -<h3>Supporting FreeBSD Infrastructure</h3> - -<p>The Foundation provides hardware and support to improve the FreeBSD -infrastructure. Last quarter, we continued supporting FreeBSD hardware located -around the world. We coordinated efforts between the new NYI Chicago facility -and clusteradm to start working on getting the facility prepared for some of -the new FreeBSD hardware we are planning on purchasing. NYI generously -provides this for free to the Project. We also worked on connecting with the -new owners of the Bridgewater site, where most of the FreeBSD infrastructure is -located. -</p> -<p>Some of the purchases we made for the Project last quarter to support -infrastructure includes: -</p><ul> -<li><p>Spamhaus spam filtering software to limit the amount of spam on the mailing -lists. -</p></li> -<li><p>5 application servers to run tasks like bugzilla, wiki, website, cgi, -Phabricator, host git, etc. -</p></li> -<li><p>1 server to replace the old pkg server and provide a lot more IOPS to - avoid the slowdowns seen during peak times of the day where the disks just -cannot keep up with the request volume. -</p></li> -<li><p>1 server for exp-runs to make them faster. -</p></li> -<li><p>1 server to build packages more frequently. -</p> -</li></ul> -<h3>FreeBSD Advocacy and Education</h3> - -<p>A large part of our efforts are dedicated to advocating for the Project. This -includes promoting work being done by others with FreeBSD; producing advocacy -literature to teach people about FreeBSD and help make the path to starting -using FreeBSD or contributing to the Project easier; and attending and getting -other FreeBSD contributors to volunteer to run FreeBSD events, staff FreeBSD -tables, and give FreeBSD presentations. -</p> -<p>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, to work together on projects, -and to facilitate 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. As is -the case for most of us in this industry, COVID-19 has put our in-person events -on hold. In addition to attending virtual events, we are continually working -on new training initiatives and updating our selection of how-to guides to -facilitate getting more folks to try out FreeBSD. -</p> -<p>Check out some of the advocacy and education work we did last quarter: -</p><ul> -<li><p>Launched our FreeBSD Fridays series of 101 classes. Topics included an - Introduction to FreeBSD, FreeBSD Installfest, Introduction to Security, - Introduction to ZFS and more. Videos of the past sessions and a schedule of - upcoming events can be found <a href="https://freebsdfoundation.org/freebsd-fridays/" shape="rect">here</a>. -</p></li> -<li><p>Attended and presented at OSI's State of the Source conference. The event -was held virtually, September 9-11, 2020. -</p></li> -<li><p>Launched the - <a href="https://freebsdfoundation.org/blog/weve-got-a-new-look/" shape="rect">redesign</a> -of the FreeBSD Foundation Website. -</p></li> -<li><p><a href="https://freebsdfoundation.org/news-and-events/latest-news/freebsd-foundation-celebrates-20th-anniversary/" shape="rect">Announced</a> -the 20th Anniversary of the FreeBSD Foundation. -</p></li> -<li><p>Participated as an Admin for Google Summer of Code 2020 -</p></li> -<li><p>Continued to promote the FreeBSD Office Hours series including holding our - own Foundation led office hours. Videos from the one hour sessions can be -found on the Project's - <a href="https://www.youtube.com/c/FreeBSDProject" shape="rect">YouTube Channel</a>. You can watch - ours <a href="https://www.youtube.com/watch?v=Ji4ux4FWpRU" shape="rect">here</a>. -</p></li> -<li><p><a href="https://freebsdfoundation.org/blog/freebsd-core-team-10-in-review/" shape="rect">Interviewed</a> - members of the outgoing FreeBSD Core Team to get their thoughts on their -term. -</p></li> -<li><p>Began working with the FreeBSD Vendor Summit planning committee on the - <a href="https://wiki.freebsd.org/DevSummit/202011" shape="rect">November 2020 Vendor Summit</a>. -</p></li> -<li><p>Promoted the Foundation's 20th Anniversary and our work to support the - FreeBSD Project in the It's FOSS Article. - <a href="https://itsfoss.com/freebsd-foundation-20-years/" shape="rect">FreeBSD Foundation Celebrates 20 Years of Promoting and Supporting FreeBSD Project</a>. -</p></li> -<li><p>Authored a <a href="https://www.fosslife.org/beginners-guide-freebsd" shape="rect">Beginners Guide to FreeBSD</a> for Fosslife. -</p></li> -<li><p>Committed to sponsoring All Things Open as a media Sponsor. -</p></li> -<li><p>Committed to sponsoring the OpenZFS Developers Summit at the Bronze level. -</p></li> -<li><p>Became an International RISC-V Member. -</p></li> -<li><p>Committed to giving a FreeBSD talk at the nerdear.la conference on - October 20th. -</p> -</li></ul> -Keep up to date with our latest work in our -<p><a href="https://www.freebsdfoundation.org/news-and-events/newsletter/" shape="rect">monthly newsletters</a>. -</p> -<p>Netflix provided an update on how and why they use FreeBSD in our latest -<a href="https://freebsdfoundation.org/wp-content/uploads/2020/10/netflixcasestudy_final.pdf" shape="rect">Contributor Case Study</a>. -</p> -<p>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/. -</p> -<p>You can find out more about events we attended and upcoming events at -https://www.FreeBSDfoundation.org/news-and-events/. -</p> -<h3>Legal/FreeBSD IP</h3> - -<p>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. We updated our -<a href="https://freebsdfoundation.org/legal/trademark-usage-terms-and-conditions/" shape="rect">Trademark Usage Terms and Conditions</a> -on July 1, 2020. -</p> -<p>Go to <a href="http://www.FreeBSDfoundation.org/" shape="rect">the FreeBSD Foundation's web site</a> to -find out how we support FreeBSD and how we can help you! -</p> -<h3>Other</h3> - -<p>We welcomed Andrew Wafaa and Kevin Bowling to our board of directors, to help -govern the Foundation and guide us with our strategic direction. We have -<a href="https://freebsdfoundation.org/blog/freebsd-foundation-welcomes-new-board-members-2/" shape="rect">more information about our new board members</a> -on our website. -</p><hr /><h2><a name="FreeBSD-Release-Engineering-Team" href="#FreeBSD-Release-Engineering-Team" id="FreeBSD-Release-Engineering-Team">FreeBSD Release Engineering Team</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.freebsd.org/releases/12.2R/schedule.html" title="https://www.freebsd.org/releases/12.2R/schedule.html">FreeBSD 12.2-RELEASE schedule</a></td><td> - URL: <a href="https://www.freebsd.org/releases/12.2R/schedule.html" title="FreeBSD 12.2-RELEASE schedule">https://www.freebsd.org/releases/12.2R/schedule.html</a></td></tr><tr><td><a href="https://www.freebsd.org/where.html#helptest" title="https://www.freebsd.org/where.html#helptest">FreeBSD 12.2 test builds</a></td><td> - URL: <a href="https://www.freebsd.org/where.html#helptest" title="FreeBSD 12.2 test builds">https://www.freebsd.org/where.html#helptest</a></td></tr><tr><td><a href="https://download.freebsd.org/ftp/snapshots/ISO-IMAGES/" title="https://download.freebsd.org/ftp/snapshots/ISO-IMAGES/">FreeBSD development snapshots</a></td><td> - URL: <a href="https://download.freebsd.org/ftp/snapshots/ISO-IMAGES/" title="FreeBSD development snapshots">https://download.freebsd.org/ftp/snapshots/ISO-IMAGES/</a></td></tr></table><p> - Contact: FreeBSD Release Engineering Team <<a href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>> - </p><p>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. -</p> -<p>During the third quarter of 2020, the Release Engineering Team started -work on the 12.2-RELEASE cycle, the third release from the stable/12 -branch. -</p> -<p>As of this writing, two BETA builds have been released, with the -expectation there will be a third BETA build currently remaining on the -schedule. -</p> -<p>The 12.2-RELEASE cycle will continue throughout October, with two RC -builds currently planned, and RC3 scheduled on an as-needed basis. The -12.2-RELEASE is so far scheduled for final release on October 27. -</p> -<p>In addition to the 12.2-RELEASE, Glen Barber of the Release Engineering -Team finished work to the release build tools and scripts to prepare for -the conversion from Subversion to Git for the 13.0-RELEASE cycle. There -are no plans to merge these changes to stable branches at this time; as -discussed within the Git working group, we feel such a change on a stable -branch would be too intrusive to our user base as well as downstream -FreeBSD consumers. Development snapshot builds for 13.0-CURRENT have -recently been built from the Git tree within the project, and further -snapshot builds for 12.x and 11.x will continue to be built from Subversion. -</p> -<p>Additionally throughout the quarter, several development snapshots builds -were released for the <i>head</i>, <i>stable/12</i>, and <i>stable/11</i> branches. -</p> -<p>Finally, the Release Engineering Team would like to thank Marius Strobl -for his time serving on the team; he had recently stepped down from the -Deputy RE Lead role due to constraints on his time. The Team welcomes -Colin Percival, who has accepted fulfilling this role. -</p> -<p>Much of this work was sponsored by Rubicon Communications, LLC (netgate.com) -and the FreeBSD Foundation. -</p><hr /><h2><a name="Cluster-Administration-Team" href="#Cluster-Administration-Team" id="Cluster-Administration-Team">Cluster Administration Team</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.freebsd.org/administration.html#t-clusteradm" title="https://www.freebsd.org/administration.html#t-clusteradm">Cluster Administration Team members</a></td><td> - URL: <a href="https://www.freebsd.org/administration.html#t-clusteradm" title="Cluster Administration Team members">https://www.freebsd.org/administration.html#t-clusteradm</a></td></tr></table><p> - Contact: Cluster Administration Team <<a href="mailto:clusteradm@FreeBSD.org">clusteradm@FreeBSD.org</a>> - </p><p>The FreeBSD Cluster Administration Team consists of the people responsible for -administering the machines that the Project relies on for its distributed work - and communications to be synchronised. In this quarter, the team has worked -on the following: -</p><ul> -<li><p>Work with the FreeBSD Foundation on hardware update for web services, mirror and package building servers. -</p></li> -<li><p>Disable directory indexing on the package mirrors to resolve performance issues of the machine. -</p><ul> -<li><p>This was later relaxed to allow indexing of the parent directories but still disallow the large package directories. -</p></li></ul> -</li><li><p>Ongoing systems administration work: -</p><ul> -<li><p>Accounts management for committers. -</p></li> -<li><p>Backups of critical infrastructure. -</p></li> -<li><p>Keeping up with security updates in 3rd party software. -</p> -</li></ul> -</li></ul> -Work in progress: - -<ul> -<li><p>Setup Malaysia (KUL) mirror. -</p></li> -<li><p>Setup Brazil (BRA) mirror. -</p></li> -<li><p>Review the service jails and service administrators operation. -</p></li> -<li><p>Infrastructure of building aarch64 and powerpc64 packages. -</p><ul> -<li><p>NVMe issues on PowerPC64 POWER9 blocking dual socket machine from being used as pkg builder. -</p></li> -<li><p>Drive upgrade test for pkg builders (SSDs) courtesy of the FreeBSD Foundation. -</p></li> -<li><p>Boot issues with Aarch64 reference machines. -</p></li></ul> -</li><li><p>New NYI.net sponsored colocation space in Chicago-land area. -</p></li> -<li><p>Work with git working group for the git repository. -</p></li> -<li><p>Searching for more providers that can fit the requirements for a <a href="https://wiki.freebsd.org/Teams/clusteradm/generic-mirror-layout" shape="rect">generic mirrored layout</a> or a <a href="https://wiki.freebsd.org/Teams/clusteradm/tiny-mirror" shape="rect">tiny mirror</a>. -</p></li></ul> -<hr /><h2><a name="Continuous-Integration" href="#Continuous-Integration" id="Continuous-Integration">Continuous Integration</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://ci.FreeBSD.org" title="https://ci.FreeBSD.org">FreeBSD Jenkins Instance</a></td><td> - URL: <a href="https://ci.FreeBSD.org" title="FreeBSD Jenkins Instance">https://ci.FreeBSD.org</a></td></tr><tr><td><a href="https://ci.FreeBSD.org/hwlab" title="https://ci.FreeBSD.org/hwlab">FreeBSD Hardware Testing Lab</a></td><td> - URL: <a href="https://ci.FreeBSD.org/hwlab" title="FreeBSD Hardware Testing Lab">https://ci.FreeBSD.org/hwlab</a></td></tr><tr><td><a href="https://artifact.ci.FreeBSD.org" title="https://artifact.ci.FreeBSD.org">FreeBSD CI artifact archive</a></td><td> - URL: <a href="https://artifact.ci.FreeBSD.org" title="FreeBSD CI artifact archive">https://artifact.ci.FreeBSD.org</a></td></tr><tr><td><a href="https://hackmd.io/@FreeBSD-CI" title="https://hackmd.io/@FreeBSD-CI">FreeBSD CI weekly report</a></td><td> - URL: <a href="https://hackmd.io/@FreeBSD-CI" title="FreeBSD CI weekly report">https://hackmd.io/@FreeBSD-CI</a></td></tr><tr><td><a href="https://wiki.freebsd.org/Jenkins" title="https://wiki.freebsd.org/Jenkins">FreeBSD Jenkins wiki</a></td><td> - URL: <a href="https://wiki.freebsd.org/Jenkins" title="FreeBSD Jenkins wiki">https://wiki.freebsd.org/Jenkins</a></td></tr><tr><td><a href="https://wiki.freebsd.org/HostedCI" title="https://wiki.freebsd.org/HostedCI">Hosted CI wiki</a></td><td> - URL: <a href="https://wiki.freebsd.org/HostedCI" title="Hosted CI wiki">https://wiki.freebsd.org/HostedCI</a></td></tr><tr><td><a href="https://wiki.freebsd.org/3rdPartySoftwareCI" title="https://wiki.freebsd.org/3rdPartySoftwareCI">3rd Party Software CI</a></td><td> - URL: <a href="https://wiki.freebsd.org/3rdPartySoftwareCI" title="3rd Party Software CI">https://wiki.freebsd.org/3rdPartySoftwareCI</a></td></tr><tr><td><a href="https://preview.tinyurl.com/y9maauwg" title="https://preview.tinyurl.com/y9maauwg">Tickets related to freebsd-testing@</a></td><td> - URL: <a href="https://preview.tinyurl.com/y9maauwg" title="Tickets related to freebsd-testing@">https://preview.tinyurl.com/y9maauwg</a></td></tr><tr><td><a href="https://github.com/freebsd/freebsd-ci" title="https://github.com/freebsd/freebsd-ci">FreeBSD CI Repository</a></td><td> - URL: <a href="https://github.com/freebsd/freebsd-ci" title="FreeBSD CI Repository">https://github.com/freebsd/freebsd-ci</a></td></tr></table><p> - Contact: Jenkins Admin <<a href="mailto:jenkins-admin@FreeBSD.org">jenkins-admin@FreeBSD.org</a>> - <br /> - Contact: Li-Wen Hsu <<a href="mailto:lwhsu@FreeBSD.org">lwhsu@FreeBSD.org</a>> - </p><p>Contact: <a href="https://lists.FreeBSD.org/mailman/listinfo/freebsd-testing" shape="rect">freebsd-testing Mailing List</a><br clear="none" /> -Contact: IRC #freebsd-ci channel on EFNet<br clear="none" /> -</p> -<p>The FreeBSD CI team maintains the continuous integration system -of the FreeBSD project. The CI system firstly 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 codes or adjust test infrastructure. The details of these efforts -are available in the <a href="https://hackmd.io/@FreeBSD-CI" shape="rect">weekly CI reports</a>. -</p> -<p>During the third quarter of 2020, we continued working with the contributors and -developers in the project to fulfill their testing needs and also keep -collaborating with external projects and companies to improve their products -and FreeBSD. -</p> -<p>Important changes: -</p><ul> -<li><p>All !x86 -test builds now trigger a new build on 22:00 UTC daily; this was - not running very often because running all the tests in qemu takes lots - of time. The work on improving the test execution speed and parallelism is - in progress. The following is a list of the jobs affected: -</p><ul> -<li><p><a href="https://ci.freebsd.org/job/FreeBSD-head-armv7-test/" shape="rect">Test build for FreeBSD HEAD on ARMv7</a>. -</p></li> -<li><p><a href="https://ci.freebsd.org/job/FreeBSD-head-aarch64-test/" shape="rect">Test build for FreeBSD HEAD on AArch64</a>. -</p></li> -<li><p><a href="https://ci.freebsd.org/job/FreeBSD-head-mips64-test/" shape="rect">Test build for FreeBSD HEAD on MIPS64</a>. -</p></li> -<li><p><a href="https://ci.freebsd.org/job/FreeBSD-head-powerpc64-test/" shape="rect">Test build for FreeBSD HEAD on PowerPC64</a>. -</p></li> -<li><p><a href="https://ci.freebsd.org/job/FreeBSD-head-riscv64-test/" shape="rect">Test build for FreeBSD HEAD on RISC-V64</a>. -</p> -</li></ul> -</li><li><p>The build and test results will be sent to the - <a href="https://lists.freebsd.org/mailman/listinfo/dev-ci" shape="rect">dev-ci mailing list</a> - soon. Feedback and help with analysis is very appreciated! -</p> -<ul> -<li><p>A builder dedicated to run jobs using provisioned VMs is setup, this - improves the stableness and reduces the execution time. -</p> -</li> -<li><p>The result of <a href="https://ci.freebsd.org/job/FreeBSD-head-amd64-test_zfs" shape="rect">FreeBSD-head-amd64-test_zfs</a> - is changed after OpenZFS importing; we encourage everyone to check and fix the - failing and skipped test cases. -</p> -</li></ul> -</li></ul> -New jobs added: -<ul> -<li><p><a href="https://ci.freebsd.org/job/FreeBSD-head-powerpc64le-build/" shape="rect">CI build for FreeBSD HEAD on PowerPC64LE</a>. -</p> -</li></ul> -Work in progress: -<ul> -<li><p>Collecting and sorting CI tasks and ideas - <a href="https://hackmd.io/@FreeBSD-CI/freebsd-ci-todo" shape="rect">here</a>. -</p></li> -<li><p>Testing and merging pull requests in the - <a href="https://github.com/freebsd/freebsd-ci/pulls" shape="rect">the FreeBSD-ci repo</a>. -</p></li> -<li><p>Designing and implementing pre-commit CI building and testing, -</p></li> -<li><p>Reduce the procedures of CI/test environment setting up for contributors and - developers. -</p></li> -<li><p>Setting up the CI stage environment and putting the experimental jobs on it. -</p></li> -<li><p>Setting up public network access for the VM guest running tests. -</p></li> -<li><p>Implementing automatic tests on bare metal hardware. -</p></li> -<li><p>Adding drm ports building tests against -CURRENT. -</p></li> -<li><p>Planning to run ztest and network stack tests. -</p></li> -<li><p>Adding more external toolchain related jobs. -</p></li> -<li><p>Improving the hardware lab to be more mature and adding more hardware. -</p></li> -<li><p>Helping more 3rd software get CI on FreeBSD through a hosted CI solution. -</p></li> -<li><p>Working with hosted CI providers to have better FreeBSD support. -</p> -</li></ul> -Please see freebsd-testing@ related tickets for more WIP information, and don't hesitate to join the effort! - -<p>Sponsor: The FreeBSD Foundation -</p><hr /><h2><a name="Ports-Collection" href="#Ports-Collection" id="Ports-Collection">Ports Collection</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.FreeBSD.org/ports/" title="https://www.FreeBSD.org/ports/">About FreeBSD Ports</a></td><td> - URL: <a href="https://www.FreeBSD.org/ports/" title="About FreeBSD Ports">https://www.FreeBSD.org/ports/</a></td></tr><tr><td><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html" title="https://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html">Contributing to Ports</a></td><td> - URL: <a href="https://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html" title="Contributing to Ports">https://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html</a></td></tr><tr><td><a href="http://portsmon.freebsd.org/index.html" title="http://portsmon.freebsd.org/index.html">FreeBSD Ports Monitoring</a></td><td> - URL: <a href="http://portsmon.freebsd.org/index.html" title="FreeBSD Ports Monitoring">http://portsmon.freebsd.org/index.html</a></td></tr><tr><td><a href="https://www.freebsd.org/portmgr/index.html" title="https://www.freebsd.org/portmgr/index.html">Ports Management Team</a></td><td> - URL: <a href="https://www.freebsd.org/portmgr/index.html" title="Ports Management Team">https://www.freebsd.org/portmgr/index.html</a></td></tr></table><p> - Contact: René Ladan <<a href="mailto:portmgr-secretary@FreeBSD.org">portmgr-secretary@FreeBSD.org</a>> - <br /> - Contact: FreeBSD Ports Management Team <<a href="mailto:portmgr@FreeBSD.org">portmgr@FreeBSD.org</a>> - </p><p>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. -</p> -<p>We passed the landmark of 40,000 ports in the Ports Collection -and are now around 40,400 ports. The last quarter saw 9335 -commits to the HEAD branch and 481 commits to the 2020Q3 branch -by respectively 167 and 63 committers. There are currently 2525 -open problem reports of which 595 are unassigned. Compared to -last quarter, this means a slight decrease in activity and also -a slight increase in open PRs. -</p> -<p>During the last quarter we welcomed Rainer Hurling (rhurlin@) and -said goodbye to Kevin Lo (kevlo@) and Grzegorz Blach (gblach@). -</p> -<p>The last three months saw new default versions for Perl (5.32), -PostgreSQL (12) and PHP (7.4). Various packages also got updated: -Firefox to 81.0.1, Chromium to 84.0.4147.135, Gnome to 3.36, -Xorg to 1.20.9, Qt5 to 5.15.0, Emacs to 27.1, KDE Frameworks to -5.74.0 and pkg itself to 1.15.8. -</p> -<p>Never tired, antoine@ ran 30 exp-runs to test port version updates, -on such diverse matters as: -</p><ul> -<li><p>Updating byacc in base to 20200330. -</p></li> -<li><p>Check balancing of sed "y" command. -</p></li> -<li><p>Use of brackets. -</p></li> -<li><p>Removing the now redundant "port" argument from USES=readline. -</p></li></ul> -<hr /><h2><a name="FreeBSD-Office-team---3rd-quarter-2020-report" href="#FreeBSD-Office-team---3rd-quarter-2020-report" id="FreeBSD-Office-team---3rd-quarter-2020-report">FreeBSD Office team - 3rd quarter 2020 report</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/Office" title="https://wiki.freebsd.org/Office">The FreeBSD Office project</a></td><td> - URL: <a href="https://wiki.freebsd.org/Office" title="The FreeBSD Office project">https://wiki.freebsd.org/Office</a></td></tr></table><p> - Contact: FreeBSD Office team ML <<a href="mailto:office@FreeBSD.org">office@FreeBSD.org</a>> - <br /> - Contact: Dima Panov <<a href="mailto:fluffy@FreeBSD.org">fluffy@FreeBSD.org</a>> - <br /> - Contact: Li-Wen Hsu <<a href="mailto:lwhsu@FreeBSD.org">lwhsu@FreeBSD.org</a>> - </p><p>The FreeBSD Office team works on a number of office-related software suites -and tools such as OpenOffice and LibreOffice.<br clear="none" /> -</p> -<p>Work during this quarter focused on providing the latest stable release of -LibreOffice suite and companion apps to all FreeBSD users. -</p> -<ul> -<li><p>Alongside with updating old stable branch to latest 6.4.x releases, - current ports-tree now have a full-featured cutting-edge 7.0.1 bundle.<br clear="none" /> -</p></li> -<li><p>Conservative users can keep 6.4.x stable version by switching to use - all-in-one editors/libreoffice6 port and even with i18n language pack (off by default). - It will be kept updated at least till 7.1.0 version is released.<br clear="none" /> -</p> -</li></ul> -We are looking for people to help the project. -<p>All unstable work with LibreOffice snapshots is staged in our <a href="https://github.com/lwhsu/freebsd-ports-libreoffice" shape="rect">WIP repository</a>.<br clear="none" /> -The <a href="https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=open&email1=office%40FreeBSD.org&emailassigned_to1=1&emailcc1=1&emailreporter1=1&emailtype1=substring&query_format=advanced&list_id=374316" shape="rect">open bugs list</a> -contains all filed issues which need some attention. -Patches, comments and objections are always welcome in the mailing list and bugzilla. -</p> -<hr /><h2><a name="FreeBSD-Graphics-Team-status-report" href="#FreeBSD-Graphics-Team-status-report" id="FreeBSD-Graphics-Team-status-report">FreeBSD Graphics Team status report</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/FreeBSDDesktop" title="https://github.com/FreeBSDDesktop">Project GitHub page</a></td><td> - URL: <a href="https://github.com/FreeBSDDesktop" title="Project GitHub page">https://github.com/FreeBSDDesktop</a></td></tr></table><p> - Contact: FreeBSD Graphics Team <<a href="mailto:x11@freebsd.org">x11@freebsd.org</a>> - <br /> - Contact: Niclas Zeising <<a href="mailto:zeising@freebsd.org">zeising@freebsd.org</a>> - </p><p>The FreeBSD X11/Graphics team maintains the lower levels of the FreeBSD graphics -stack. -This includes graphics drivers, graphics libraries such as the -MESA OpenGL implementation, the X.org xserver with related libraries and -applications, and Wayland with related libraries and applications. -</p> -<p>There have been several updates to the FreeBSD graphics stack and related -libraries since the last report. -</p> -<p>Most notably, MESA related ports were changed to use the meson build system, -instead of the autotools based one. -This was needed since mesa upstream has deprecated and removed the autotools -build system, and this paved the way for further mesa updates. -While there was a need for a few minor corrections after the initial update, -this update has been successful and made it possible to further update and -improve the FreeBSD mesa port. -</p> -<p>There have also been several security fixes for <code>xorg-server</code> and <code>libX11</code>, so -these ports have been updated to fix these issues. -</p> -<p>During the period, FreeBSD 12 was changed to improve the compatibility with -input devices using udev/evdev and libinput. -This change removes the need for local configuration and makes most mice, -touchpads and keyboards work out of the box. -This change will be in the upcoming FreeBSD 12.2 release. -</p> -<p>There have also been several updates to various libraries, both in the graphics -and input stacks, and several userland drivers have been updated. -Libraries such as <code>libdrm</code> and <code>libevdev</code> have been updated to include new -FreeBSD support, developed by team members and added upstream. -</p> -<p>There has also been ongoing work to keep the various drm-kmod ports and packages -up to date, mostly in response to changes in various FreeBSD versions. -</p> -<p>We have also continued our regularly scheduled bi-weekly meetings. -</p> -<p>People who are interested in helping out can find us on the x11@FreeBSD.org -mailing list, or on our <a href="https://gitter.im/FreeBSDDesktop/Lobby" shape="rect">gitter chat</a>. -We are also available in #freebsd-xorg on EFNet. -</p> -<p>We also have a team area <a href="https://github.com/FreeBSDDesktop" shape="rect">on GitHub</a> where our work repositories can be found. -</p><hr /><br /><h1><a name="Projects" href="#Projects" id="Projects">Projects</a></h1><p>Projects that span multiple categories, from the kernel and userspace - to the Ports Collection or external projects.</p><br /><h2><a name="FreeBSD-on-Microsoft-HyperV-and-Azure" href="#FreeBSD-on-Microsoft-HyperV-and-Azure" id="FreeBSD-on-Microsoft-HyperV-and-Azure">FreeBSD on Microsoft HyperV and Azure</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/MicrosoftAzure" title="https://wiki.freebsd.org/MicrosoftAzure">Microsoft Azure article on FreeBSD wiki</a></td><td> - URL: <a href="https://wiki.freebsd.org/MicrosoftAzure" title="Microsoft Azure article on FreeBSD wiki">https://wiki.freebsd.org/MicrosoftAzure</a></td></tr><tr><td><a href="https://wiki.freebsd.org/HyperV" title="https://wiki.freebsd.org/HyperV">Microsoft HyperV article on FreeBSD wiki</a></td><td> - URL: <a href="https://wiki.freebsd.org/HyperV" title="Microsoft HyperV article on FreeBSD wiki">https://wiki.freebsd.org/HyperV</a></td></tr></table><p> - Contact: FreeBSD Integration Services Team <<a href="mailto:bsdic@microsoft.com">bsdic@microsoft.com</a>> - <br /> - Contact: Wei Hu <<a href="mailto:whu@FreeBSD.org">whu@FreeBSD.org</a>> - <br /> - Contact: Li-Wen Hsu <<a href="mailto:lwhsu@FreeBSD.org">lwhsu@FreeBSD.org</a>> - </p><p>Li-Wen is working on the FreeBSD release code related to Azure for -the -CURRENT, 12-STABLE and 11-STABLE branches. -The work-in-progress is available <a href="https://reviews.freebsd.org/D23804" shape="rect">here</a>. -The <a href="https://azuremarketplace.microsoft.com/marketplace/apps/thefreebsdfoundation.freebsd-11_4" shape="rect">11.4-RELEASE image on Azure Marketplace</a> is published. -We are testing the releng/12.2 branch and 12.2-RELEASE image will be -published to Azure Marketplace soon after released. -</p> -<p>This project is sponsored by The FreeBSD Foundation, with resources provided by Microsoft. -</p><hr /><h2><a name="Building-FreeBSD-on-non-FreeBSD-hosts" href="#Building-FreeBSD-on-non-FreeBSD-hosts" id="Building-FreeBSD-on-non-FreeBSD-hosts">Building FreeBSD on non-FreeBSD hosts</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/BuildingOnNonFreeBSD" title="https://wiki.freebsd.org/BuildingOnNonFreeBSD">Wiki</a></td><td> - URL: <a href="https://wiki.freebsd.org/BuildingOnNonFreeBSD" title="Wiki">https://wiki.freebsd.org/BuildingOnNonFreeBSD</a></td></tr></table><p> - Contact: Alex Richardson <<a href="mailto:arichardson@freebsd.org">arichardson@freebsd.org</a>> - </p><p>Until recently FreeBSD could only be built on a FreeBSD host. -However, many popular free CI tools only allow building on Linux or macOS and -therefore can not be used for building the FreeBSD base system. Furthermore, it -is sometimes useful to cross-build FreeBSD for a remote machine or an emulator -even if the build machine is not running FreeBSD. -The goal of this project is to allow building the base system on Linux and macOS -hosts. -</p> -<p>I started this project in 2017 to allow building <a href="https://github.com/CTSRD-CHERI/cheribsd" shape="rect">CheriBSD</a> on the Linux servers -and desktops that many of us working on the <a href="http://www.cheri-cpu.org" shape="rect">CHERI project</a> use. -The first few patches were upstreamed in 2018 (see the 2018q3 report) and -I merged the full set of patches to CheriBSD shortly after. Over the past two -years I have slowly been upstreaming the remaining patches and finally committed -the last required change in time for this report. -</p> -<p>As of September 2020 it should be possible to use the <code>buildworld</code> and -<code>buildkernel</code> make targets to build a fully-functional FreeBSD installation -on macOS and Linux hosts. We use this in our continuous integration system to -build and test CheriBSD disk images for multiple architectures. -I have also committed a <a href="https://github.com/features/actions" shape="rect">GitHub Actions</a> configuration upstream -that takes approximately 10 minutes to build an amd64 kernel. -This will ensure that changes that break crossbuilding from Linux/macOS -can be detected easily. -</p> -<p>Upstreaming the crossbuilding changes has resulted in various build system -cleanups. For example, we now <a href="https://reviews.freebsd.org/rS365836" shape="rect">no longer need to use lorder.sh</a> -when building libraries which speeds up the linking step a bit. -The portability and bootstrapping changes should also make it easier -to upgrade from older versions since we no longer rely on host headers in -<code>/usr/include</code> matching those of the target system (e.g. when bootstrapping -localedef, etc.). -</p> -<p>While this support for building on Linux and macOS should still be considered -experimental, it should work in many cases. If you would like to give it a try, -the following command line should successfully build an amd64 world on Linux -and macOS systems that have packages for LLVM 10 (or newer) installed: -<code>MAKEOBJDIRPREFIX=/somewhere ./tools/build/make.py TARGET=amd64 TARGET_ARCH=amd64 buildworld</code> -Builds must be performed using the <code>./tools/build/make.py</code> wrapper script since -most Linux and macOS systems do not ship an appropriate version of bmake. -Please let me know if you encounter any issues. -</p> -<p>Sponsor: DARPA -</p><hr /><h2><a name="Git-Migration-Working-Group" href="#Git-Migration-Working-Group" id="Git-Migration-Working-Group">Git Migration Working Group</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/freebsd/git_conv" title="https://github.com/freebsd/git_conv">Git conversion tooling repo</a></td><td> - URL: <a href="https://github.com/freebsd/git_conv" title="Git conversion tooling repo">https://github.com/freebsd/git_conv</a></td></tr><tr><td><a href="https://lists.freebsd.org/mailman/listinfo/freebsd-git" title="https://lists.freebsd.org/mailman/listinfo/freebsd-git">FreeBSD-git mailing list</a></td><td> - URL: <a href="https://lists.freebsd.org/mailman/listinfo/freebsd-git" title="FreeBSD-git mailing list">https://lists.freebsd.org/mailman/listinfo/freebsd-git</a></td></tr><tr><td><a href="https://cgit-beta.FreeBSD.org/doc" title="https://cgit-beta.FreeBSD.org/doc">Beta doc git repo</a></td><td> - URL: <a href="https://cgit-beta.FreeBSD.org/doc" title="Beta doc git repo">https://cgit-beta.FreeBSD.org/doc</a></td></tr><tr><td><a href="https://cgit-beta.FreeBSD.org/ports" title="https://cgit-beta.FreeBSD.org/ports">Beta ports git repo</a></td><td> - URL: <a href="https://cgit-beta.FreeBSD.org/ports" title="Beta ports git repo">https://cgit-beta.FreeBSD.org/ports</a></td></tr><tr><td><a href="https://cgit-beta.FreeBSD.org/src" title="https://cgit-beta.FreeBSD.org/src">Beta src git repo</a></td><td> - URL: <a href="https://cgit-beta.FreeBSD.org/src" title="Beta src git repo">https://cgit-beta.FreeBSD.org/src</a></td></tr></table><p> - Contact: Ed Maste <<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>> - <br /> - Contact: Warner Losh <<a href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>> - <br /> - Contact: Ulrich Spörlein <<a href="mailto:uqs@FreeBSD.org">uqs@FreeBSD.org</a>> - </p><p>Work continues on FreeBSD's migration from Subversion to Git. Ulrich has -addressed all known issues with svn2git and has been able to work around the -inconsistent metadata and forced commit issues in the Subversion history. -</p> -<p>We still have additional documentation to write, and need to finish installing -commit hooks (e.g. restricting branch creation, or ensuring appropriate data -exists on cherry-pick commits). -</p> -<p>We expect to open the beta repository to test commits before the end of -October. This is to allow testing of the commit hooks, and to allow developers -to test access and become familiar with git operation. Commits in this -repository will be deleted and the repository will be recreated at least once -prior to the final migration. -</p> -<p>Those with an interest in the migration to Git are encouraged to subscribe -to the -<a href="https://lists.freebsd.org/mailman/listinfo/freebsd-git" shape="rect">FreeBSD-git mailing list</a> -and test out the beta src, ports, and/or doc repositories. -</p> -<p>You are also welcome check out the wiki, issues, README and other documentation -at the <a href="https://github.com/freebsd/git_conv" shape="rect">Git conversion tooling repo</a>. -</p> -<p>We currently expect to transition the src and doc repositories in mid-November. -Additional investigation and experimentation with the ports repository is still -underway. -</p> -<p>Sponsor: The FreeBSD Foundation (in part) -</p><hr /><h2><a name="Linux-compatibility-layer-update" href="#Linux-compatibility-layer-update" id="Linux-compatibility-layer-update">Linux compatibility layer update</a></h2><p> - Contact: Edward Tomasz Napierala <<a href="mailto:trasz@FreeBSD.org">trasz@FreeBSD.org</a>> - <br /> - Contact: Mark Johnston <<a href="mailto:markj@FreeBSD.org">markj@FreeBSD.org</a>> - </p><p>Earlier Linuxulator work focused on code cleanups and improving -diagnostic tools. -Work has now shifted from cleanups to fixing actual applications. -Current status is being tracked at <a href="https://wiki.freebsd.org/LinuxApps" shape="rect">Linux app status Wiki page</a>. -Initial focus was on applications that don't involve X11, mostly -because they tend to be easier to test and debug, and the bug fixes -are not application-specific. -</p> -<p>Foundation-sponsored work during this quarter included implementing -a devfs(5) workaround to fix gettynam(3) inside jail/chroot, and -workaround for the missing splice(2) syscall, which caused problems -for grep and autotools. The Linux version reported to userspace was bumped -to 3.10.0, which matches the kernel shipped with RHEL 7 and is neccessary -for IBM's DB2 database installation to succeed. The BLKPBSZGET ioctl neccessary for -Oracle database is supported now. There is now support for kcov(4), -neccessary for syzcaller; as well as a number of fixes for issues -reported by syzcaller, such as futex lock leaks. -There were also more cleanups, including moving -some Linuxulator-specific functionality related to error handling off -from the syscall's fast code paths. The sysutils/debootstrap port, -which provides an easy way to create Debian or Ubuntu jail, was updated -to version 1.0.123. Finally there were some improvements -to the <a href="https://wiki.freebsd.org/LinuxJails" shape="rect">documentation</a>. -</p> -<p>Most of those changes have been merged to FreeBSD 12-STABLE, in order -to ship with 12.2-RELEASE. -</p> -<p>There is increased involvement from other developers; this includes termios -performance fixes, improved memfd support, implementing <code>CLOCK_MONOTONIC_RAW</code> -required for Steam, madvise improvements, new <code>compat.linux.use_emul_path</code> -sysctl. There is also ongoing work -on tracking down the causes of failures related to Steam and WebKit, with -fixes being first implemented in <a href="https://github.com/shkhln/linuxulator-steam-utils/wiki/Compatibility" shape="rect">linuxulator-steam-utils</a>. -</p> -<p>Sponsor: The FreeBSD Foundation -</p><hr /><h2><a name="LLDB-Debugger-Improvements" href="#LLDB-Debugger-Improvements" id="LLDB-Debugger-Improvements">LLDB Debugger Improvements</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.moritz.systems/blog/lldb-debugger-improvements-for-freebsd/" title="https://www.moritz.systems/blog/lldb-debugger-improvements-for-freebsd/">Moritz Systems Project Description</a></td><td> - URL: <a href="https://www.moritz.systems/blog/lldb-debugger-improvements-for-freebsd/" title="Moritz Systems Project Description">https://www.moritz.systems/blog/lldb-debugger-improvements-for-freebsd/</a></td></tr><tr><td><a href="https://github.com/moritz-systems/llvm-project" title="https://github.com/moritz-systems/llvm-project">Git Repository</a></td><td> - URL: <a href="https://github.com/moritz-systems/llvm-project" title="Git Repository">https://github.com/moritz-systems/llvm-project</a></td></tr></table><p> - Contact: Kamil Rytarowski <<a href="mailto:kamil@moritz.systems">kamil@moritz.systems</a>> - <br /> - Contact: Michał Górny <<a href="mailto:mgorny@moritz.systems">mgorny@moritz.systems</a>> - </p><p>FreeBSD includes LLDB, the debugger in the LLVM family, in the base -system. At present it has some limitations in comparison with the GNU -GDB debugger, and does not yet provide a complete replacement. It -relies on an obsolete plugin model in LLDB that causes growing -technical debt. This project aims to bring LLDB closer to a fully -featured replacement for GDB, and therefore for FreeBSD to feature a -modern debugger for software developers. -</p> -<p>The legacy monolithic target supports the executed application being -debugged in the same process space as the debugger. The modern LLDB -plugin approach, used on other supported targets, executes the -target process under a separate lldb-server process. This improves -reliability and simplifies the process / thread model in LLDB itself. -In addition, remote and local debugging will both be performed using -the same approach. -</p> -<p>After the migration to the new process model is complete, the project -will include reviewing the results of LLDB's test suite and fixing -tests as time permits. The work is expected to be complete in 2020. -</p> -<p>The project schedule is divided into three milestones, each taking approximately -one month: -</p> -<p> 1. Introduce new FreeBSD Remote Process Plugin for x86_64 with basic support and upstream to LLVM. - 2. Ensure and add the mandated features in the project (process launch, process attach (pid), process attach (name), userland core files, breakpoints, watchpoints, threads, remote debugging) for FreeBSD/amd64 and FreeBSD/i386. - 3. Iterate over the LLDB tests. Detect, and as time permits, fix bugs. Ensure bug reports for each non-fixed and known problem. Add missing man pages and update the FreeBSD Handbook. -</p> -<p>We are nearing the completion of the first milestone. The new plugin is getting into -shape, and it can already run simple single-threaded programs. The supported features -include single-stepping, breakpoints, memory and register I/O on amd64. -Both plugins are supported simultaneously. The new plugin is used if -FREEBSD_REMOTE_PLUGIN environment variable is set to any value, or if lldb-server is -spawned directly. Otherwise, the old plugin is used for compatibility. Once the new -plugin matures, we are planning to enable it unconditionally on the architectures that -it is ported to. -</p> -<p>Sponsor: The FreeBSD Foundation<br clear="none" /> -</p><hr /><h2><a name="Lua-usage-in-FreeBSD" href="#Lua-usage-in-FreeBSD" id="Lua-usage-in-FreeBSD">Lua usage in FreeBSD</a></h2><p> - Contact: Ed Maste <<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>> - <br /> - Contact: Kyle Evans <<a href="mailto:kevans@FreeBSD.org">kevans@FreeBSD.org</a>> - <br /> - Contact: Ryan Moeller <<a href="mailto:freqlabs@FreeBSD.org">freqlabs@FreeBSD.org</a>> - </p><p>During this quarter, flua (FreeBSD Lua) <a href="https://svnweb.freebsd.org/base/?view=revision&revision=r364182" shape="rect">was taught</a> -where to find base .lua modules in order to support <code>require</code> of .lua modules -to be provided by the base system. flua also <a href="https://svnweb.freebsd.org/base/?view=revision&revision=r364222" shape="rect">gained support</a> -for <code>require</code> of binary modules. -</p> -<p>A review for <a href="https://reviews.freebsd.org/D26080" shape="rect">libjail bindings</a> has also -been submitted, pending review. libjail is an essential component if one wants -to be able to write jail management utilities in flua. -</p> -<p>People interested in working with Lua in FreeBSD are welcome to get in -contact to discuss other project ideas. To name a couple of potential -projects, some interesting modules that have not been started but could -prove useful (listed in no particular order): -</p> -<ul> -<li><p>libcrypt -</p></li> -<li><p>libexpat -</p></li> -<li><p>libnv -</p></li> -<li><p>libxo -</p> -</li></ul> -There is also a small list of scripts that would do well with a port to flua: - -<ul> -<li><p>certctl(8) -</p></li></ul> -<hr /><h2><a name="NFS-over-TLS-implementation" href="#NFS-over-TLS-implementation" id="NFS-over-TLS-implementation">NFS over TLS implementation</a></h2><p> - Contact: Rick Macklem <<a href="mailto:rmacklem@freebsd.org">rmacklem@freebsd.org</a>> - </p><p>In an effort to improve NFS security, an internet draft -which I expect will become an RFC soon specifies the -use of TLS 1.3 to encrypt all data traffic on a Sun RPC -connection used for NFS. -</p> -<p>Although NFS has been able to use sec=krb5p to encrypt data -on the wire, this requires a Kerberos environment and, as -such, has not been widely adopted. It also required that -encryption/decryption be done in software, since only the -RPC message NFS arguments are encrypted. -Since Kernel TLS is capable of using hardware assist to -improve performance and does not require Kerberos, NFS -over TLS may be more widely adopted, once implementations -are available. -</p> -<p>The coding for this project has now been completed. -All required changes to the NFS and kernel RPC code have -been committed to -CURRENT. -The daemons are now believed to be complete, but will -remain in base/projects/nfs-over-tls until -CURRENT -has an OpenSSL library with the kernel TLS support -incorporated in it. -If this does not happen for FreeBSD-13, hopefully the -patched OpenSSL and the daemons can become ports. -</p> -<p>To support clients such as laptops, the daemons that perform the TLS -handshake may optionally handle client X.509 certificates from a -site local CA. There are now exports(5) options to require client(s) to -provide a valid X.509 certificate. -</p> -<p>While setting up system(s) for testing is still a little awkward, -<a href="https://people.freebsd.org/~rmacklem/nfs-over-tls-setup.txt" shape="rect">the documentation is now available for those who want to help with testing</a>. -</p> -<p>The main limitation in the current implementation is that it uses TLS1.2 -and not TLS1.3. This should change once the KERN_TLS rx patch includes -TLS1.3 support. -</p> -<p>Third party testing would be appreciated. -</p> -<hr /><h2><a name="syzkaller-on-FreeBSD" href="#syzkaller-on-FreeBSD" id="syzkaller-on-FreeBSD">syzkaller on FreeBSD</a></h2><p> - Contact: Mark Johnston <<a href="mailto:markj@FreeBSD.org">markj@FreeBSD.org</a>> - </p><p>See the syzkaller entry in the 2019q1 quarterly report for an -introduction to syzkaller. -</p> -<p>syzkaller, especially the public syzbot instance, continues to find bugs -in the FreeBSD kernel. A number of these bugs have been fixed in -subsystems such as the VFS name cache, the TCP and SCTP stacks, pf(4), -the unix domain socket implementation, and the Linuxulator. -</p> -<p>The FreeBSD Foundation sponsored some work to enable cross-OS fuzzing. -This makes it possible to fuzz the Linuxulator using syzkaller's Linux -target. This effort quickly found several bugs; once the support is -committed upstream we will hopefully be able to leverage syzbot to gain -continuous testing of the Linux system call interface in addition to the -native and 32-bit compatibility interfaces. -</p> -<p>Some work was also done to enable running syzkaller in a FreeBSD jail, -with the eventual aim of making it easy to distribute binary images -containing everything required to immediately start running syzkaller on -a new host. Currently a number of setup steps are required, making -deployment somewhat painful. -</p> -<p>Sponsor: The FreeBSD Foundation -</p><hr /><br /><h1><a name="Kernel" href="#Kernel" id="Kernel">Kernel</a></h1><p>Updates to kernel subsystems/features, driver support, - filesystems, and more.</p><br /><h2><a name="DRM-Drivers-Update" href="#DRM-Drivers-Update" id="DRM-Drivers-Update">DRM Drivers Update</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/freebsd/drm-kmod/" title="https://github.com/freebsd/drm-kmod/">drm-kmod</a></td><td> - URL: <a href="https://github.com/freebsd/drm-kmod/" title="drm-kmod">https://github.com/freebsd/drm-kmod/</a></td></tr></table><p> - Contact: Emmanuel Vadot <<a href="mailto:manu@FreeBSD.Org">manu@FreeBSD.Org</a>> - </p><p>The drm drivers for FreeBSD 13-CURRENT have been updated to match Linux 5.4.62 -Then graphics/drm-current-kmod have been updated to follow this LTS release of Linux. -</p> -<p>For now graphics/drm-devel-kmod is also tracking this release but will be updated -to a later revision of Linux drm drivers in the near future. -</p> -<p>A lot of linuxkpi code was removed from the ports or replaced with a BSD -licenced implementation. -</p> -<p>Sponsor: The FreeBSD Foundation -</p><hr /><h2><a name="DTS-Update" href="#DTS-Update" id="DTS-Update">DTS Update</a></h2><p> - Contact: Emmanuel Vadot <<a href="mailto:manu@FreeBSD.org">manu@FreeBSD.org</a>> - </p><p>DTS files (Device Tree Sources) were updated to be on par with Linux 5.8 for -HEAD and 5.6 for the 12-STABLE branch. -</p><hr /><h2><a name="DesignWare-Ethernet-adapter-driver-improvements" href="#DesignWare-Ethernet-adapter-driver-improvements" id="DesignWare-Ethernet-adapter-driver-improvements">DesignWare Ethernet adapter driver improvements</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/gonzoua/freebsd/tree/rk_eth" title="https://github.com/gonzoua/freebsd/tree/rk_eth">WIP branch</a></td><td> - URL: <a href="https://github.com/gonzoua/freebsd/tree/rk_eth" title="WIP branch">https://github.com/gonzoua/freebsd/tree/rk_eth</a></td></tr></table><p> - Contact: Oleksandr Tymoshenko <<a href="mailto:gonzo@FreeBSD.org">gonzo@FreeBSD.org</a>> - </p><p>DesignWare Ethernet adapter IP is used in Rockchip and Allwinner SoCs. -The driver was updated with following fixes: -</p> -<ul> -<li><p>Initialize clocks instead of relying on u-boot to do the right thing. -</p></li> -<li><p>Sense media type and adjust controller configuration accordingly. -</p></li> -<li><p>Add support for RMII PHY mode. -</p> -</li></ul> -Yet uncommitted changes include performance optimisation by adding -<p>support for multi-segment mbuf transmission. The next step is to -try to get more performance boost by using interrupt coalescence. -</p><hr /><h2><a name="Google-Summer-of-Code’20-Project---eBPF-XDP-Hooks" href="#Google-Summer-of-Code’20-Project---eBPF-XDP-Hooks" id="Google-Summer-of-Code’20-Project---eBPF-XDP-Hooks">Google Summer of Code’20 Project - eBPF XDP Hooks</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/Ankurk99/freebsd/tree/ebpf-import" title="https://github.com/Ankurk99/freebsd/tree/ebpf-import">Github diff link</a></td><td> - URL: <a href="https://github.com/Ankurk99/freebsd/tree/ebpf-import" title="Github diff link">https://github.com/Ankurk99/freebsd/tree/ebpf-import</a></td></tr><tr><td><a href="https://wiki.freebsd.org/SummerOfCode2020Projects/eBPFXDPHooksl" title="https://wiki.freebsd.org/SummerOfCode2020Projects/eBPFXDPHooksl">Project wiki</a></td><td> - URL: <a href="https://wiki.freebsd.org/SummerOfCode2020Projects/eBPFXDPHooksl" title="Project wiki">https://wiki.freebsd.org/SummerOfCode2020Projects/eBPFXDPHooksl</a></td></tr></table><p> - Contact: Ankur Kothiwal <<a href="mailto:ankur@freebsd.org">ankur@freebsd.org</a>> - </p><p>The eBPF eXpress Data Path (XDP) allows eBPF programs to be run to filter -received packets as early as possible, avoiding unnecessary processing -overhead before the filter is run. The goal of this project is to extend an -existing FreeBSD network driver (a virtual NIC like a VirtIO if_vtnet) to -be able to call into an eBPF program when processing a newly received -packet. In short, with XDP the driver must PASS (accept and process normally), DROP, -TX or REDIRECT the packet as specified by the program. eBPF helper -functions and maps for aiding in packet filtering will also be -implemented. -</p> -<p>Implemented: -</p><ul> -<li><p>Register a eBPF probe when an interface is registered with pfil. -</p></li> -<li><p>Activating eBPF probe. -</p></li> -<li><p>Create hooks and link them to the pfil head when the eBPF XDP probe is - activated and successfully list the XDP probes. -</p></li> -<li><p>Create a xdp_rx function which will pass the received packets to the - eBPF program where the packets can be further processed. This function will - return XDP actions: DROP and PASS. -</p></li> -<li><p>Register the xdp hook and link it to the pfil head. -</p></li> -<li><p>Write an eBPF program to process (currently drop and pass) ICMP traffic - - This is to test that the hook is working properly. -</p></li> -<li><p>Write a loader function to load the ICMP filter program to the kernel. -</p> -</li></ul> -Future Work: -<ul> -<li><p>Currently we can only attach the XDP hook to PASS and DROP the packets - - The work on detaching the hook is left. -</p></li> -<li><p>The XDP action to “TX” and “REDIRECT” the packets. -</p> -</li></ul> -Final Deliverables: -<ul> -<li><p>Implemented XDP hook to pass and drop packets. -</p></li> -<li><p>Created a loader program to attach the eBPF program to the kernel. -</p></li> -<li><p>A test program to DROP ICMP filter. -</p> -</li></ul> -This code was done under the Google Summer of Code 2020 under the guidance -<p>of Ryan Stone (rstone@). The eBPF implementation for FreeBSD -is still a work in progress and FreeBSD doesn’t support eBPF yet. The -basic implementation for eBPF was a <a href="https://wiki.freebsd.org/SummerOfCode2018Projects/eBPF" shape="rect">GSoC’18 project</a>, -and is still under development. This project is based on that implementation so the XDP -implementation for FreeBSD can only be merged into the FreeBSD source code -once it supports eBPF. -</p> -<p>Currently this code is a work in progress and is merged to Ryan Stone’s -<a href="https://github.com/rysto32/freebsd/tree/ebpf-import" shape="rect">branch with support for the eBPF implementation</a>. -</p> -<p>Sponsor: Google Summer of Code -</p><hr /><h2><a name="ENA-FreeBSD-Driver-Update" href="#ENA-FreeBSD-Driver-Update" id="ENA-FreeBSD-Driver-Update">ENA FreeBSD Driver Update</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README" title="https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README">ENA README</a></td><td> - URL: <a href="https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README" title="ENA README">https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README</a></td></tr></table><p> - Contact: Michal Krawczyk <<a href="mailto:mk@semihalf.com">mk@semihalf.com</a>> - <br /> - Contact: Artur Rojek <<a href="mailto:ar@semihalf.com">ar@semihalf.com</a>> - <br /> - Contact: Marcin Wojtas <<a href="mailto:mw@semihalf.com">mw@semihalf.com</a>> - </p><p>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. -</p> -<p>Completed since the last update: -</p><ul> -<li><p>Fix ENA compilation in case it is integrated into the kernel binary. -</p></li> -<li><p>MFC of the ENA v2.2.0 driver to the FreeBSD 12.2. -</p> -</li></ul> -Work in progress: -<ul> -<li><p>Add feature that allows reading extra ENI (Elastic Network Interface) - metrics about exceeding BW/pps limits. -</p></li> -<li><p>Introduce full kernel RSS API support. -</p></li> -<li><p>Allow reconfiguration of the RSS indirection table and hash key. -</p></li> -<li><p>Evaluation and prototyping of the driver port to the iflib framework. -</p> -</li></ul> -Sponsor: Amazon.com Inc -<hr /><h2><a name="IPSec-Extended-Sequence-Number-(ESN)-support" href="#IPSec-Extended-Sequence-Number-(ESN)-support" id="IPSec-Extended-Sequence-Number-(ESN)-support">IPSec Extended Sequence Number (ESN) support</a></h2><p> - Contact: Grzegorz Jaszczyk <<a href="mailto:jaz@semihalf.com">jaz@semihalf.com</a>> - <br /> - Contact: Patryk Duda <<a href="mailto:pdk@semihalf.com">pdk@semihalf.com</a>> - <br /> - Contact: Marcin Wojtas <<a href="mailto:mw@semihalf.com">mw@semihalf.com</a>> - </p><p>Extended Sequence Number (ESN) is IPSec extension defined in <a href="https://tools.ietf.org/html/rfc4303#section-2.2.1" shape="rect">RFC4303 Section 2.2.1</a>. -It makes possible to implement high-speed IPSec implementations where standard, 32-bit sequence number is not sufficient. -A key feature of the ESN is that only low order 32 bits of sequence number are transmitted over the wire. -High-order 32 bits are maintained by sender and receiver. Additionally high-order bits are included in the computation of Integrity Check Value (ICV) field. -</p> -<p>Extended Sequence Number support contains following: -</p> -<ul> -<li><p>Modification of existing anti-replay algorithm to fulfil ESN requirements. -</p></li> -<li><p>Trigger soft lifetime expiration at 80% of UINT32_MAX when ESN is disabled. -</p></li> -<li><p>Implement support for including ESN into ICV in cryptosoft engine in both - encrypt and authenticate mode (eg. AES-CBC and SHA256 HMAC) and combined - mode (eg. AES-GCM). -</p></li> -<li><p>Implement support for including ESN into ICV in AES-NI engine in both - encrypt and authenticate mode and combined mode. -</p> -</li></ul> -Completed since the last update: - -<ul> -<li><p>Adjust implementation of crypto part to the reworked Open Crypto Framework. -</p></li> -<li><p>Move the core ESN implementation from the crypto drivers to netipsec layer. -</p></li> -<li><p>Make use of the newly introduced crp_aad mechanism for combined modes. -</p></li> -<li><p>Introduce minor fixes and improvements. -</p> -</li></ul> -TODO: - -<ul> -<li><p>Complete review process in Phabricator and merge patches in the tree. -</p> -</li></ul> -Sponsor: Stormshield - -<hr /><h2><a name="NXP-ARM64-SoC-support" href="#NXP-ARM64-SoC-support" id="NXP-ARM64-SoC-support">NXP ARM64 SoC support</a></h2><p> - Contact: Marcin Wojtas <<a href="mailto:mw@semihalf.com">mw@semihalf.com</a>> - <br /> - Contact: Artur Rojek <<a href="mailto:ar@semihalf.com">ar@semihalf.com</a>> - <br /> - Contact: Dawid Gorecki <<a href="mailto:dgr@semihalf.com">dgr@semihalf.com</a>> - </p><p>The Semihalf team initiated working on FreeBSD support for the -<a href="https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/qoriq-layerscape-arm-processors/qoriq-layerscape-1046a-and-1026a-multicore-communications-processors:LS1046A" shape="rect">NXP LS1046A SoC</a> -</p> -<p>LS1046A are quad-core 64-bit ARMv8 Cortex-A72 processors with -integrated packet processing acceleration and high speed peripherals -including 10 Gb Ethernet, PCIe 3.0, SATA 3.0 and USB 3.0 for a wide -range of networking, storage, security and industrial applications. -</p> -<p>Completed since the last update: -</p><ul> -<li><p>Upstreaming of the QorIQ SDHCI driver (r365054). -</p> -</li></ul> -With above the current Semihalf upstreaming activity is complete. - -<p>The major out-of-tree supported components: -</p><ul> -<li><p>DPAA network controller support. -</p></li> -<li><p>QSPI controller support. -</p> -</li></ul> -They work on 11.2-RELEASE, but still require significant -<p>effort to adopt to FreeBSD-CURRENT. -</p> -<p>Sponsor: Alstom Group -</p><hr /><h2><a name="Addition-of-PowerPC64LE-Architecture" href="#Addition-of-PowerPC64LE-Architecture" id="Addition-of-PowerPC64LE-Architecture">Addition of PowerPC64LE Architecture</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://lists.freebsd.org/pipermail/freebsd-ppc/2020-August/012043.html" title="https://lists.freebsd.org/pipermail/freebsd-ppc/2020-August/012043.html">Early notes</a></td><td> - URL: <a href="https://lists.freebsd.org/pipermail/freebsd-ppc/2020-August/012043.html" title="Early notes">https://lists.freebsd.org/pipermail/freebsd-ppc/2020-August/012043.html</a></td></tr><tr><td><a href="https://lists.freebsd.org/pipermail/freebsd-ppc/2020-September/012098.html" title="https://lists.freebsd.org/pipermail/freebsd-ppc/2020-September/012098.html">Announcement</a></td><td> - URL: <a href="https://lists.freebsd.org/pipermail/freebsd-ppc/2020-September/012098.html" title="Announcement">https://lists.freebsd.org/pipermail/freebsd-ppc/2020-September/012098.html</a></td></tr></table><p> - Contact: Brandon Bergren <<a href="mailto:bdragon@freebsd.org">bdragon@freebsd.org</a>> - </p><p>As of r366063, experimental support for little-endian PowerPC64 (PowerPC64LE) -is available in -CURRENT for POWER8 and POWER9 machines. -</p> -<p>In 2010, when FreeBSD was ported to PowerPC64, the average -user would have been using a G5 PowerMac, a purely big-endian -machine. -</p> -<p>While, at the time, a 32-bit PowerPC machine could run in little-endian, -as well as POWER6 and POWER7, in practice, the complexities involved -in managing it at the kernel level and lack of firmware support made it -infeasible to support. -</p> -<p>When IBM designed POWER8, one main focus was to improve little-endian support, -and bring it up to parity with big-endian. -</p> -<p>This improved support makes it practical to support a little-endian operating -environment on what is traditionally a primarily big-endian platform. -</p> -<p>In 2020, with POWER9 being affordable for many users thanks to the Raptor -Blackbird, semi-easy access to surplus POWER8 hardware, IBM having -a major future focus on POWER little-endian, and the decay of big-endian -support in modern video cards and graphical environments, there is demand for -a little-endian version of FreeBSD on POWER. -</p> -<p>With FreeBSD/PowerPC64's transition in 2019 to the ELFv2 ABI as part of the -2019q4 PowerPC on Clang effort, the last major barrier to a little-endian -port was eliminated. -</p> -<p>Since nobody else was working on it, and I had the skillset required to do -the port, I decided to experiment one weekend with a little-endian kernel -to see how difficult it would be to port. -</p> -<p>It turned out to be a lot more trivial than I was expecting. Three days later -I had console support in qemu, and after another week of debugging, I had it -fully up and running on hardware. -</p> -<p>FreeBSD PowerPC64LE is now an experimental MACHINE_ARCH in base, and is -continuing to evolve at a rapid pace. -</p> -<p>Big-endian PowerPC64 is still the preferred platform for the foreseeable -future, and will not be deprecated. -</p> -<p>Sponsor: Tag1 Consulting, Inc. -</p><hr /><h2><a name="ure---USB-3.0-Gigabit-Ethernet-Driver-update" href="#ure---USB-3.0-Gigabit-Ethernet-Driver-update" id="ure---USB-3.0-Gigabit-Ethernet-Driver-update">ure - USB 3.0 Gigabit Ethernet Driver update</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://svnweb.freebsd.org/changeset/base/365648" title="https://svnweb.freebsd.org/changeset/base/365648">svn commit: r365648</a></td><td> - URL: <a href="https://svnweb.freebsd.org/changeset/base/365648" title="svn commit: r365648">https://svnweb.freebsd.org/changeset/base/365648</a></td></tr><tr><td><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-20:27.ure.asc" title="https://www.freebsd.org/security/advisories/FreeBSD-SA-20:27.ure.asc">FreeBSD-SA-20:27.ure</a></td><td> - URL: <a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-20:27.ure.asc" title="FreeBSD-SA-20:27.ure">https://www.freebsd.org/security/advisories/FreeBSD-SA-20:27.ure.asc</a></td></tr><tr><td><a href="https://reviews.freebsd.org/D25809" title="https://reviews.freebsd.org/D25809">D25809 major update to if_ure</a></td><td> - URL: <a href="https://reviews.freebsd.org/D25809" title="D25809 major update to if_ure">https://reviews.freebsd.org/D25809</a></td></tr></table><p> - Contact: John-Mark Gurney <<a href="mailto:jmg@FreeBSD.org">jmg@FreeBSD.org</a>> - </p><p>The ure is a driver for handling the RealTek ethernet adapters, -including the RTL8153 USB 3.0 Gigabit ethernet adapters. It is used -in many ethernet dongles and docking stations. -</p> -<p>Previous to this update, the driver was limited in speed. In my -testing, I was only able to get ~91Mbps. This limit was due to one -packet per USB transfer. USB has a limit of 8000 transfers per -second (1500 bytes/pkt * 8000 pkts/sec * 8bits/byte == 96 Mbps). -This was acceptable for fast ethernet (RTL8152, 100Mbps), but with -the additional support for Gigabit ethernet, it became a bottleneck. -</p> -<p>The updates add sending and receiving multiple packets in a single -USB transfer, VLAN hardware tagging, and enable TCP and UDP -checksum offloading. This increased the speed on gigabit ethernet -to ~940 Mbps. -</p> -<p>In doing this work, a security vulnerability was discovered in the -driver. Due to improper setting of a device register, on some -devices, it caused packets to be fragmented when they shouldn't be -and the driver was unable to handle them correctly. This allowed an -attacker, who could generate large frames (say, ping packets, or -large TCP transfers), to inject arbitrary packets into the network -stack. This could allow the attacker to spoof traffic from other -machines, and bypass VLAN protections. See the SA for more -information. -</p> -<p>As part of this work, a script was created to run tests to -validate that basic functionality of the driver (w/o options) work -properly, and then iterate over each option to make sure that they -function properly. This will be released at some point in the -future. -</p> -<p>If you're interested in helping out, or testing it, let me know. -</p><hr /><h2><a name="Stateless-hardware-offloads-for-VXLANs" href="#Stateless-hardware-offloads-for-VXLANs" id="Stateless-hardware-offloads-for-VXLANs">Stateless hardware offloads for VXLANs</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://svnweb.freebsd.org/base?view=revision&revision=r365867" title="https://svnweb.freebsd.org/base?view=revision&revision=r365867">r365867</a></td><td> - URL: <a href="https://svnweb.freebsd.org/base?view=revision&revision=r365867" title="r365867">https://svnweb.freebsd.org/base?view=revision&revision=r365867</a></td></tr><tr><td><a href="https://svnweb.freebsd.org/base?view=revision&revision=r365868" title="https://svnweb.freebsd.org/base?view=revision&revision=r365868">r365868</a></td><td> - URL: <a href="https://svnweb.freebsd.org/base?view=revision&revision=r365868" title="r365868">https://svnweb.freebsd.org/base?view=revision&revision=r365868</a></td></tr><tr><td><a href="https://svnweb.freebsd.org/base?view=revision&revision=r365869" title="https://svnweb.freebsd.org/base?view=revision&revision=r365869">r365869</a></td><td> - URL: <a href="https://svnweb.freebsd.org/base?view=revision&revision=r365869" title="r365869">https://svnweb.freebsd.org/base?view=revision&revision=r365869</a></td></tr><tr><td><a href="https://svnweb.freebsd.org/base?view=revision&revision=r365870" title="https://svnweb.freebsd.org/base?view=revision&revision=r365870">r365870</a></td><td> - URL: <a href="https://svnweb.freebsd.org/base?view=revision&revision=r365870" title="r365870">https://svnweb.freebsd.org/base?view=revision&revision=r365870</a></td></tr><tr><td><a href="https://svnweb.freebsd.org/base?view=revision&revision=r365871" title="https://svnweb.freebsd.org/base?view=revision&revision=r365871">r365871</a></td><td> - URL: <a href="https://svnweb.freebsd.org/base?view=revision&revision=r365871" title="r365871">https://svnweb.freebsd.org/base?view=revision&revision=r365871</a></td></tr><tr><td><a href="https://tools.ietf.org/html/rfc6935" title="https://tools.ietf.org/html/rfc6935">RFC6935</a></td><td> - URL: <a href="https://tools.ietf.org/html/rfc6935" title="RFC6935">https://tools.ietf.org/html/rfc6935</a></td></tr></table><p> - Contact: Navdeep Parhar <<a href="mailto:np@FreeBSD.org">np@FreeBSD.org</a>> - </p><p>VXLAN (Virtual eXtensible LAN) is a tunneling protocol in which Layer 2 -traffic for a virtual LAN is encapsulated in UDP and transferred over -Layer 3 networks between VTEPs (VXLAN Tunnel End Points). Traffic on -the wire has two sets of networking headers: the headers for the -encapsulation and the headers of the traffic being encapsulated. VXLANs -are supported by if_vxlan(4) on FreeBSD. -</p> -<p>Modern NICs commonly support header checksum insertion and verification, -TSO (TCP Segmentation Offload) on transmit, and RSS for load -distribution on receive. But the default is to operate on the outermost -headers. Some NICs can operate on the inner encapsulated frames as -well. The commits listed above allow if_vxlan(4) to take advantage of -such NICs. -</p> -<p>r365867 and r365868 add new mbuf checksum flags and ifnet capabilities. -r365870 implements the kernel parts of the new capabilities and updates -if_vxlan(4) to make use of them. r365871 implements driver support for -the new capabilities in cxgbe(4). -</p> -<p>VXLAN and other tunneling protocols that use UDP explicitly allow zero -checksum in the outer UDP header, even with IPv6. r365869 adds support -for configuring one UDP/IPv6 port where zero checksums are allowed. -</p> -<p>This work was sponsored by Chelsio Communications and was implemented -and tested using T6 (Terminator 6) NICs supported by cxgbe(4). It is -available in 13.0-CURRENT (head) right now and will be available in -12-STABLE in the future. -</p> -<p>VXLANs can be created as usual and will automatically have checksum and -TSO capabilities if the underlying physical interface supports VXLAN -stateless offloads. Use ifconfig to list, disable, and enable checksum -capabilities on the VXLAN interface. Use https://bugs.freebsd.org/bugzilla/ -to report bugs. -</p> -<p>Future work: -</p><ul> -<li><p>Direct call into a vxlan input routine from the driver's receive routine. -</p></li> -<li><p>LRO support in if_vxlan(4). -</p></li> -<li><p>GENEVE support. -</p> -</li></ul> -Sponsor: Chelsio Communications -<hr /><h2><a name="Wireless-updates" href="#Wireless-updates" id="Wireless-updates">Wireless updates</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://lists.freebsd.org/mailman/listinfo/freebsd-wireless" title="https://lists.freebsd.org/mailman/listinfo/freebsd-wireless">The freebsd-wireless mailing list</a></td><td> - URL: <a href="https://lists.freebsd.org/mailman/listinfo/freebsd-wireless" title="The freebsd-wireless mailing list">https://lists.freebsd.org/mailman/listinfo/freebsd-wireless</a></td></tr><tr><td><a href="https://github.com/erikarn/athp" title="https://github.com/erikarn/athp">athp github repository</a></td><td> - URL: <a href="https://github.com/erikarn/athp" title="athp github repository">https://github.com/erikarn/athp</a></td></tr></table><p> - Contact: Adrian Chadd <<a href="mailto:adrian@FreeBSD.org">adrian@FreeBSD.org</a>> - <br /> - Contact: Bjoern A. Zeeb <<a href="mailto:bz@FreeBSD.org">bz@FreeBSD.org</a>> - </p><p>The following works happened in FreeBSD HEAD (some already in Q2) and were -merged for 12.2-BETA2 and include net80211 and driver updates for better 11n -and upcoming 11ac support. -</p> -<p>In more detail, this includes an ath(4) update, some run(4) 11n support, 11n for otus(4), -A-MPDU, A-MSDU, A-MPDU+A-MSDU and Fast frames options, scanning fixes, -enhanced PRIV checks for jails, restored parent device name printing, -improvements for upcoming VHT support, lots of under-the-hood infrastructure -improvements, new device IDs, and debug tools updates. -</p> -<p>If you have a chance please test before the release. -</p> -<h3>Atheros 11ac driver athp</h3> - -<p>In the last three months the athp(4) port of the ath10k driver has progressed -well. Adrian reports the following important changes: -</p><ul> -<li><p>Per-node transmit buffering was implemented, required for correct hostap - and QCA6174 behaviour. -</p></li> -<li><p>Issues with ignoring sending some management frames got fixed; null-data - frames were being filtered out and this caused undesirable hostap behaviour. -</p></li> -<li><p>Transmit path refactoring reduced code duplication. -</p></li> -<li><p>A fix on firmware start / VAP running tracking no longer stops - the first VAP from coming active after VAP creation / ifconfig up. -</p></li> -<li><p>Correcting hostap mode PHY configuration now allows non-VHT stations to - associate and correctly exchange data with a VHT AP. -</p></li> -<li><p>Addition of a crypto key configuration cache in the driver ensures the - ieee80211_key details are available after the key is deleted; net80211 - would reuse or free the state before the driver task would finish the - firmware command. -</p> -</li></ul> -<h3>Newer Intel Wireless device support</h3> - -<p>Initial work was done to integrate net80211 support in the LinuxKPI compat -layer to get the wireless parts going. -In addition, upstreaming code changes and working through problems and review -started on two sides. One was trying to get mostly compile time changes -upstreamed to the iwlwifi driver. The other is sorting out conflicting -LinuxKPI changes to not break the DRM graphics drivers. -Bjoern hopes that with some of that sorted out, he can soon go back to focus -on the wireless parts and produce a new snapshot. -</p> -<h3>rtw88 and brcmfmac</h3> - -<p>As the Intel driver port and LinuxKPI advance, both the rtw88, and to a lower -degree the brcmfmac, ports benefit from that. -Bjoern lately also got a brcmfmac PCIe card and started to port support for -that. -This for the moment remains a free-time project. -</p> -<p>Work by Bjoern was sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") and The FreeBSD Foundation -</p><hr /><h2><a name="ZSTD-Compression-in-ZFS" href="#ZSTD-Compression-in-ZFS" id="ZSTD-Compression-in-ZFS">ZSTD Compression in ZFS</a></h2><p> - Contact: Allan Jude <<a href="mailto:allanjude@freebsd.org">allanjude@freebsd.org</a>> - </p><p>Zstandard (ZSTD) is a modern high-performance compression -algorithm designed to provide the compression ratios of gzip -while offering much better performance. ZSTD has been adopted -in FreeBSD for a number of other uses, including compressing -kernel crash dumps, as a replacement for gzip or bzip for -compressing log files, and for future versions of pkg(8). -</p> -<p>This effort to complete the integration of ZSTD into ZFS is -funded by the FreeBSD Foundation. -</p> -<p>During the third quarter the integrating of ZSTD into OpenZFS -was completed in the upstream OpenZFS repository, and the new -OpenZFS 2.0 codebase was imported into 13-CURRENT. -Completed milestones in this project: -</p> -<ul> -<li><p>Importing ZSTD 1.4.5 into OpenZFS, using the recent upstream zstd features that make it easier to embed zstd in other projects. -</p></li> -<li><p>Changing the way compression levels are tracked and inherited. -</p></li> -<li><p>Save and restore the compression level via an embedded block header. -</p></li> -<li><p>Also store the version of zstd used in the embedded block header, for future-proofing. The checksum of a block may not match if zstd is upgraded, since it may compress the block more. -</p></li> -<li><p>Add tests to ensure zstd compression and metadata survive ZFS replication. -</p></li> -<li><p>Resolve possible negative interactions with L2ARC and ZFS Native Encryption. -</p></li> -<li><p>Fix bug with L2ARC if the Compressed ARC feature is disabled. -</p></li> -<li><p>Improve the ZFS feature activation code, so that zstd cannot create pools that will panic older versions of ZFS. -</p> -</li></ul> -With these changes, upgraded pools can compress data with zstd -<p>or zstd-fast, across a wide range of different compression levels. -This will allow the storage administrator to select the -performance-vs-compression tradeoff that best suits their needs. -</p> -<p>Tasks remaining to be completed: -</p> -<ul> -<li><p>Add a section to the FreeBSD Handbook ZFS chapter about zstd -</p></li> -<li><p>Create more documentation around selecting a suitable compression level -</p></li> -<li><p>Finish support for ZSTD in the FreeBSD boot loader (Warner Losh <a href="mailto:imp@freebsd.org" shape="rect">imp@freebsd.org</a>) -</p> -</li></ul> -Sponsor: The FreeBSD Foundation -<hr /><br /><h1><a name="Architectures" href="#Architectures" id="Architectures">Architectures</a></h1><p>Updating platform-specific features and bringing in support - for new hardware platforms.</p><br /><h2><a name="CheriBSD-2020-Q3" href="#CheriBSD-2020-Q3" id="CheriBSD-2020-Q3">CheriBSD 2020 Q3</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr></table><p> - Contact: Alex Richardson <<a href="mailto:arichardson@FreeBSD.org">arichardson@FreeBSD.org</a>> - <br /> - Contact: Andrew Turner <<a href="mailto:andrew@FreeBSD.org">andrew@FreeBSD.org</a>> - <br /> - Contact: Brooks Davis <<a href="mailto:brooks@FreeBSD.org">brooks@FreeBSD.org</a>> - <br /> - Contact: Edward Tomasz Napierala <<a href="mailto:trasz@FreeBSD.org">trasz@FreeBSD.org</a>> - <br /> - Contact: George Neville-Neil <<a href="mailto:gnn@FreeBSD.org">gnn@FreeBSD.org</a>> - <br /> - Contact: Jessica Clarke <<a href="mailto:jrtc27@FreeBSD.org">jrtc27@FreeBSD.org</a>> - <br /> - Contact: John Baldwin <<a href="mailto:jhb@FreeBSD.org">jhb@FreeBSD.org</a>> - <br /> - Contact: Robert Watson <<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>> - <br /> - Contact: Ruslan Bukin <<a href="mailto:br@FreeBSD.org">br@FreeBSD.org</a>> - </p><p>CheriBSD extends FreeBSD to implement memory protection and software -compartmentalization features supported by the CHERI instruction-set -extensions. There are three architectural implementations of the -CHERI protection model: CHERI-MIPS, CHERI-RISC-V, and Arm's forthcoming -experimental Morello processor (due late 2021). CheriBSD is a research -operating system with a stable baseline implementation into which -various new research features have been, or are currently being, merged: -</p> -<ul> -<li><p>Arm Morello - We are preparing to open source our adaptation of - CheriBSD to Arm's Morello architecture. The Morello branch is being - updated to the most recent CheriBSD baseline, and patches are in review - for upstreaming to our open-source repository. CheriBSD currently boots - and runs statically linked CheriABI binaries on the Morello simulator, - and dynamic linking support is in progress, with OS and toolchain bugs - being worked on. We aim to make a first CheriBSD/Morello snapshot - available alongside other open-source Morello software in mid-October - 2020, however, our target for a more mature and usable implementation is - December 2020. -</p> -</li> -<li><p>Kernel spatial memory safety (pure-capability kernel) - The current - CheriBSD kernel is a hybrid C program where only pointers to userspace - are CHERI capabilities. This ensures that the kernel follows the - intent of the application runtime and cannot be used to defeat - bounds on application pointers. We have developed and will soon - merge a pure-capability kernel where all pointers in the kernel are - appropriately bounded capabilities. This vastly reduces the opportunity - for buffer overflows. This spatial memory safety lays the - groundwork for future work such as device driver compartmentalization - and kernel temporal safety. -</p> -</li> -<li><p>Userspace heap temporal memory safety (Cornucopia) - CHERI - capabilities provide the necessary features to enable - robust and efficient revocation of freed pointers. With <a href="https://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/2020oakland-cornucopia.pdf" shape="rect">Cornucopia</a> - we have implemented a light-weight revocation framework providing - protection from use-after-reallocation bugs with an average cost below - 2%. We aim to bring these overheads down further over the next year and - merge this functionality into the mainline CheriBSD. -</p> -</li> -<li><p>We have been working on updating the arm64 bhyve from Politehnica - University of Bucharest to have it committed to FreeBSD. We have been - upstreaming initial changes to help support this. -</p> -</li> -<li><p>Baseline FreeBSD improvements - We are upstreaming (to FreeBSD) various - bug fixes and tweaks for PCIe support, and support for the System MMU (SMMU) - that will be present on the N1SDP and Morello SoCs. We have upstreamed - support for cross-building FreeBSD from macOS and Linux (with some - limitations; see separate entry on crossbuilding). We have also fixed - implementation bugs in the RISC-V ABI. -</p> -</li></ul> -<h3>CHERI Documentation and Exercises</h3> - -<ul> -<li><p>We have released <a href="https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-951.pdf" shape="rect">Capability - Hardware Enhanced RISC Instructions: CHERI Instruction-Set Architecture (Version 8)</a>. - Notable changes include promotion of CHERI-RISC-V to non-experimental - and discussion of Arm's Morello prototype. -</p> -</li> -<li><p>We have developed a set of <a href="https://ctsrd-cheri.github.io/cheri-exercises" shape="rect">Adversarial - CHERI Exercises and Missions</a> to introduce security - researchers to CHERI protections. -</p></li></ul> -<hr /><h2><a name="FreeBSD/RISC-V-Project" href="#FreeBSD/RISC-V-Project" id="FreeBSD/RISC-V-Project">FreeBSD/RISC-V Project</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/riscv" title="https://wiki.freebsd.org/riscv">Wiki</a></td><td> - URL: <a href="https://wiki.freebsd.org/riscv" title="Wiki">https://wiki.freebsd.org/riscv</a></td></tr></table><p> - Contact: Mitchell Horne <<a href="mailto:mhorne@FreeBSD.org">mhorne@FreeBSD.org</a>> - </p><p>Contact: <a href="https://lists.FreeBSD.org/mailman/listinfo/freebsd-riscv" shape="rect">freebsd-riscv Mailing List</a><br clear="none" /> -Contact: IRC #freebsd-riscv on freenode<br clear="none" /> -</p> -<p>The FreeBSD/RISC-V project is providing support for running FreeBSD on the -<a href="https://riscv.org/" shape="rect">RISC-V Instruction Set Architecture</a>. -</p> -<p>This quarter saw several important bug fixes. A number of hangs in the system -were identified and addressed, and a bug in QEMU's implementation of the -Platform Level Interrupt Controller was fixed. This fix is included in the new -<code>devel/qemu50</code> and <code>devel/qemu-devel</code> ports. -</p> -<p>The end result of these fixes is that the test suite can now be reliably run to -completion in QEMU. The entire run takes several hours, so CI has been -configured to run the job once a day. There is active effort into reducing the -time it takes to run the entire test suite. -</p> -<p>A new u-boot port was created: <code>sysutils/u-boot-qemu-riscv64</code>. This variant can -be used as a secondary bootloader alongside OpenSBI to load and launch FreeBSD's -<code>loader(8)</code> from an EFI System Partition. -</p> -<p>Next quarter will likely bring further fixes to address some of the failing test -cases. -</p><hr /><br /><h1><a name="Ports" href="#Ports" id="Ports">Ports</a></h1><p>Changes affecting the Ports Collection, whether sweeping - changes that touch most of the tree, or individual ports - themselves.</p><br /><h2><a name="Update-to-grub-bhyve" href="#Update-to-grub-bhyve" id="Update-to-grub-bhyve">Update to grub-bhyve</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://gitlab.com/ctuffli/grub" title="https://gitlab.com/ctuffli/grub">grub-bhyve Git Repository</a></td><td> - URL: <a href="https://gitlab.com/ctuffli/grub" title="grub-bhyve Git Repository">https://gitlab.com/ctuffli/grub</a></td></tr></table><p> - Contact: Chuck Tuffli <<a href="mailto:chuck@freebsd.org">chuck@freebsd.org</a>> - </p><p>bhyve is the hypervisor included in FreeBSD and other operating systems -used to run virtual machines. When not using a boot ROM (i.e. UEFI), the -user must load the guest operating system for bhyve. For non-FreeBSD -guests, the loader is a version of GNU GRUB (a.k.a the GNU GRand Unified -Bootloader) modified to interface with bhyve. This work is an effort to -both update the base GRUB code to the latest version as well as improve -the usability on FreeBSD. -</p> -<p>The current <a href="https://www.freshports.org/sysutils/grub2-bhyve/" shape="rect">grub-bhyve</a> -is based on an older version of GRUB (circa 2015) and thus is missing -more recent additions such as XFS file system and -<a href="https://www.syslinux.org/" shape="rect">syslinux</a> support. With the update, -installing CentOS, for example, now does not require the extra step of -changing the default file system to something other than XFS. -</p> -<p>Internally, the code has been restructured to be its own "platform" -which should make it easier to keep in sync with upstream development. -The major improvement is the ability to automatically find and load the -GRUB configuration file from the guest disk image. With this change, it -is not necessary to create a device map file or specify which Linux -kernel or initrd image to use. More importantly, if the guest image -updates its GRUB configuration, for example after updating the kernel, -no changes are needed when invoking grub-bhyve. Note, this feature -requires a new "disk" option: -</p> -<p> # grub-bhyve --disk=/zroot/vms/u18-mini/disk0.img --vm=u18-mini -</p> -<p>The automatic configuration file detection works with both GRUB -configuration files (e.g. CentOS, Ubuntu) as well as syslinux -configuration (e.g. Alpine). For the adventurous, there is experimental -support for Fedora's BootLoaderSpec (a.k.a. <code>blscfg</code>) on the blscfg -branch of the grub-bhyve Git repository. -</p> -<p>The code has been tested on a few Linux variants, but it would benefit -from wider testing (and bug reports!). The new version does not have a -Port but is easily built on FreeBSD. After cloning / downloading the -source, run: -</p> -<p> $ PYTHON=python3.7 ./bootstrap - $ MAKE=gmake ./configure --with-platform=bhyve - $ gmake -</p> -<p>The resulting binary, <code>grub-bhyve</code>, will be in the <code>grub-core/</code> -directory. If you have success or troubles with it, please let me know. -</p><hr /><h2><a name="KDE-on-FreeBSD" href="#KDE-on-FreeBSD" id="KDE-on-FreeBSD">KDE on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://freebsd.kde.org/" title="https://freebsd.kde.org/">KDE FreeBSD</a></td><td> - URL: <a href="https://freebsd.kde.org/" title="KDE FreeBSD">https://freebsd.kde.org/</a></td></tr><tr><td><a href="https://community.kde.org/FreeBSD" title="https://community.kde.org/FreeBSD">KDE Community FreeBSD</a></td><td> - URL: <a href="https://community.kde.org/FreeBSD" title="KDE Community FreeBSD">https://community.kde.org/FreeBSD</a></td></tr></table><p> - Contact: Adriaan de Groot <<a href="mailto:kde@FreeBSD.org">kde@FreeBSD.org</a>> - </p><p>The KDE on FreeBSD project aims to package all of the software -produced by the KDE Community for the FreeBSD ports tree. -The software includes a full desktop environment called KDE Plasma, -an IDE with the name <a href="https://www.kdevelop.org/" shape="rect">KDevelop</a>, -a PIM suite known as <a href="https://kontact.kde.org/" shape="rect">Kontact</a> -and hundreds of other applications that can be used on -any FreeBSD machine. -</p> -<p>With the continuation of the ever-so-peculiar era of -almost-only-online, the KDE community has shifted gears -and also gone for online events. The yearly conference, -<a href="https://akademy.kde.org/2020/" shape="rect">Akademy</a>, -was conducted online over video calls. -Meanwhile, software continues to be released, -so this quarter the kde@ team: -</p> -<ul> -<li><p>Put the beta of the next version of KDE Plasma, scheduled for - official release in October 2020, into the - <a href="https://community.kde.org/FreeBSD/Setup/Area51" shape="rect">Area51 development</a> tree. - Area51 is a fork of the FreeBSD ports tree where new development for - KDE ports happens. -</p></li> -<li><p>The monthly regular updates to the KDE Plasma desktop landed on-time - and safely. -</p></li> -<li><p>With three months in a quarter, there were also three releases of - KDE Frameworks 5, including a new framework for handling DAV jobs. -</p></li> -<li><p>The June applications update and its .1 release landed a bit late, - but brings with it the usual raft of updates to KDE applications and libraries, -</p></li> -<li><p>A new <a href="https://www.digikam.org/" shape="rect">Digikam</a> release, which arrived in - the ports tree on the day of its release. -</p></li> -<li><p>A new <a href="https://www.kdevelop.org/" shape="rect">KDevelop</a> release arrived a day - after its release. This update contains a number of crash fixes - for refactoring support. -</p></li> -<li><p>Qt was updated to Qt 5.15, the last in the Qt5 series and an LTS - version. Bugfix releases are expected, but the next major Qt will - be Qt 6. -</p> -</li></ul> -On the infrastructure front, August saw some minor updates to CMake and ninja. -<p>As usual, kde@ continues to support the work of xorg@ and gnome@ in maintaining -the Free Desktop stack on FreeBSD, including XOrg, poppler, and xdg-utils. -A new <code>MAINTAINER</code> group, desktop@, has been created to provide -shared ownership of that shared stack. -</p> -<p>With Python2 deprecation looming, the build system for QtWebEngine -- -itself a fork of Chromium -- is becoming a pressing issue in Q4 -and will no doubt chew up a lot of time in the coming months. -</p><hr /><br /><h1><a name="Documentation" href="#Documentation" id="Documentation">Documentation</a></h1><p>Noteworthy changes in the documentation tree, in manpages, or in - external books/documents.</p><br /><h2><a name="DOCNG-on-FreeBSD" href="#DOCNG-on-FreeBSD" id="DOCNG-on-FreeBSD">DOCNG on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://gitlab.com/carlavilla/freebsd-hugo-website" title="https://gitlab.com/carlavilla/freebsd-hugo-website">DOCNG Website Repo</a></td><td> - URL: <a href="https://gitlab.com/carlavilla/freebsd-hugo-website" title="DOCNG Website Repo">https://gitlab.com/carlavilla/freebsd-hugo-website</a></td></tr><tr><td><a href="https://gitlab.com/carlavilla/freebsd-hugo-documentation" title="https://gitlab.com/carlavilla/freebsd-hugo-documentation">DOCNG Documentation Repo</a></td><td> - URL: <a href="https://gitlab.com/carlavilla/freebsd-hugo-documentation" title="DOCNG Documentation Repo">https://gitlab.com/carlavilla/freebsd-hugo-documentation</a></td></tr><tr><td><a href="https://gitlab.com/carlavilla/freebsd-hugo-data" title="https://gitlab.com/carlavilla/freebsd-hugo-data">DOCNG Share Repo</a></td><td> - URL: <a href="https://gitlab.com/carlavilla/freebsd-hugo-data" title="DOCNG Share Repo">https://gitlab.com/carlavilla/freebsd-hugo-data</a></td></tr></table><p> - Contact: Sergio Carlavilla <<a href="mailto:carlavilla@FreeBSD.org">carlavilla@FreeBSD.org</a>> - </p><p>The Doc New Generation project aims to convert the website and all -existing documentation to Hugo/AsciiDoctor. Right now almost -everything is converted as you can see in the repositories. -</p> -<p>The objective of using Hugo and AsciiDoctor is to reduce the -learning curve and let people to start quickly with our documentation -system. Other benefits of using Hugo is that we can use other -technologies aside from AsciiDoctor, like MarkDown, RST, Pandoc, etc. -</p> -<p>The remaining tasks include: -</p><ul> -<li><p>Finish the conversion of some books to AsciiDoctor. -</p></li> -<li><p>Get some tweaks in the CSS to be responsive. -</p></li> -<li><p>Add AsciiDoctor extensions to create an index of tables and figures. -</p></li> -<li><p>Make a general review. -</p> -</li></ul> -The dates for making the migration have yet to be discussed. - -<p>Patches, comments and objections are always welcome. -</p><hr /><br /><h1><a name="Third-Party-Projects" href="#Third-Party-Projects" id="Third-Party-Projects">Third-Party Projects</a></h1><p>Many projects build upon FreeBSD or incorporate components of - FreeBSD into their project. As these projects may be of interest - to the broader FreeBSD community, we sometimes include brief - updates submitted by these projects in our quarterly report. - The FreeBSD project makes no representation as to the accuracy or - veracity of any claims in these submissions.</p><br /><h2><a name="Potluck---Flavour-&-Image-Repository-for-pot" href="#Potluck---Flavour-&-Image-Repository-for-pot" id="Potluck---Flavour-&-Image-Repository-for-pot">Potluck - Flavour & Image Repository for pot</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://potluck.honeyguide.net/" title="https://potluck.honeyguide.net/">Potluck Repository & Project</a></td><td> - URL: <a href="https://potluck.honeyguide.net/" title="Potluck Repository & Project">https://potluck.honeyguide.net/</a></td></tr><tr><td><a href="https://github.com/hny-gd/potluck" title="https://github.com/hny-gd/potluck">Potluck on github</a></td><td> - URL: <a href="https://github.com/hny-gd/potluck" title="Potluck on github">https://github.com/hny-gd/potluck</a></td></tr><tr><td><a href="https://pot.pizzamig.dev" title="https://pot.pizzamig.dev">pot project</a></td><td> - URL: <a href="https://pot.pizzamig.dev" title="pot project">https://pot.pizzamig.dev</a></td></tr></table><p> - Contact: Stephan Lichtenauer <<a href="mailto:sl@honeyguide.eu">sl@honeyguide.eu</a>> - </p><p>pot is a jail management tool that <a href="https://www.freebsd.org/news/status/report-2020-01-2020-03.html#pot-and-the-nomad-pot-driver" shape="rect">also supports orchestration through nomad</a>. -</p> -<p>Potluck aims to be to FreeBSD and pot what Dockerhub is to Linux and Docker: A repository of pot flavours and complete images for usage with pot. -</p> -<p>In the last quarter, an initial set of Nomad, Consul and Traefik images has been created that are sufficient to run a simple virtual datacenter out of the box. <br clear="none" /> -<a href="https://honeyguide.eu/posts/virtual-dc1/" shape="rect">A three-part article series explaining how to set this up</a> is also available now. -</p> -<p>Furthermore, ready-made images suitable for scheduling via Nomad and Consul in such an environment have been created, e.g. a BackupPC or a Postfix Backup MX service. -</p> -<p>Future plans include additional images and exposing more configuration options in the existing images to allow a more flexible usage. -</p> -<p>Beside general feedback and tests, additional flavours and patches are very welcome! -</p> -<p>Sponsors: Honeyguide GmbH & Honeyguide Group (Pty) Ltd -</p><hr /><h2><a name="Puppet" href="#Puppet" id="Puppet">Puppet</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://puppet.com/docs/puppet/latest/puppet_index.html" title="https://puppet.com/docs/puppet/latest/puppet_index.html">Puppet</a></td><td> - URL: <a href="https://puppet.com/docs/puppet/latest/puppet_index.html" title="Puppet">https://puppet.com/docs/puppet/latest/puppet_index.html</a></td></tr><tr><td><a href="https://puppetcommunity.slack.com/messages/C6CK0UGB1/" title="https://puppetcommunity.slack.com/messages/C6CK0UGB1/">Puppet's FreeBSD slack channel</a></td><td> - URL: <a href="https://puppetcommunity.slack.com/messages/C6CK0UGB1/" title="Puppet's FreeBSD slack channel">https://puppetcommunity.slack.com/messages/C6CK0UGB1/</a></td></tr><tr><td><a href="https://puppet.com/docs/bolt/latest/bolt.html" title="https://puppet.com/docs/bolt/latest/bolt.html">Bolt</a></td><td> - URL: <a href="https://puppet.com/docs/bolt/latest/bolt.html" title="Bolt">https://puppet.com/docs/bolt/latest/bolt.html</a></td></tr><tr><td><a href="https://choria.io/" title="https://choria.io/">Choria</a></td><td> - URL: <a href="https://choria.io/" title="Choria">https://choria.io/</a></td></tr></table><p> - Contact: Puppet Team <<a href="mailto:puppet@FreeBSD.org">puppet@FreeBSD.org</a>> - </p><p>Since out last status report a few years ago, the puppet@ team regularly -updated the various Puppet ports to follow upstream releases of Puppet -4, Puppet 5 and Puppet 6. Puppet 4 was removed when it reached EOL. -</p> -<p>More recently, an effort was made to enhance Facter 4 so that it can be -used as a drop-in replacement of Facter 3 on FreeBSD. Facter 4 is a -Ruby rewrite of Facter 3, the C++ rewrite of Facter 2 which was -initially in Ruby. As a consequence we have two ports for Facter: -sysutils/facter is the C++ implementation (Facter 3) and -sysutils/rubygems-facter is the Ruby implementation (updated from Facter -2 to Facter 4 a few weeks ago). The Puppet 5 and Puppet 6 ports already -allow to choose which version of Facter to use. Facter 4 will be the -default version of Facter with Puppet 7 which is expected to be released -soon. -</p> -<p>We are getting ready to add a port for Puppet 7 as sysutils/puppet7 -when it is available, along with PuppetServer 7 (sysutils/puppetserver7), -and PuppetDB 7 (databases/puppetdb7). -</p> -<p>Regarding orchestration, most Marionette Collective ports have been -deprecated for a long time, and the last component sysutils/mcollective -is expected to be deprecated soon: Marionette Collective was not shipped -anymore with Puppet 6 and Bolt has been made available as a lightweight -replacement. -</p> -<p>Bolt is already available in the ports tree as sysutils/rubygems-bolt), -but if you are using Marionette Collective, you are invited to look into -Choria which will reach the ports tree soon as sysutils/choria. Choria -is a direct evolution of Marionette Collective allowing a smooth -transition from MCollective. Once Choria is available in the ports -tree, Marionette Collective will be deprecated. -</p><hr /><a href="../news.html">News Home</a> | <a href="status.html">Status Home</a></div> - <br class="clearboth" /> - </div> - <div id="footer"> - <span><a href="../../search/index-site.html">Site Map</a> | - <a href="../../copyright/">Legal Notices</a> | © 1995–2021 The FreeBSD Project. - All rights reserved.</span> - <br /> - </div> - </div> - </div> - </body> -</html> |
