FreeBSD Status Reports for the Third Quarter of 2007

Brad Davis brd at
Wed Oct 10 11:34:16 PDT 2007

FreeBSD Quarterly Status Report


   This report covers FreeBSD related projects between July and October
   2007. The sixth EuroBSDCon was held in Denmark in September. The Google
   Summer of Code project came to a close and lots of participants are
   working getting their code merged back into FreeBSD.

   The bugs in the FreeBSD HEAD branch are being shaked out and it is
   being prepared for the FreeBSD 7 branching. If your are curious about
   what's new in FreeBSD 7.0 we suggest reading Ivan Voras' excellent
   summary here .

   Thanks to all the reporters for the excellent work! We hope you enjoy

Google Summer of Code

     * Summer of Code
     * finstall
     * FreeBSD-update Front End
     * gvirstor
     * MTund - Magic Tunnel Daemon
     * Porting OpenBSD's sysctl Hardware Sensors Framework to FreeBSD
     * Ports Collection infrastructure improvements


     * Apple's MacBook on FreeBSD
     * Multi-link PPP daemon (MPD) 5.x
     * Multicast DNS
     * Porting Linux KVM to FreeBSD
     * USB

FreeBSD Team Reports

     * Admins Report
     * Ports Collection

Network Infrastructure

     * Network Stack Virtualization


     * PC-BSD Handbook
     * The Hungarian Documentation Project
     * The Spanish Documentation Project


     * EuroBSDcon 2007
     * GNATS graphs

Apple's MacBook on FreeBSD


   Contact: Rui Paulo <rpaulo at>

   The Summer of Code project went well and we reached interesting
   results. At least the Mac Mini should be fully supported by now.
   Regarding the other Apple systems, we still need to polish some edges.

Open tasks:

    1. Integrate rpaulo-macbook p4 branch into CVS.
    2. Continue the work on the remaining issues.

EuroBSDcon 2007


   Contact: EuroBSDCon 2007 Organizing Committee <info at>

   The sixth EuroBSDCon went well. 215 people attended the conference.
   Feedback has been very positive.

   At the conference we had a Best Talk contest. Steven Murdoch, Isaac
   Levy and Pawel Jakub "zfs-man" Dawidek each received a prize for their
   fantastic talks.

   Also over 300 pictures from the conference has been uploaded to Flickr
   with the tag EuroBSDCon2007

   Videos and slides from the talks are now online at the conference

   We thank our speakers for graciously having permitted recording and
   publication of their talks

   EuroBSDCon 2008 will take place in Strassbourg.



   Contact: Ivan Voras <ivoras at>

   The "finstall" project is about the new graphical installer for
   FreeBSD. The basic frameworks (both client-side and server-side) are
   done during the SoC 2007 and it's ready for major new features to be
   implemented. This project should yield an usable installer for

Open tasks:

    1. - There are several patches needed for finstall's operation that
       are still waiting on re@'s approval (unionfs, pwd, kbdmap).
       Finstall will be late or unusuable until these patches are
    2. - After the patches are committed, there are several exciting
       features to be implemented, among others ZFS and GEOM RAID support.

FreeBSD-update Front End


   Contact: Andrew Turner <andrew at>

   The freebsd-update front end is able to wait for freebsd-update to
   download a new set of patches to apply. It can then install and
   rollback the patches on either the local computer or over a SSH tunnel.

   Since the end of the Summer of Code work has moved to BerliOS. The
   focus has been on writing tests for the front end, back end and
   communication library. The library has had tests written for most of it
   while the front and back ends have none.

Open tasks:

    1. Write more tests.
     __________________________________________________________________ Admins Report

   Contact: Admins Team admins at <>

   Over the last couple of months several systems have been
   experiencing hardware issues. This included the main web-server which had a bad fan. The bad fan has been replaced so
   it should hopefully be stable again. In general we are working on
   replacing older hardware with newer systems and consolidating machine
   functions in the process.

   Since August most services have been available via IPv6
   with connectivity provided from ISC using a tunnel.

   To honor the "Eat your own dog-food" principle the first two infrastructure systems have been upgraded to FreeBSD 7 and
   more are being upgraded as time permit.

   Due to heavy load on the project's Perforce and CVS server the two
   services are being moved to seperate systems to improve performance of
   both CVS and Perforce.

GNATS graphs


   Contact: Edwin Groothuis <edwin at>

   With the leaving of bsd@, we lost the GNATS statistics webpages. On
   this URL I generate a new set of graphs, right now a subset of what
   bsd@ had, hopefully a superset of that in the future.



   Contact: Ivan Voras <ivoras at>

   GEOM_VIRSTOR (virtual disk space / over-commit GEOM class) has been
   committed to 7-CURRENT and will ship in 7.0-RELEASE. Thanks to Pawel
   Jakub Dawidek and others who have made this possible.

Open tasks:

    1. It needs wider exposure and testing.

MTund - Magic Tunnel Daemon


   Contact: Matus Harvan <mharvan at>

   IP can easily be tunneled over a plethora of network protocols at
   various layers, such as IP, ICMP, UDP, TCP, DNS, HTTP, SSH. While a
   direct connection may not always be possible due to a firewall, the IP
   packets could be encapsulated as payload in other protocols, which
   would get through. However, each such encapsulation requires the setup
   of a different program and the user has to manually probe different
   encapsulations to find out which of them works in a given environment.

   MTund is a tunneling daemon using run-time loadable plugins for the
   different encapsulations. It automagically selects the best
   encapsulation in each environment and can fail over to another
   encapsulation. Several plugins have been implemented and the daemon
   supports multiple concurrent clients.

   Note that the project originally started under the name of Super Tunnel
   Daemon, but was later renamed to Magic Tunnel Daemon (MTund).

Open tasks:

    1. Config file format and parser.
    2. More plugins (http, ssh, ...).

Multi-link PPP daemon (MPD) 5.x


   Contact: Alexander Motin <mav at>

   New mpd-5.x branch has been started and first public release is planned
   soon. The main goal of the new branch is to implement new operation
   principles based on dynamic on-demand links/bundles creation. There are
   several benefits received from new design:
     * Significantly simplified server configuration - no more tons of
       predefined links/bundles,
     * New multilink implementation - no more predefined link-bundle
     * Call forwarding (LAC, PAC, TSA) like in Cisco VPDN setups can now
       be enabled/configured depending on peer auth name/domain.

Open tasks:

    1. L2TP auth proxying support.

Multicast DNS


   Contact: Fredrik Lindberg <fli at>

   The project (started out as a GSoC 2007 project) aims to provide a
   complete Multicast DNS and Service Discovery suite. Much progress have
   been made since the last status report and the project is slowly
   reaching a usable state. Most features are complete and the current
   focus is on fixing outstanding bugs, fine tuning and testing. However,
   there are still a few open tasks (see below). More information and
   snapshots can be found at the wiki page.

Open tasks:

    1. Avahi library wrapper.
    2. dns_sd (Apple) library wrapper.
    3. Testing (always welcome).

Network Stack Virtualization


   Contact: Marko Zec <zec at>

   The network stack virtualization project aims at extending the FreeBSD
   kernel to maintain multiple independent instances of networking state.
   This allows for networking independence between jail-like environmens,
   each maintaining its private network interface set, IPv4 and IPv6
   network and port address space, routing tables, IPSec configuration,
   firewalls, and more.

   The prototype, which is kept in sync with FreeBSD -CURRENT, should be
   sufficiently stable for testing and experimental use. The project's web
   page includes weekly code snapshots, as well as a virtualized FreeBSD
   system installed on a VMWare disk image available for download.

   The short-term goal is to deliver production-grade kernel support for
   virtualized networking for FreeBSD 7.0-RELEASE (as a snap-in kernel
   replacement), while continuing to keep the code in sync with -CURRENT
   for possible merging at a later date.

PC-BSD Handbook


   Contact: Murray Stokely <murray at>
   Contact: Matt Olander <matt at>
   Contact: Fukang Chen <loader at>

   The PC-BSD derivative of FreeBSD is becoming increasingly popular for
   new users of BSD. Much of the content in the existing FreeBSD Handbook
   is directly applicable to PC-BSD. We are writing PC-BSD specific
   installation and port/packages chapters (PBI). These chapters will be
   checked into docs/en_US.ISO8859-1/books/pcbsd-handbook and will include
   some of the same chapters as the Handbook does, but with a different
   &os entity and possibly with some conditional changes in those chapter

Open tasks:

    1. More work is needed on a PC-BSD ports/packages chapter. Fukang may
       already have some work in this area so coordinate with him first.
    2. More text is needed for the PC-BSD installation chapter to augment
       the screenshots that Fukang has collected. Contact him to

Porting Linux KVM to FreeBSD


   Contact: Fabio Checconi <fabio at>
   Contact: Luigi Rizzo <luigi at>

   Linux KVM (Kernel-based Virtual Machine) is a software package that can
   be used to create virtual machines fully emulating x86 hardware on top
   of machines supporting Intel VT-x or AMD-V virtualization extensions,
   available on newer AMD and Intel processors, e.g., recent Athlon64,
   Core 2 Duo, Xeon and so on.

   Linux KVM has been ported to FreeBSD as a loadable kernel module, using
   the linux-kmod-compat port (in /usr/ports/devel/) to reuse as much as
   possible of the original source code, plus an userspace client
   consisting in a modified version of qemu, that uses KVM for the
   execution of its guests.

   The porting has been completed, many of the limitations present at the
   end of the Summer of Code have been removed and the known bugs have
   been fixed. Some configurations have been tested, FreeBSD-CURRENT i386
   guests have been booted on Intel and AMD processors, both in i386 and
   amd64 (host) installations. Only one client at a time is supported by
   now and performance is not that exciting, but the project seems to be
   ready to receive wider testing.

Porting OpenBSD's sysctl Hardware Sensors Framework to FreeBSD


   Contact: Constantine A. Murenin <cnst at>
   Contact: Shteryana Shopova <syrinx at>

   The GSoC2007/cnst-sensors project was about porting the sysctl
   hw.sensors framework from OpenBSD to FreeBSD. The project was
   successfully completed , committed into DragonFly BSD , and is now
   pending final review and integration into the FreeBSD's CVS tree
   (subject to the tree being unfrozen).

   The sensors framework provides a unified interface for storing,
   registering and accessing information about hardware monitoring
   sensors. Sensor types include, but are not limited to, temperature,
   voltage, fan RPM, time offset and logical drive status. In the OpenBSD
   base system, the framework spans sensor_attach(9) , sysctl(3) ,
   sysctl(8) , systat(1) , sensorsd(8) , ntpd(8) and more than 50 drivers,
   ranging from I2C temperature sensors and Super I/O hardware monitors to
   IPMI and RAID controllers. Several third-party tools are also
   available, for example, a plug-in for Nagios and ports/sysutils/symon.

   As a part of this Google Summer of Code project, all core components of
   the framework were ported, including sysctl, systat and sensorsd. Some
   drivers for the most popular Super I/O Hardware Monitors were ported,
   too: it(4) , supporting most contemporary ITE Tech Super I/O, and lm(4)
   , supporting most contemporary Winbond Super I/O. Moreover, some
   existing FreeBSD drivers were converted to utilise the framework, for
   example, coretemp(4) .

Open tasks:

    1. Final Review and Commit

Ports Collection


   Contact: Mark Linimon <linimon at>

   The ports count is over 17,700. The PR count has decreased a bit to
   just over 700.

   There have been 6 experimental runs on the build cluster. The resulting
   commits include the fixup of last year's DESTDIR changes, the
   refactoring of perl bits into, the update of xorg from 7.2
   to 7.3, the upgrade of all of the autoconf dependencies to the latest
   version (wherever possible), and the upgrade of Python to 2.5. This
   effort has resulted in the fewest number of 'open' portmgr PRs in quite
   some time. portmgr appreciates all the people who worked with us on
   these patches, and people's patience as we catch up.

   As well, lofi@ committed the upgrade of QT to 4.3.1.

   We have added 3 new committers since the last report.

Open tasks:

    1. GCC4.2 has been imported to the base for 7.0. Unfortunately, this
       broke a large number of ports. The ones that have not yet been
       fixed have now been flagged as 'broken' for both i386 and amd64, as
       appropriate. Please see the GCC4 status page (above) if you are
       able to help.
    2. Most of the remaining ports PRs are "existing port/PR assigned to
       committer". Although the maintainer-timeout policy is helping to
       keep the backlog down, we are going to need to do more to get the
       ports in the shape they really need to be in.
    3. Although we have added many maintainers, we still have many
       unmaintained ports. The packages on amd64 are lagging behind a bit;
       those on sparc64 require even more work.

Ports Collection infrastructure improvements


   Contact: Gábor Kövesdán <gabor at>

   The two most important parts of this Summer of Code projects have been

   The DESTDIR support for the Ports Collection has been rewritten to use
   a chrooted install. Now it is much more lightweight and easier to
   understand, but it works well for the most common cases, where it is
   supposed to be useful.

   The Perl parts of the Ports Collection infrastructure have been
   extracted into an own module. At the same time, a new version handling
   has been invented. You can find more info on the Wiki.

Summer of Code


   Contact: Murray Stokely <murray at>
   Contact: Robert Watson <rwatson at>

   We're happy to report the successful conclusion of our third
   consecutive Google Summer of Code. By all accounts, the FreeBSD
   participation in this program was an unqualified success. We narrowed
   down the many impressive applications to 25 that were selected for
   funding and 92% of these completed successfully and were awarded the
   full $4,500 stipend. The FreeBSD Foundation was also granted $500 per
   student from Google for a total of $12,500.

   These student projects included security research, improved
   installation tools, new utilities, and more. Many of the students have
   continued working on their FreeBSD projects even after the official
   close of the program. Three students have already been granted full
   src/ commit access to CVS and more are expected. At least 2 of our
   FreeBSD mentors will be meeting with Google organizers in Mountain View
   this month to discuss the program at the Mentor Summit.

Open tasks:

    1. Integration of student projects into FreeBSD -CURRENT. Several are
       currently blocked on the FreeBSD 7.0 code freeze, but we hope to
       see these contributions included in a future release.
    2. Updating the ideas list. Many of the items listed there have been
       completed and we could always use new projects for next year's
       students and for others to work on throughout the year.

The Hungarian Documentation Project


   Contact: Gabor Kovesdan <gabor at>
   Contact: Gabor Pali <pgj at>

   We have a new volunteer, Gabor Pali, who provided us some high-quality
   contributions. As a result, we have been able to add 5 new articles
   since the last status report.

   There is also an ongoing effort in the Perforce repository to translate
   the FreeBSD Handbook to Hungarian. Any kind of support is highly

Open tasks:

    1. Translate the Handbook.

The Spanish Documentation Project


   Contact: J. Vicente Carrasco Vayá <carvay at>
   Contact: Gabor Kovesdan <gabor at>

   After a long break in this project, we started reviewing and refreshing
   our translations. We have to update the content to reflect the current
   state of the English version. There are a few parts written in a poor
   style, another task is to improve these a bit. Any kind of help is
   highly welcome.

Open tasks:

    1. Sync the website with the English version.
    2. Sync the documentation with the English version.
    3. Review the quality of poorly translated parts.
    4. Add more translations.



   Contact: Hans Petter Sirevaag Selasky <hselasky at>

   During the last three months there has been a flush of changes going
   into the FreeBSD USB P4 project. The changes mainly consern the ability
   to support the USB device side and multi frame USB transfers. Up to
   date the FreeBSD USB stack has only supported the USB Host Side. Before
   Christmas 2007 the P4 USB project will offer USB device support and
   some simple USB device side implementations. Technically an USB device
   side driver will look very similar to an USB host side driver. Infact
   there will be very few differences. Support for multi frame USB
   transfers opens up the possibility to transfer multiple short-packet
   terminated USB frames to/from different memory locations resulting in
   only one interrupt on the USB Host Controller. More specific: I have
   implemented support for the "alt_next" pointer in the EHCI Transfer
   Descriptor. This should give a noticable increase in the maximum number
   of short-packet terminated BULK frames that can be transferred per

   I regularly get questions from people asking about when the USB P4
   project will be merged into FreeBSD-current. The answer is not simple,
   but probably something like another year. The reason is not that the
   current code in the USB P4 project is not usable, but rather that the
   quality needs to be raised in means of making already good solutions
   more technically excellent, writing more documentation and styling the

   Ideas and comments with regard to the new USB API are welcome at
   freebsd-usb at

More information about the freebsd-current mailing list