Index: head/en_US.ISO8859-1/htdocs/news/status/report-2016-07-2016-09.xml
===================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2016-07-2016-09.xml (revision 49557)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2016-07-2016-09.xml (revision 49558)
@@ -1,1009 +1,1055 @@
This is a draft of the July–September 2016
status report. Please check back after it is finalized, and
an announcement email is sent to the &os;-Announce mailing
list.
The third quarter of 2016 was another productive quarter for the &os; project and community. [...]
Thanks to all the reporters for the excellent work!
The deadline for submissions covering the period from October to December 2016 is January 7, 2016.
?>Currently, &os; is well proven as a base for routers (pfSense, OPNSense, BSDRP) and NAS (FreeNAS, zfsGuru, Nas4Free). However, &os;-based solutions are almost completely absent in the virtualization area, and ClonOS is one of the attempts to change it.
ClonOS is a new free open-source &os;-based platform for virtual environment creation and management. In the core platform are:
As in all previous editions of the Google Summer of Code, &os; was an accepted organization, and we had the chance to mentor 15 projects. Huge thanks to all our mentors for keeping the high quality standards that make our community shine.
This year was rather unique in that we accepted for the first time well-known members of the community that are not src committers to co-mentor. We also accepted projects that have a different upstream than &os;. Both are clear signs that &os; is growing and adapting to the wider community.
This year we are also had administrative issues with Perforce and have accepted officially the use of external repositories, in particular github, as requested by students.
12 of 15 projects were successful, which we think is an excellent result for a Google Summer of Code.
CloudABI is a compact UNIX-like runtime environment inspired by &os;'s Capsicum security framework. It allows you to safely run potentially untrusted programs directly on top of &os;, Linux and macOS, without requiring the use of virtualisation, jails, etc. This makes it a useful building block for cluster/cloud computing.
Over the last couple of months, several new libraries and applications have been ported over to CloudABI, the most important addition being Python 3.6. This means that you can now write strongly sandboxed apps in Python!
Support for different hardware platforms has also improved. In addition to amd64 and arm64, we now support i686 and armv6. The release of LLVM 3.9 was important to us, as it has integrated all the necessary changes to support the first three platforms. Full armv6 support is still blocked on some issues with LLVM's linker, LLD.
This quarter, the Hyper-V storage driver was greatly improved: its performance was increased by a factor of 1.2-2 by applying BUS_DMA and UNMAP_IO, enlarging the request queue, and selecting the outgoing channel with the LUN considered; TRIM/UNMAP was enabled; and some critical bugs (PRs 209443, 211000, 212998) were fixed so that disk hot add/remove and VHDX online resizing should work now.
The VMBus driver also received attention, with enhancements made for the handling of device hot add/remove.
In the Hyper-V network driver, configurable RSS key and dynamic MTU change are now supported.
&os; images on Azure continue to be updated — after publishing the &os; 10.3 VM image on the global Microsoft Azure in June, Microsoft also published the VM image on the Microsoft Azure operated by 21Vianet in China in September.
Patches have been developed to support PCIe pass-through (also known as Discrete Device Assignment); this feature allows physical PCIe devices to be passed through to &os; VMs running on Hyper-V (Windows Server 2016), giving them near-native performance with low CPU utilization. The patch to enable the feature will be posted for review soon.
This project provides:
The ptnet device and driver has been introduced to overcome the performance limitations of TCP/IP networking between bhyve VMs. Prior to this work, the most performant solution for VM-to-VM intra-host TCP communication provided less than 2 Gbps TCP throughput. With ptnet, in the same VM-to-VM TCP communication scenario, it is possible to obtain up to 20 Gbps.
LXQt is the Qt port of and the upcoming version of LXDE, the Lightweight Desktop Environment. It is the product of a merge between the LXDE-Qt and Razor-qt projects.
The porting effort remains very much a work in progress: it requires some components of Plasma 5, the new major KDE workspace.
The porting of the 0.11 branch is now complete, with new ports (compared to the previous release). See our wiki page for a complete list of applications.
We also have updates for:
Xfce is a free software desktop environment for Unix and Unix-like platforms such as &os;. It aims to be fast and lightweight, while still being visually appealing and easy to use.
During this quarter, the team has kept the following applications up-to-date:
We also follow the unstable releases; the current unstable release brings support for Gtk3 (available in our experimental repository) to:
Currently, the unstable releases work fine with our Gtk3 ports available in the ports tree, but in the future, support for 3.18 will be removed in preference of 3.20.x.
This project was started during Google Summer of Code this year. The aim was to create a library which can convert the audit trail files in Linux Audit format or the format used by Windows to the BSM format (the format &os; uses for its audit logs). Apart from that, I wanted to create a simple command-line tool and extend auditdistd so that it is possible to send non-BSM logs to auditdistd over a secure connection and save those audit logs on disk, preferably in the BSM format.
So far, it is possible to reasonably convert some of the most common Linux audit log events to BSM, but it still needs a lot of work. Secondly, I was able to configure auditdistd to communicate with CentOS over an insecure connection. Thirdly, the command-line tool is usable but not perfect.
The present work focuses on configuring the secure TLS connection between CentOS and auditdistd. I've already tried using rsyslogd but wasn't able to make it work.
Non-Transparent Bridges allow creation of memory windows between different systems, using the regular PCIe links of CPUs as a transport. During the last quarter, the NTB subsystem gained a significant set of improvements and fixes:
The code is committed to the &os; head, stable/11 and stable/10 branches.
The ZFS code base in &os; regularly gets merges of new code, staying in sync with latest OpenZFS/Illumos sources. Among other things, the latest merge included the following improvements:
&os; includes support for the Marvell Armada38x platform, which has been tested and improved in order to gain production quality. Most of this effort has been invested in development and benchmarking of the on-chip Gigabit Ethernet (NETA) functionality. Numerous bug fixes, as well as some new features, have been introduced.
Work completed this quarter includes:
Along with support for new boards (SolidRun ClearFog and DB-88F6285-AP), all changes will be submitted upstream.
The Elastic Network Adapter (ENA) is a 25G SmartNIC developed by Annapurna Labs based on a custom ARMv8 chip. This is a high-performance networking card that is available to AWS virtual machines. It introduces enhancements in network utilization scalability on EC2 machines running various operating systems, in particular &os;.
The goal of &os; enablement is to provide top performance and a wide range of monitoring and management features such as:
The current state offers stable driver operation with good performance on machines running &os; directly on the hardware.
Alpine is a family of Platform-on-Chip devices, including multi-core 32-bit (first-gen Alpine) and 64-bit (Alpine V2) ARM CPUs, developed by Annapurna Labs.
The primary focus areas of the Alpine platform are high-performance networking, storage and embedded applications. The network subsystem features 10-, 25-, and 50-Gbit Ethernet controllers with support for virtualization, load-balancing, hardware offload and other advanced features.
A basic patch set has already been committed to HEAD including:
Additional work, such as an MSI-X driver and full Ethernet support, is currently undergoing community review on Phabricator.
The multi-user SMP system is stable and fully working, along with the 1G and 10G Ethernet links.
The interrupt management code has been adjusted to work with the new INTRNG framework on both ARM32 and ARM64.
For EuroBSDcon, I began looking into inconsistencies within components inside our family of operating systems. My workflow consisted of reading the documentation for a given utility and checking the history in the revision control system for missing fixes or functionality in the trees of NetBSD, &os;, OpenBSD, and DragonFly BSD.
One thing which became obvious very quickly, was the inconsistency between operating systems about where and/or which version a utility originated in, despite our common heritage.
I began with working through the man pages in &os;, verifying the details in pages which already had a history section and making patches for those which did not.
From there, changes were propogated out to NetBSD, OpenBSD and Dragonfly BSD where applicable (not all utilities originated from the same source or implimentation, for example).
This was a good exercise in:
&os; provides an API for guest OSes to access shared folders on + the host OS so that the kernel driver can expose them to the + guest's userland. This project aims to add such functionality to + the VirtualBox Guest Additions driver.
+ +Good progress was made over last few months. Developers were + able to mount a filesystem in read-only mode and, with some + limitations, in read-write mode. The implementation still lacks + some critical pieces, but the roadmap is clear.
+ + +