FreeBSD Status Report Second Quarter 2006

Max Laier max at
Tue Jul 11 22:24:06 UTC 2006

-------------- next part --------------
April-June 2006 Status Report


   With the release of FreeBSD 5.5 and FreeBSD 6.1, the second quarter of
   2006 has been productive. Google is sponsoring 14 students to work on
   FreeBSD as part of their Summer of Code Program (most of which already
   submitted a report for elaboration on their projects).

   Sun's open-source software is starting to make its way into FreeBSD as
   a port of DTrace is nearing completion and a port to the UltraSparc T1
   processor (which gives a great push to the ongoing SMP efforts).
   Having a powerful debugging tool combined with a CPU that can run up
   to 32 concurrent threads helps to identify scalability issues.

   BSDCan 2006 was yet again a smashing success and much was covered in
   the 2-day developer summit. As a product of the conference, a new
   focus on FreeBSD for the embedded sector has started. Various ARM
   boards are targeted, a MIPS32 port is gearing up and people are
   looking for other interesting platforms to port FreeBSD to.
   Preparation for the EuroBSDCon (in Milan, Italy) on November has
   already issued a call for papers.

   In addition, a lot of spring cleaning is taking place in the network
   stack. After conclusion of the KAME project, IPv6 code integration has
   been refocused and a fully locked port of SCTP is in the final stage
   of integration. Of course, all this goes without noting all the
   progress made with the other network projects.

   Please read below for more detailed news on the projects that happened
   in FreeBSD during the last three months. If you are interested in
   helping, consider the "Open Tasks lists" provided with some reports.
   In addition we would like to point you at the list of projects and
   ideas for volunteers and hope to receive a status report from you next

   Thanks to all reporters for your excellent work and timing!. Enjoy

Google summer of code

     * BSNMP Bridge module
     * gvirstor
     * Improving Ports Collection
     * Interrupt handling
     * IPv6 Vulnerabilities
     * Jail Resource Limits
     * K Kernel Meta-Language
     * Linuxolator kernel update to match functionality of 2.6.x
     * Nss-LDAP importing and nsswitch subsystem improvement


     * DTrace
     * Embedded FreeBSD
     * TrustedBSD Audit

Network infrastructure

     * FAST_IPSEC Upgrade
     * FreeBSD NFS Status Report
     * IPv6 cleanup
     * Multi-IP v4/v6 jails
     * SCTP Integration
     * Wireless Networking


     * Giant-Less UFS with Quotas
     * Giant-Less USB framework
     * GJournal
     * Gvinum improvements
     * Sound subsystem improvements
     * SSE2 Kernel support
     * XFS for FreeBSD


     * FreeBSD list of projects and ideas for volunteers
     * Hungarian translation of the webpages

Userland programs

     * Low-overhead performance monitoring tools


     * PowerPC Port


     * FreshPorts
     * Ports Collection
     * Update of the Linux userland infrastructure in the Ports

Vendor / 3rd Party Software

     * BSDInstaller
     * pfSense
     * xscale board buy


     * BSDCan
     * EuroBSDCon 2006 - November 10th - 12th, Milan, Italy
     * FreeBSD Security Officer and Security Team
     * Release Engineering



   Contact: Dan Langille <dan at>

   BSDCan 2006 continues to impress. Again this year, we had a good
   collection of talks from a wide range of speakers. In all, we had over
   200 people from 14 different countries.

   Our sponsorship pool continues to grow. This year we had sponsorship
     * USENIX
     * The FreeBSD Foundation
     * PARSE
     * iXsystems
     * O'Reilly
     * Stevens Institute of Technology
     * nCircle

   The t-shirts were very popular, with all of them going in very short
   time. Of course, it helped that this year they were free, courtesy of

   The 2007 planning has already begun and we look forward to another
   popular and successful event.

   My thanks to the 2006 program committee, the speakers, the volunteers,
   the sponsors, and, of course, the attendees.

   See you at BSDCan 2007.



   Contact: Andrew Turner <soc-andrew at>

   Since the last status report ports have been created for all parts of
   the BSDInstaller except the backend.

   A snapshot of the BSDInstaller was released during this quarter. This
   has shown a number of bugs with the installation process. Most have
   now been fixed.

BSNMP Bridge module


   Contact: Shteryana Shopova <shteryana at>

   As part of my SoC 2006 project I am working on implementing a BRIDGE
   monitoring module for FreeBSD's BSNMP daemon. Initial prototyping is
   done and some kernel changes are coming to be able to access all
   needed data. In addition to IETF RFC 4188, which was designed for
   monitoring a single bridge, this snmp module will support monitoring
   of multiple bridge devices as supported by FreeBSD.

Open tasks:

    1. Finish kernel changes and the code for the snmp module.
    2. Testing.



   Contact: John Birrell <jb at>

   Anonymous enablings now work. There is a new option in the boot loader
   menu to load the DTrace modules and trace the kernel boot process.

   Sun Microsystems has been very supportive of the FreeBSD port and has
   generously provided a Sun Fire T2000 server to allow Kip Macy's sun4v
   port to be merged into the DTrace project tree.

   The DTrace project tree sources are now exported to

   Refer to the project page for more details.

Open tasks:

    1. Current effort centres around making DTrace useful for the sun4v
       porting effort which has shown up scalability issues with the
       current FreeBSD SMP implementation. DTrace should be ideal for
       analysing those issues.

Embedded FreeBSD


   Contact: George Neville-Neil <gnn at>

   There are several projects moving forward in the embedded area. For
   now the main location for new information is
   We have also created a new mailing list, freebsd-embedded at
   , which is meant to eventually replace the freebsd-small. A call was
   put out on small for people to move to embedded.

Open tasks:

    1. Update Developers Handbook with information on building embedded
       versions of FreeBSD
    2. Help with the MIPS port
    3. Help with the ARM port
    4. Investigate an SH port (requested by folks in Japan where the
       Hitachi SH processor is quite popular in embedded)

EuroBSDCon 2006 - November 10th - 12th, Milan, Italy


   Contact: Massimiliano Stucchi <stucchi at>

   This year's EuroBSDCon will be held in Milan, Italy, on November 10th
   through 12th.

   Hosted in the foggy northern Italy, the fifth EuroBSDCon aims at being
   a new successful chapter in the itinerant series of European BSD

   EuroBSDCon represents the biggest gathering for BSD developers from
   the old continent, as well as users and passionates from around the
   World. It is also a chance to share experiences, know-how, and

   For the first time, parallel to the main event, an event for
   wives/girlfriends/friends will be organised. It will consist of guided
   tours of the city of Milan, a probable trip to Como and visits to
   various museums. We're also working towards offering a show at the
   Teatro alla Scala.

   The FreeBSD developer summit will be also held on November 10th.

Open tasks:

    1. The Call For Papers is out, so everybody is invited to send in
       papers or tutorials that might be of interest to the community
    2. The Conference Organisers are also looking for sponsors. Feel free
       to contact oc at in order to discover the different
       sponsoring opportunities.



   Contact: George Neville-Neil <gnn at>
   Contact: Bjoern A. Zeeb <bz at>

   Continuing to add IPv6 support to FAST_IPSEC. Test environment is now
   stable. Can build and run kernels with FAST_IPSEC and INET6 enabled
   but IPSec in IPv6 is now broken and being worked on.

Open tasks:

    1. Complete move to FAST_IPSEC type processing for IPv6. This is
       complicated by the structure of the IPv6 code itself which, unlike
       IPv4 splits transport and tunnel mode processing across the output

FreeBSD list of projects and ideas for volunteers


   Contact: Joel Dahl <joel at>
   Contact: Alexander Leidinger <netchild at>

   The FreeBSD list of projects and ideas for volunteers is doing well.
   Several items were picked up by volunteers and have found their way
   into the tree. Others are under review or in progress. We are looking
   forward to hear about new ideas, people willing to act as technical
   contacts for generic topics such as USB or specific entries (already
   existing or newly created) and suggestions for existing entries or
   completion reports for (parts of) an entry.

Open tasks:

    1. Add more ideas.
    2. Find more technical contacts.
    3. Find people willing to review/test implementations of (somewhat)
       finished items.

FreeBSD NFS Status Report

   Contact: Chuck Lever <cel at>

   Mohan Srinivas committed his changes to make the NFSv2/3 client MP
   safe to HEAD this quarter. Changes may be back-ported to 6.x soon.

   Robert Watson and Chuck Lever held a discussion about the future of
   the in-kernel NFSv4 client during BSDCan 2006. The current NFSv4
   client is unmaintained. Chuck also pointed out the long series of
   unfixed PRs against the legacy client (NFSv2/3). These are at the top
   of his priority list. Robert is also interested in making NFSv4-style
   ACLs the lingua franca for FreeBSD file systems. There was some
   discussion about integrating Rick Maclem's NFSv4 server into 7.x.

   Chuck Lever became a full source committer during this quarter.

FreeBSD Security Officer and Security Team


   Contact: Security Officer <security-officer at>
   Contact: Security Team <security-team at>

   In the time since the last status report, four security advisories
   have been issued concerning problems in the base system of FreeBSD; of
   these, one problem was "contributed" code, while three were in code
   maintained within FreeBSD. The Vulnerabilities and Exposures Markup
   Language (VuXML) document has continued to be updated by the Security
   Team and Ports Committers documenting new vulnerabilities in the
   FreeBSD Ports Collection; since the last status report, 71 new entries
   have been added, bringing the total up to 757.

   The following FreeBSD releases are supported by the FreeBSD Security
   Team: FreeBSD 4.11, FreeBSD 5.3, FreeBSD 5.4, FreeBSD 5.5, FreeBSD
   6.0, and FreeBSD 6.1. The respective End of Life dates of supported
   releases are listed on the web site; of particular note, FreeBSD 5.3
   and FreeBSD 5.4 will cease to be supported at the end of October 2006,
   while FreeBSD 6.0 will cease to be supported at the end of November



   Contact: Dan Langille <dan at>

   FreshPorts has seen several new features recently:
     * caching implemented at web application level to reduce load on the
       database server and to serve pages faster
     * searching expanded to find all the ports that this maintainer
       maintains, and all the commits by a particular committer

   Most of the work lately has been optimisation, either at the database
   level or at the web application level.

   A 2U server was recently donated to the FreshPorts / FreshSource /
   FreeBSD Diary / BSDCan group. We have also received a RAID card. Now
   we're looking for some hard drives.

   Over the past few weeks, work has concentrated on benchmarking the new
   server and getting it ready for production. Eventually it will need a
   new home as I don't really want it running in my basement all the time
   (it's really loud!).

   Thanks to iXsystems and 3Ware for their contributions to this project.

Open tasks:

    1. We would like some more hardware (CPUs and HDD). Details here

Giant-Less UFS with Quotas


   Contact: Konstantin Belousov <kib at>

   The patches to allow UFS operate with quotas in Giant-less mode are
   brewed for long now. Since recent huge pile of fixes into snapshots
   code, I think the problems you could encounter are caused solely by
   the patch.

   Aside performance benefits, patch has another one, much more valuable.
   It makes UFS operating in one locking regime whatever options are
   compiled into kernel. I think, in long term, that would lead to better
   stability of the system.

Open tasks:

    1. I need testers feedback. Both stability reports and performance
       measurements are welcomed !

Giant-Less USB framework


   Contact: Hans Petter Sirevaag Selasky <hselasky at>

   For some time now I have been working on converting the existing USB
   device drivers to my new and mutex enabled USB API. I have converted
   "ulpt", "ums", "uhid", "ukbd", "ugen", "uaudio", and a few others.
   Around 10 USB device drivers are left to convert. Most of these are
   network device drivers.

   At the present moment I am working on getting scatter and gathering
   support working for all USB host controllers. Scatter and gathering
   means that one allocates PAGE_SIZE bytes of memory at a time, and then
   fills these memory blocks up as much as possible with USB host
   controller structures and buffers. This should solve problems
   allocating DMA-able memory when the system memory becomes fragmented.

Open tasks:

    1. If anyone wants to help convert the remaining USB device drivers,
       please drop me an e-mail.



   Contact: Pawel Jakub Dawidek <pjd at>

   GJournal is a GEOM class which provides journaling for GEOM providers.
   It can also be used to journal various file system with just a minimal
   filesystem-specific portion of code. Currently only UFS journaling is
   implemented on top of gjournal. Being filesystem-independent and
   operating below the file system level, gjournal has no way to
   distinguish data from metadata, thus it journal both. One of the nice
   things about gjournal is that it works reliable even on disks with
   enabled write cache, which is often not the case for journalled file
   system. And remember... fsck no more.

Open tasks:

    1. I'm looking for feedback from users who can test gjournal in
       various workloads.

Gvinum improvements

   Contact: Ulf Lilleengen <lulf at>

   I have been working on porting missing features in gvinum from vinum,
   as well as adding new features.

   So far the resetconfig, detach, dumpconfig, setstate (on plexes and
   volumes) and stop commands have been implemented, as well as some
   other minor fixes. The attach command is currently being implemented,
   and started on disk-grouping. Currently most of this is in p4, but
   patches will be submitted as soon as possible.



   Contact: Ivan Voras <ivoras at>

   The purpose of gvirstor module is to provide the ability to create a
   virtual storage device of arbitrarily large size (typically several
   terabytes) which consists of an arbitrary number of physical storage
   devices (actually any lower-level GEOM providers, including RAID
   devices) of arbitrary size (typically 50 GB - 400 GB hard drives).
   Storage space from these components is carved into small chunks (for
   example 4 MB) and allocated (committed) to the virtual device on
   as-needed basis.

   Development has started and progressing as planned (though a little
   bit slow). Metadata format and virtual storage allocation formats have
   been defined and more serious coding is in progress.

Open tasks:

    1. Much user testing will be needed (though not currently)

Hungarian translation of the webpages


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

   The translated webpage is almost ready now. This Hungarian translation
   is a "lite" version of the original English webpages, since there are
   parts that are irrelevant for the Hungarian community, or has pieces
   of data that change quickly, so it's no use to translate these pages
   now, maybe later, if we have more Hungarian contributors, but this
   webpage would be a good starting point in translating the
   documentations, and we need a good place to put translated
   documentations anyway.

   I'm going to be very busy with SoC this summer, but I'll try to find
   people that can help me out in this project. Any help appreciated.

Open tasks:

    1. The remaining important pages should be translated.
    2. The press/media/news sections should be restructured somehow to
       being fed from the English webapges, since we don't have too much
       Hungarian resource to make these up to date.
    3. There's a rendering issue when browsing the pages with JavaScipt
       enabled, but this can be server-side for me, this should be
       investigated as well.

Improving Ports Collection


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

   The improved support for the i386 binaries are ready for -exp run. It
   only allows installing such ports on amd64 and ia64 when there's a
   compatibility layer compiled into the kernel and the 32-bit libraries
   are installed under /usr/lib32.

   The DESTDIR support are in progress. It works for the simplest ports
   without USE_* that don't have a [pre|do|post]-install target. There
   are more complicated issues with e.g. conflict checking in DESTDIR,
   deinstalling from DESTDIR, those have to be fixed as well.

Open tasks:

    1. DESTDIR issues should be fixed.
    2. All ports should be examined whether they respect CC/CFLAGS, and
       the erroneous ones should be fixed.
    3. Fetch scripts should be taken out of to be separate
    4. A tool should be written that makes possible to cross-compile
    5. A good plist generator tool should be written for porters or the
       old one in ports/Tools/scripts should be updated.

Interrupt handling

   Contact: Paolo Pisati <piso at>

   With the introduction of fine grained locking in the SMPng project,
   the FreeBSD kernel went under a major redesign, and many subsystem
   changed significantly with it. In particular, device driver's
   interrupt context ("the bottom half") had the necessity to synchronise
   with process context ("the top half") and share data in a consistent
   manner without using spl*(). To overcome this problem, a new interrupt
   model based around interrupt threads was employed, together with a
   fast interrupt model dedicated to particular driver handlers that
   don't block on locks (i.e. serial port, clock, etcetc). Unfortunately,
   even if the interrupt thread model proved to be a reliable solutions,
   its performance were not on par with the pre SMPng era (4.x), and thus
   others solutions were investigated, with interrupt filtering being one
   of that.

   As part of my Summer of Code 2006 work, i'm implementing interrupt
   filtering for FreeBSD, and when the framework will be in place i'll
   compare the performance of filters, against all the previous models:
   pre-SMPng(4.x), ithread and polling.

   The most important modifications to the src tree so far where:
     * made PPC accepts more than one FAST handler per irq line
       (previously INTR_FAST implied INTR_EXCL)
     * converted all the INTR_FAST handlers to be filters: return an
       error code to note what they did (FILTER_HANDLED/FILTER_STRAY) and
       if they need more work to do (FILTER_SCHEDULE_THREAD)
     * moved part of the interrupt execution code from MD code to
     * broke newbus API: bus_setup_intr() grew a new filter parameter of
       type "int driver_filter_t(void*)".
     * converted all the bus that override bus_setup_intr() to handle
     * converted all the normal ithread driver to provide a NULL filter

   The next milestone is to have all the different models (filters only,
   ithread only and filter + ithread) work together reliably.

Open tasks:

    1. Arm is largely untested
    2. Sparc64 needs more work on low level (.s) interrupt routine

IPv6 cleanup


   Contact: Bjoern A. Zeeb <bz at>

   Initial changes include:
     * Changed ip6_sprintf to no longer return a static buffer.
     * Started to adopt in6_pcb* code to what we have for legacy IP.

   Next steps will be to reduce the number of global variables and

Open tasks:

    1. Cleanup code.
    2. Make everything MPSafe.
    3. Enhance things and add new features.

IPv6 Vulnerabilities


   Contact: George Neville-Neil <gnn at>
   Contact: Clément Lecigne <clemun at GMAIL.COM>

   Clement has been working both with libnet and gnn's Python based
   packet library (PCS) to produce code to test for vulnerabilities in
   IPv6. To Clement has found some issues, all of which have been
   reported to his mentor and to Security Officer at
   Vulnerabilities will not be reported here.

Open tasks:

    1. Get 0.1 of PCS on to SourceForge for wider use.

Jail Resource Limits

   Contact: Chris Jones <cdjones at>

   Project is in development with initial working software expected
   mid-July 2006. CPU limits will be implemented with a hierarchical
   scheduler: (initially) using a round-robin scheduler to select which
   jail to run a task in and then delegating which task in the jail to be
   run to a per-jail scheduler.

Open tasks:

    1. Complete round-robin inter-jail scheduler (with existing 4BSD
       schedulers implemented per jail).
    2. Add hooks for memory tracking.

K Kernel Meta-Language


   Contact: Spencer Whitman <joecat at>
   Contact: Poul-Henning Kamp <phk at FreeBSD.ORG>

   A simple lexer and parser have almost been completed. Also significant
   planing for future additions to K have been thought up.

Open tasks:

    1. Finish the lexer and parser
    2. Implement the #! preprocessor function
    3. Add lint like functionality to the preprocessor
    4. Add style(9) checking to the preprocessor
    5. Allow for detection of unused #includes

Linuxolator kernel update to match functionality of 2.6.x


   Contact: Roman Divacky <rdivacky at>
   Contact: Alexander Leidinger <netchild at>

   FreeBSD linux emulation layer (linuxolator) currently implements most
   of the functionality necessary to emulate 2.4.2 linux kernel, but
   linux world has moved forward and current linux world requires 2.6.x
   features. The aim of this SoC task is to make Fedora Core 4 linux-base
   to be able to run with 2.6.x kernel. Currently this means extending
   clone() syscall and implement pthread related things. This involves
   TLS implementation (sys_set_thread_area syscall) and possibly tid
   manipulation (used for pthread_join etc.) and finally futexes (linux
   fast user-space mutexes implementation). This should enable
   pthread-linked programs to work. After this is done there may be other
   things necessary to implement however, only time will tell. I am
   funded by in their SoC to do this work and I'll continue to
   work on this after the summer hopefully as a part of my MSc. thesis.

Open tasks:

    1. Finish the TLS thing + other thread related things (tid comes to
       mind and looks necessary for pthread to work)
    2. Futexes also look necessary for pthread to work
    3. maybe other things to be able to run basic programs under 2.6.16

Low-overhead performance monitoring tools


   Contact: Joseph Koshy <jkoshy at>

   As an intermediate step towards implementing support for callgraphs
   and cross-architecture performance measurements, I am creating a
   BSD-licensed library for ELF parsing & manipulation. This library will
   implement the SysV/SVR4 (g)ELF[3] API.

   Current status: Implementation of the library is in progress. A
   TET-based test suite for the API and manual pages documenting the
   library's interfaces are being concurrently created.

   Work is being done in FreeBSD's Perforce repository. I hope to be
   ready for general review by the end of July '06.

Open tasks:

    1. Reviewers are needed for the code and the test suite. If you have
       extensions to the stock SysV/SVR4 ELF(3) API that you would like
       to see in -lelf, please send mail.

Multi-IP v4/v6 jails


   Contact: Bjoern A. Zeeb <bz at>

   As an intermediate step until FreeBSD will have full network stack
   virtualisation this work shall provide support for multi-IP IPv4/v6

   These changes are based on Pawel Jakub Dawidek's work for multi-IPv4
   jails and some initial work from Olivier Houchard for single-IPv6

   The changes need some more testing but basically things work.

   This is not considered to be the right thing todo so do not ask for
   official support or if this will be committed to the FreeBSD source
   After some more cleanup of non-jail related IPv6 changes I will
   publish a patch for HEAD and perhaps RELENG_6 for everyone who wants
   to give it a try anyway.

Open tasks:

    1. (IPv6) related security checks.
    2. Write some tests. Especially IPv6 changes need more testing.
    3. Check what general changes might need merging to HEAD.

Nss-LDAP importing and nsswitch subsystem improvement


   Contact: Michael Bushkov <bushman at>

   The basic goals of this SoC 2006 project are moving nsswitch-modules
   out of the libc, extending the caching daemon and importing nss_ldap
   into the base source tree. 2 milestones of the project are currently

   1. Nss-modules were successfully moved out of the libc into the
   separate dynamic libraries. In order for static binaries to work
   properly (they can't use dynamic nss-modules), nss-modules are linked
   statically into the libc.a. As the side-effect of nss-modules
   separation, getipnodeby***() functions were rewritten to use
   gethostby***() functions and not the nsdispatch(3) call. Caching
   daemon's "perform-actual-lookups" option was extended to support all
   implemented nsswitch databases.

   2. A set of regressions tests was made to test nsswitch-related
   functions. These tests are also capable of testing the stability of
   these functions' behaviour after the system upgrade.

Open tasks:

    1. Import nss_ldap into the sources tree.
    2. Improve the caching daemon's performance.



   Contact: Scott Ullrich <sullrich at>

   pfSense is rapidly approaching release. We are down to a handfull of
   bugs that should be fixed in the coming weeks. We should have a
   release around the time of our 2nd annual hackathon which is taking
   place on July 21st - July 28th. Many exciting sub-projects are taking
   place within pfSense and the project is gaining new developers

Open tasks:

    1. lists the remaining open

Ports Collection


   Contact: Erwin Lansing <erwin at>

   Contact: Mark Linimon <linimon at>

   During this time, a huge number of ports PRs were committed, bringing
   us back down below 800 for the first time since the 5.5/6.1 release
   cycle. This is due to a great deal of work, especially from some of
   our newest committers.

   This is all the more notable given the fact that we have been adding
   new ports at a rapidly accelerating rate. We have now exceeded the
   15,000 port mark!

   Three sets of changes have been added to the infrastructure, including
   updates of default versions of MySQL, PHP, LDAP, and linux_base, and
   numerous bugfixes and improvements. About 2 dozen portmgr PRs were
   closed due to this.

   In addition, a large-impact commit was made that attempts to move us
   to a single libtool that is as unmodified from 'stock' libtool as we
   can. Plans are also in place to do this for the autotools.

   Several people are at work on implementing the modularised xorg ports.
   Most of the work is done but several key pieces remain. Once this is
   finished, an -exp regression test will be needed (most likely, more
   than one :-) ) It is possible that before this we will need to do a
   regression test that moves X11BASE back into LOCALBASE. This is still
   under study.

   Gabor Kovesdan started a Google Summer of Code project on some highly
   needed improvements on the ports infrastructure (see elsewhere in this
   report). As this is a long term project, gtetlow kindly imported the
   most important ports infrastructure files into perforce to ease
   development. Other developers are encouraged to use perforce for ports
   development, especially as it can help keeping patches up-to-date
   while going stale in GNATS. Even though linimon has been pushing hard
   on running experimental builds on the test cluster, it will take some
   time to work through the backlog.

   erwin added a ports section to the list of projects and ideas for
   volunteers at the FreeBSD website. Have a look if you want to work on
   the ports system. Don't hesitate to send additional ideas, and
   committers are encouraged to add themselves as technical contacts.

   sem adopted portupgrade after it had been neglected for some time and
   has been very active on upgrades and bugfixing.

   dougb has continued to enhance his portmaster script and people are
   finding success with it; although not designed to be as full-featured
   as portupgrade, it does seem to be easier to understand and use.

   shaun has contributed portscout, a scanner for updated distfiles, to
   the ports collection.

   marcus upgraded GNOME to 2.14.1.

   As well, there have been new releases of the ports tinderbox code.

   edwin has been hard at work on a PR-autoassigner for ports PRs, which
   has saved a lot of time and been well-received. It has now been
   installed on a machine (hub).

   linimon has been more active in pursuing maintainer-timeouts, and has
   reset a number of inactive maintainers, with more in the pipeline. The
   intent is to try to reduce the number of PRs that sit around
   unanswered for two weeks. In almost all cases the resets are due to no
   response at all; maintainers who are merely "busy" are not the source
   of most of these problems, and deserve the benefit of the doubt. Some
   of the maintainers that have been reset haven't contributed in months
   or even years.

   We have added 10 (!) new committers since the last report.

Open tasks:

    1. We need help getting back to our modern low of 500 PRs.
    2. We have over 4,000 unmaintained ports (see, for instance, the list
       on portsmon ). We are always looking for dedicated volunteers to
       adopt at least a few ports.
    3. We can always use help with infrastructural enhancements. See the
       ports section of the list of projects and ideas .

PowerPC Port


   Contact: Peter Grehan <grehan at>

   The project is slowly starting to ramp up after a long move-induced

   Alan Cox has almost completed making the pmap module Giant-free.

Release Engineering


   Contact: Release Engineering Team <re at>

   The release engineering (RE) team announced the availability of
   FreeBSD 5.5 and 6.1, both in May 2006. FreeBSD 5.5 is the last planned
   release from the RELENG_5 branch in CVS. For the most part, its main
   features consist of bugfixes, security patches, and minor updates. We
   encourage users to move towards the 6.x series of releases whenever
   practical. FreeBSD 6.1 is the latest of the releases to come from the
   RELENG_6 branch in CVS. It includes (among many other things) improved
   support for WiFi devices, additional network and disk controller
   drivers, and a number of fixes for filesystem stability. The next
   release to be issued from this branch will be FreeBSD 6.2, which is
   currently scheduled for September 2006.

   The RE team is currently in a ``between releases'' mode. Current
   activities include working with security-team@ on some errata fixes
   for the RELENG_6_1 branch and producing snapshots of HEAD and RELENG_6
   at the start of each month.

   Several personnel changes have taken place recently. Scott Long has
   stepped down from his position on the RE team; we thank him for his
   considerable efforts over the past four years. In his place, Ken Smith
   has taken over the role of lead release engineer. Bruce A. Mah has
   rejoined the RE team after a two-year sabbatical.

SCTP Integration


   Contact: George Neville-Neil <gnn at>
   Contact: Randall Stewart <rrs at>

   For the last several months Randall Stewart has been working in HEAD
   and STABLE to get us ready to integrate the SCTP protocol (Stream
   Transmission Control Protocol) into FreeBSD. He is currently working
   on a patch to share with a wider audience but needs to do some
   integration work first. Randall has a provisional commit bit and will
   be working with gnn on getting code committed to the HEAD of the tree.

Open tasks:

    1. When this gets integrated it needs lots of testers.

Sound subsystem improvements


   Contact: Ariff Abdullah <ariff at>
   Contact: Alexander Leidinger <netchild at>
   Contact: Multimedia Mailinglist <multimedia at>

   Since the last status report we fixed some more bugs, added basic
   support for envy24 chips and cleaned up the source for the emu10kx
   driver in the ports to make it ready for import into the base system.

   We also got some patches with a little bit of infrastructure for Intel
   HDA support. It's not finished and also not usable by end users yet.

Open tasks:

    1. Have a look at the sound related entries on the ideas list.
    2. sndctl(1): tool to control non-mixer parts of the sound system
       (e.g. spdif switching, virtual-3D effects) by an user (instead of
       the sysctl approach in -current); pcmplay(1), pcmrec(1),
    3. Plugable FEEDER infrastructure. For ease of debugging various
       feeder stuff and/or as userland library and test suite.
    4. Support for new hardware (envy24, Intel HDA).

SSE2 Kernel support


   Contact: Attilio Rao <attilio at>

   Some FPU system and kernel memcpy/copyin/copyout changes have been
   performed. In particular, a per-CPU save area has been introduced
   (protected with an interlock) in order to assure a stable saving
   mechanism. copyout/copyin have changed in order to use vectorised
   version of memcpy and an xmm version of memcpy has been provided.

Open tasks:

    1. Benchmarks on different versions of xmm copy, in particular
       showing differences between UP and SMP architectures (evaluating
       possibility to add block prefetch, non-temporal hints usage, etc.)
    2. Modifying npxdna trap handler in order to recognise xmm
       environment usage and replace fxsave with 8-movdqa

TrustedBSD Audit


   Contact: Robert Watson <rwatson at>
   Contact: Wayne Salamon <wsalamon at>
   Contact: Christian Peron <csjp at>

   TrustedBSD Audit provides fine-grained security event auditing in
   FreeBSD 7.x, with a planned merge to 6.x for FreeBSD 6.2. Work
   performed in the last three months:
     * Per audit pipe preselection allows IDS applications to configure
       audit record selection per-pipe, new auditpipe.4 document.
     * audit_submit library call to reduce complexity of adding audit
       support to applications.
     * Significant cleanup, bug fixing, locking improvements, token
       parsing and generation improvements.
     * Solaris subject token compatibility, extended address support.
     * Auditing of extended attributes calls, ACL support a work in
     * OpenBSM 1.0 alpha 7 integrated into CVS.
     * OpenBSM test tools in progress.
     * Experimental auditeventd which allows shared object plug-ins to
       subscribe to live audit events via a shared pipe in order to
       support the easy authoring of simple intrusion detection and
       monitoring components.

Open tasks:

    1. Bring audit event daemon API and implementation to maturity.
       Currently these are not installed by default in the CVS-merged
    2. Complete system call coverage.
    3. Allow finer-grained configuration of what is audited: implement
       control flags regarding paths, execve arguments, environmental
    4. Support for auditing MAC policy data.
    5. Additional user space application coverage, such as application
       layer audit events from adduser, rmuser, pw, etc.

Update of the Linux userland infrastructure in the Ports Collection

   Contact: Boris Samorodov <bsam at>
   Contact: Alexander Leidinger <netchild at>
   Contact: Emulation Mailinglist <emulation at>

   We updated the default linux base port to Fedora Core 4 and the
   default linux X11 libs port to the RPM in FC4.

   An update to FC5 or FC6 has to wait until the kernel got support for
   syscalls of a newer linux kernel. See the corresponding SoC project
   report for more.

Wireless Networking

   Contact: Sam Leffler <sam at>

   The wireless suport has been stable for a while so most work has
   focused on bug fixing and improving legacy drivers.

   Max Laier and I worked on improving support for Intel wireless cards.
   The results of this work included significant improvements to the
   iwi(4) driver (for 2195/2200 parts) and the firmware(9) facility for
   managing loadable device firmware. There is also an updated ipw(4)
   that has improvements similar to those done for iwi that is in early
   test. Support for the latest Intel devices, the 3945 pci-express
   cards, is planned for later this summer.

   Atheros support was updated with a new hal that fixes a few minor
   issues and provides known working builds for SPARC, PPC, and ARM
   platforms. There is also working MIPS support that will be used when
   the MIPS port is ready to test. Otherwise one useful bug was fixed
   that affected AP operation with associated stations operating in power
   save mode.

   wpa_supplicant and hostapd were updated to the latest stable build
   releases from Jouni Malinen.

   Experimental changes to support injection of raw 802.11 frames using
   bpf were posted for comment. This work was done in collaboration with
   Andrea Bittau.

Open tasks:

    1. Legacy drivers such as wi are languishing and need maintainers.
       This is prerequisite to bringing in new 802.11 features such as
       improved scanning and virtual ap.

XFS for FreeBSD


   Contact: Russell Cattelan <cattelan at>
   Contact: Alexander Kabaev <kan at>
   Contact: Craig Rodrigues <rodrigc at>

   The XFS for FreeBSD project is an effort to port the publically
   available GPL'd sources to SGI's XFS filesystem to FreeBSD.

   In December, we imported a version of XFS into FreeBSD-CURRENT which
   allows FreeBSD to mount an XFS filesystem as read-only.

   As a side effort, we have been continuing on the work that PHK started
   to clean up the mount code in FreeBSD. We can use the existing FreeBSD
   mount(8) utility to mount an XFS partition, without introducing a new
   mount_xfs utility.

Open tasks:

    1. We need to implement support for writing to XFS partitions

xscale board buy


   Contact: Sam Leffler <sam at>

   With the help of Jim Thompson of Netgate ( )
   the FreeBSD Foundation arranged a purchase of xscale-based boards for
   folks interested in ARM support. Developers were able to purchase
   boards at a reduced cost. The goals were to accelerate and/or improve
   support for the ARM platform and to set forth at least one board as a
   reference platform for the ARM support. Netgate will be stocking
   lower-cost models of the board later in the year (a special order was
   made for boards with only 2 mini-pci slots).

   Legal Notices | © 1995-2006 The FreeBSD Project. All rights reserved.

More information about the freebsd-current mailing list