[FreeBSD-Announce] FreeBSD Status Report Third Quarter 2005

Max Laier max at love2party.net
Fri Nov 18 04:42:21 PST 2005


July-October 2005 Status Report

Introduction

   After a long, exhausting, yet very productive third quarter of 2005
   FreeBSD 6.0 has been released. Many activities were put into the
   background in order to make this release the success it has become.

   Nontheless, we received a tremendous amount of reports covering
   various projects that either found their way into FreeBSD 6.0 already
   or have started to develop in, what is now known as 7-CURRENT. The
   EuroBSDCon and the Developer Summit in Basel next week will be a good
   opportunity to help some of the ideas herein to take off.

   Last round we had the pleasure to introduce our accepted Google Summer
   of Code projects. Now, that the summer is over, we are even more
   pleased to include reports about the outcome of these projects. Some
   already found their way into the tree or the general public otherwise
   - most ocularly the new webdesign.

   Unfortunately, this publication has been delayed for various reasons -
   the before mentioned release of 6.0 being one of them. Thus, some of
   the reports might no longer be as up to date as they were when we
   received them and we encourage you - even more this time - to also
   visit the weblinks to get more recent information.

   Thanks again to everyone who submitted reports, and our sincere
   apologies for running late this time.
     __________________________________________________________________

Google summer of code

     * BSD Installer
     * csup: cvs mode support
     * FreeBSD Web Site Redesign
     * Fuse for FreeBSD
     * gjournal
     * gvinum 'move', 'rename' support
     * Improve Libalias
     * Integrated SNMP monitoring
     * Interface Cleanup
     * launchd(8) for FreeBSD
     * Nsswitch / Caching daemon
     * SNMP Monitoring
     * UFS Journaling

Projects

     * ggtrace
     * iSCSI Initiator
     * pfSense
     * Realtime POSIX signal

Documentation

     * bridge.c retired
     * TODO list for volunteers

Kernel

     * Low-overhead performance monitoring for FreeBSD
     * NEWCARD
     * Sound subsystem improvements
     * The Kernel Stress Test Suite

Network infrastructure

     * OpenBSD dhclient import
     * Removable interface improvements
     * TCP & IP Routing Optimization Fundraise

Architectures

     * Porting FreeBSD to the Xbox
     * PowerPC Port

Ports

     * FreeBSD GNOME Project
     * FreshPorts
     * Ports Collection
     * Ports Tinderbox

Vendor / 3rd Party Software

     * Cronyx/Asterisk
     * OpenBSD packet filter - pf

Miscellaneous

     * BSDCan
     * EuroBSDCon 2005 - Basel

     * Problem Report Database
     __________________________________________________________________

bridge.c retired

   Contact: Max Laier <mlaier at freebsd.org>
   Contact: Andrew Thompson <thompsa at freebsd.org>

   As of September 27, the old bridge(4) implementation has been removed
   from HEAD and will not be part of FreeBSD 7 and later. FreeBSD 6 will
   serve as transition period. The full functional replacement
   if_bridge(4) is now available in FreeBSD 5 (not yet part of 5.4
   however), FreeBSD 6 and -CURRENT. Any problems should be reported to
   Andrew Thompson, who is maintaining if_bridge in FreeBSD.

Open tasks:

    1. Document the change in the handbook and other reference material.
     __________________________________________________________________

BSD Installer

   URL: http://www.bsdinstaller.org/
   URL: http://wikitest.freebsd.org/moin.cgi/BSDInstaller

   Contact: Andrew Turner <soc-andrew at FreeBSD.org>

   By the end of August I managed to modify the release building process
   to build a live CD that loads the front and backends. It could install
   all the distfiles, install the ports tree and had minimal support to
   install and uninstall packages.

   Since the end of the Summer of Code I have worked to integrate the new
   Lua backend. This has been successful, with it now past the point of
   the BSDINSTALLER-BETA-1 release. It can install the distfiles but not
   the ports tree or packages yet.
     __________________________________________________________________

BSDCan

   URL: http://www.bsdcan.org/

   Contact: Dan Langille <dan at langille.org>

   We are in the process of recruiting new members for the program
   committee. If you would like to volunteer before you are recruited,
   please contact me.

   The dates for 2006 have been announced: May 12-13, 2006. The venue
   will be the same as previous events: University of Ottawa. The prices
   will not increase from 2005.

   Please start thinking about your papers. The call for papers will go
   out soon.
     __________________________________________________________________

Cronyx/Asterisk

   URL: http://www.cronyx.ru/hardware/wan.html
   URL: http://www.freebsd.org/~rik

   Contact: Roman Kurakin <rik at FreeBSD.org>

   A new netgraph-to-zaptel module that allows to use E1(ISDN PRI) WAN
   adapters as an interface card for open source PBX - Asterisk. All you
   need is an adapter that able to work in raw phone mode (like Cronyx
   Tau-PCI/2E1), eq. without HDLC-like framing and that has support of
   Netgraph.
     __________________________________________________________________

csup: cvs mode support

   URL: http://wikitest.freebsd.org/moin.cgi/ChristophMathys
   URL: http://mu.org/~mux/csup.html

   Contact: Christoph Mathys <cmathys at bluewin.ch>

   During the "Summer of Code" I worked on csup (a rewrite of CVSup in
   C). It already supported checkout-mode, so my task was to implement
   support for cvs-mode. The biggest part of the project was to implement
   support for rcs-files. As "byproducts" I also wrote the necessary code
   to create nodes/hardlinks and to update files using the
   rsync-algorithm. For what I know, the code works fine, but
   errorhandling is practically inexistent.

Open tasks:

    1. Errors should be properly handled
    2. Support to get fixups
    3. The hard part to support rcs file updates is done, but there is no
       checksum, some options are not honored and the performance could
       be improved
     __________________________________________________________________

EuroBSDCon 2005 - Basel

   URL: http://www.eurobsdcon.org/

   Contact: Information <info at eurobsdcon.org>

   The fourth European BSD conference in Basel, Switzerland is a great
   opportunity to present new ideas to the community and to meet some of
   the developers behind the different BSDs.

   The two day conference program (Nov 26 and 27) will be complemented by
   a tutorial day preceeding the conference (Nov 25).

   The FreeBSD developers will hold a DevSummit on Nov 24 and 25, so
   several developers will be at the conference.

   The program is available for Saturday and Sunday providing very
   interesting FreeBSD talks and topics.

   Today more than 160 people from 25 countries have registered for the
   conference.
     __________________________________________________________________

=46reeBSD GNOME Project

   URL: http://www.FreeBSD.org/gnome/

   Contact: Joe Marcus Clarke <marcus at FreeBSD.org>
   Contact: FreeBSD GNOME Team <gnome at FreeBSD.org>

   Since our last status report, we have added a new member to the team:
   Jean-Yves Lefort (jylefort). We have even spiced up our contact page
   with pictures of ourselves and in some cases, a cute hippo. And our
   very own Adam Weinberger (adamw) has been made a GNOME Project
   committer heading up the Canadian English translation project.

   We have finished the port GNOME 2.12 to FreeBSD. However, due to the
   ports slush in preparation for 6.0-RELEASE, the update has not been
   merged into the official ports tree. If people are eager to try out
   GNOME 2.12 while waiting for the ports tree to fully thaw, we have
   instructions on our website. GNOME 2.12 will be the first FreeBSD
   GNOME release not to include support for FreeBSD 4.X. While 4.X is
   still a very viable release for servers, it lacks many of the features
   needed for a Desktop Environment such as GNOME. We do plan to continue
   support of the GNOME development platform on 4.X, however. This
   includes Glib, GTK+, libgnome, etc. A new porting component will be
   introduced with GNOME 2.12 called, ``ltverhack''. This will help with
   future upgrades by keeping shared library versions from needlessly
   changing.

   The FreeBSD GNOME Project is also committed to providing our users
   with a solid package experience. To that end, we have extended our
   Tinderbox to build amd64 packages for all supported versions of
   FreeBSD for both the production and development releases of the GNOME
   Desktop. The development packages are even built with debugging
   symbols to better help with reporting problems.

Open tasks:

    1. FreeBSD needs a HAL port. HAL will be vital for both GNOME and KDE
       in providing FreeBSD users with a smooth, elegant desktop
       experience. Once GNOME 2.12 has been merged into the ports tree,
       work will begin on making HAL on FreeBSD a reality. Contact
       gnome at FreeBSD.org if you are interested in helping.
    2. We need help with project documentation. In particular, we need
       help auditing the FAQ to make sure the content is still relevant,
       and we are not missing any key items. If you're interested, please
       contact gnome at FreeBSD.org .
     __________________________________________________________________

=46reeBSD Web Site Redesign

   URL: http://www.FreeBSD.org
   URL: http://www.FreeBSD.org/old

   Contact: Emily Boyd <soc-emily at FreeBSD.org>
   Contact: Murray Stokely <murray at FreeBSD.org>
   Contact: Web Team <freebsd-www at FreeBSD.org>

   The new website has gone live! Thanks to Emily Boyd for all her hard
   work. We still have a lot of work to do to integrate suggestions that
   have been made by users since we went live. The new CSS design makes
   it much easier to rapidly change the look and feel of the site, so it
   is easy to experiment. We're still looking for more HTML/CSS designers
   to help us improve the site.
     __________________________________________________________________

=46reshPorts

   URL: http://www.freshports.org/

   Contact: Dan Langille <dan at langille.org>

   I'm in the process of adding personalized newsfeeds to the website.
   For each of your Watch Lists, you will also have a news feed just for
   that watch list. Any commit to any port in your watch list will turn
   up on your newsfeed. This fantastic new feature is available now for
   your RSS pleasure at the BETA site . I've also been doing some work in
   the area of supporting multiple platforms and architectures. This will
   allow FreshPorts to correctly report that a port is broken, for
   example, on i386, but not the other platforms. This feature will take
   note of BROKEN, FORBIDDEN, and IGNORE for the following architectures:
     * alpha
     * amd64
     * i386
     * ia64
     * sparc64

   And the following OSVERSIONS (subject to upgrade as new releases come
   along):
     * 492100
     * 504102
     * 600033
     * 700001

   Upcoming changes, in addition to the above, include:
    1. NOT_FOR_ARCHS
    2. ONLY_FOR_ARCHS
    3. IS_INTERACTIVE

   I've been getting useful help from those on IRC. Thanks.

Open tasks:

    1. Complete the above.
     __________________________________________________________________

=46use for FreeBSD

   URL: http://fuse4bsd.creo.hu/
   URL: http://wikitest.freebsd.org/moin.cgi/FuseFilesystem
   URL: http://creo.hu/~csaba/projects/fuse4bsd/downloads/

   Contact: Csaba Henk <soc-chenk at freebsd.org>

   Fuse for FreeBSD is the outcome of my "ssh based networking filesystem
   for FreeBSD" SoC project.

   The kernel interface for the comprehensive userspace filesystem API
   provided by the ( Fuse project ) has been implemented for FreeBSD (6.x
   and 7.x), under the BSD license. This has the benefit of opening up
   the possibility of porting the rich collection of Fuse based
   filesystems to FreeBSD.

   Now it's ready for consumption by a broader audience. The
   sysutils/fusefs-kmod , sysutils/fusefs-libs , sysutils/fusefs-sshfs
   ports can be expected to be integrated into the FreeBSD ports tree in
   the next few days (the ports were created and are maintained by Anish
   Mistry, and Simon Barner's careful review also helps a lot).

Open tasks:

    1. Implement missing features like extended attributes and
       attribute/name caching (with timeout).
    2. Resolve problems with autotools and integrate userspace
       modifications into the Fuse codebase.
    3. Port Fuse based filesystems and language bindings to FreeBSD.
    4. Create sysfs (Fuse based filesystem interface to sysctl).
    5. Test, test, test among a broad variety of circumstances.
     __________________________________________________________________

ggtrace

   URL: http://ivoras.sharanet.org/projects/ggtrace.html

   Contact: Ivan Voras <ivoras at yahoo.com>

   Ggtrace is "GEOM gate tracer", utility to track I/O requests on a
   storage device on FreeBSD. It uses the ggate facility of FreeBSD to
   attach to a file or device and produces a device that can be used for
   any I/O, including hosting filesystems.

   I/O requests are presented in the form of a moving histogram that can
   be used to discern which parts of the storage device are used most
   often. One use of ggtrace is to analyze how filesystems arrange and
   access data on storage devices.

   The project is working and usable only on the RELENG_6 branch.
     __________________________________________________________________

gjournal

   URL: http://wikitest.freebsd.org/moin.cgi/gjournal

   Contact: Ivan Voras <ivoras at yahoo.com>

   Gjournal provides GEOM-level journaling and COW capabilities to
   storage devices. Unfortunately, it cannot be used as a substitute for
   filesystem journaling (fsck is still needed when gjournal device is
   used to host filesystems). Development has slowed down, and the
   existing code needs much more testing. If there is continued interest
   in it, I'll probably split the functionalities into two projects, one
   handling COW and one handling the journaling, in order to make the
   code cleaner.

Open tasks:

    1. More testing is needed.
     __________________________________________________________________

gvinum 'move', 'rename' support

   URL: http://wikitest.freebsd.org/moin.cgi/GvinumMoveRename

   Contact: Chris Jones <soc-cjones at freebsd.org>

   Support for moving and renaming objects in gvinum was completed at the
   end of August 2005. All gvinum objects (drives, subdisks, plexes, and
   volumes) can be renamed, and subdisks can be moved from drive to
   drive. Also, a man page for gvinum was created.

Open tasks:

    1. Update FreeBSD Handbook chapter on vinum to reflect gvinum. Slowly
       in progress, but hopefully done by the end of the year, workload
       permitting.
     __________________________________________________________________

Improve Libalias

   URL: http://wikitest.freebsd.org/moin.cgi/PaoloPisati
   URL: http://wikitest.freebsd.org/moin.cgi/PaoloPisati

   Contact: Paolo Pisati <p.pisati at oltrelinux.com>

   The project met all the scheduled goals, and following are the new
   features implemented in libalias:
     * integration with IPFW in kernel land
     * support for 4.x and 5.x as kld
     * converted from a monolithic to a modular architecture, added the
       ability to load/unload at runtime support for new protocols
       (modules work both in kernel and user land)
     * added logging support in kernel land

   Fell free to suggest other improvements.

Open tasks:

    1. Test and feedback are welcome
     __________________________________________________________________

Integrated SNMP monitoring

   URL: http://people.freebsd.org/~harti/bsnmp/index.html
   URL: http://wikitest.freebsd.org/moin.cgi/ShteryanaShopova
   URL: http://wikitest.freebsd.org/moin.cgi/SnmpMonitoringModulesStatus

   Contact: Philip Paeps <philip at FreeBSD.org>
   Contact: Shteryana Shopova <soc-shteryana at FreeBSD.org>

   This summer, we've had the pleasure of having two Google Summer of
   Code students hacking on our SNMP monitoring machinery. Victor worked
   on implementing the Host Resources, TCP and UDP MIBs in bsnmpd while
   Shteryana started on client-side SNMP tools.

   With these modules and tools, a FreeBSD installation can be monitored
   without having to install any (heavy!) third-party tools.

Open tasks:

    1. While the modules and the tools currently in Perforce are
       generally functional, they still need some tidying up (style(9))
       and testing before they can be committed to CVS.
       At the time of this writing, the Hostres MIB is pretty much
       commit-ready in Perforce (//depot/user/philip/bsnmp/...), the
       other modules and tools live in //depot/projects/soc2005/bsnmp/...
       They'll be branched for tidying up and committing "Real Soon
       Now"[tm]
    2. Testers are very welcome. :-) Please let us know about any bugs!
     __________________________________________________________________

Interface Cleanup

   URL:
   http://wikitest.freebsd.org/moin.cgi/CleanupOfNetworkInterfaceApisProp
   osal

   Contact: Anders Persson <soc-anders at freebsd.org>

   The dependencies to kernel-only datastructures in netstat (ifnet,
   etc.) have been removed almost completely (AppleTalk and IPX still
   needs work). In order to remove the dependencies, the debugging
   features of netstat had to be removed. However, a project to create a
   generic, modular 'data structure' examination tool is ongoing, and the
   debugging features factor out of netstat have been migrated to this
   tool.

Open tasks:

    1. Refactoring of the netstat code, create a modular version in the
       spirit of ifconfig.
    2. Data structure examination tool needs to be completed, current
       state is more that of a prototype.
     __________________________________________________________________

iSCSI Initiator

   URL: ftp://ftp.cs.huji.ac.il/users/danny/freebsd/iscsi-12.tar.bz2

   Contact: Daniel Braniss <danny at cs.huji.ac.il>

   This iSCSI kernel module and its companion control program, are still
   under development, but the main parts seem to be working. A second
   round of public tests has started.

Open tasks:

    1. login chap authentication
    2. digest
    3. network disconnect recovery
     __________________________________________________________________

launchd(8) for FreeBSD

   URL: http://wikitest.freebsd.org/moin.cgi/launchd

   Contact: R. Tyler Ballance <tyler at tamu.edu>

   In short, launchd can run perfectly fine on FreeBSD, and combined with
   launchctl, it can be used to manage daemons through the launchctl(1)
   interface. Jobs can be added and managed two ways as of yet from
   launchctl(1). Using zarzycki@'s experimental "submit" command within
   launchctl(1) or by using my lame/rudimentary/etc "launcher" format
   (launchd/launchers/*.launch) which uses property(3) to parse out three
   simple, and important details. The program label, path, and any
   program flags. Using the "load" command, one can load the data into
   launchctl(1) and then start the processes with the..."start" command.
   Jobs can be removed/stopped with the "remove" command. The "limit"
   command still throws launchctl(1) into an infinite loop, and yes, I
   plan on fixing this.

   There are some things that need to be fixed, first off, some sort of
   boot time integration, whether as an init-replacement (i.e. PID 1, a
   la Mac OS X) or as the first thing started from init, that kicks all
   rcng things off. Along with, more importantly, a plist parser, so we
   can have full compatibility with Mac OS X's launchd via Core
   Foundation.

   I'm also trying to get launchd(8) relicensed with the BSD license, as
   opposed to the APSL, anybody with tips, or methods for achieving this
   goal, contact me at tyler at tamu.edu

Open tasks:

    1. Writing a light-weight plist (non-XML) parser with lex and yacc.
     __________________________________________________________________

Low-overhead performance monitoring for FreeBSD

   URL: http://people.freebsd.org/~jkoshy/projects/perf-measurement

   Contact: Joseph Koshy <jkoshy at FreeBSD.org>

   This projects implements a kernel module (hwpmc(4)), an application
   programming interface (pmc(3)) and a few simple applications
   (pmcstat(8) and pmccontrol(8)) for measuring system performance using
   event monitoring hardware in modern CPUs.

   The last three months have been spent in bug fixing and in tweaking
   the code. A few more minor features and loose ends remain to be taken
   care of. Once these are done, I hope to get started on a graphical
   performance analyser.
     __________________________________________________________________

NEWCARD

   Contact: Warner Losh <imp at freebsd.org>

   Due to an email snafu, the June report was not submitted, so this
   report covers since the last 6 months.

   Summary: The 16-bit part of NEWCARD has been greatly enhanced. In
   addition, power control has become interrupt driven. Some drivers make
   use of the new functionality.

   The pccard layer now exports the CIS for each device that is present,
   even if there's no driver for the card or parts of the card.

   The power up and reset sequence is now interrupt driven. This has
   eliminated many of the long pauses that the system used to experience
   after a card insertion. We can not play glitch-free audio while
   inserting or removing a card.

   A number of additional cards are recognized by PC Card. In addition,
   drivers now can read the CIS for more information about the card.
   Drivers have been enhanced to read the CIS for MAC addresses and the
   like where appropriate.

   The ed driver now attaches the mii bus of the AX88190 and AX88790 fast
   ethernet PC Card chips. This allows better status reporting and
   increased functionality for PHY chips that need some help. The ed
   driver also supports the Tamarack TC5299J chipset (including attaching
   its MII bus) now, the only open source OS that does so (TC5299J cards
   will work with other open source OS, but they won't report their
   status or attach a mii bus).

   A number of bugs have been fixed in the pccard or cardbus drivers.
   Most of these changes have been merged into the forthcoming 6.0.
   Others will be merged after the release.

Open tasks:

    1. ExpressCard laptops have arrived with ExpressCard/54 and
       ExpressCard/34 slots. It is unknown the extent of the work
       necessary to support them.
    2. The ISA attachment of cbb needs work to make it fully functional.
    3. A CIS parser in userland needs to be written. The pccardc based
       CIS parser is OK, but it doesn't handle MFC cards too well.
       Ideally the parser would produce output that is compatible with
       the linux tool.
    4. A mechanism for CIS override is needed. We need a tool that will
       take an ascii representation of the CIS and produce a binary. We
       need a tool that will install the binary into the kernel and
       kernel modifications to switch from the CIS that's in the card to
       the faked up CIS.
    5. We need a mechanism for creating pseudo multi-function cards.
       Initially, it seems that all we really need is the ability for an
       arbitrary driver to add a sio companion, since that covers all the
       cases I'm aware of. Resources would need to be 'donated' from the
       creating driver to the sio card.
    6. It would be nice if we could move to a more common CIS parsing and
       dispatch. The CardBus side is wide open at the moment since none
       of the pci drivers use the CIS information outside of a few that
       get their MAC address via a standard interface.
    7. The ep driver needs work to make the newer ep cards that have mii
       bus on them actually probe and attach it. It needs to gain media
       support for the non-mii based cards. The 3C1 still needs work.
    8. The sn driver needs work to support many of the SMC91Cxxx PC Card
       devices. These are typically combination cards that need special,
       non-standard initialization.
    9. Power savings for 16-bit cards can be realized if we power them up
       at 3.3V rather than at 5.0V. Not all cards can support this, but
       many can and indicate this support in the CIS. Windows tries the
       3.3V configuration entries before the 5.0V ones. We should do the
       same.
   10. Most of the changes that have been made to the pccard and cardbus
       layers can be merged back into RELENG_5.
     __________________________________________________________________

Nsswitch / Caching daemon

   URL:
   http://wikitest.freebsd.org/moin.cgi/NsswitchAndCachingFinalReport
   URL: http://wikitest.freebsd.org/moin.cgi/MichaelBushkov

   Contact: Michael Bushkov <>

   The nsswitch / caching daemon project was developed within the
   Google's Summer Of Code program. Almost all goals of the project were
   achieved. Thanks to Brooks Davis and Jacques Vidrine, who were my
   mentors and greatly helped me.

   Nsswitch subsystem was extended to support new sources (services,
   protocols, rpc, openssh and GT4). The testing of the Globus Grid
   Toolkit 4 patch (which adds support for nsswitch to GT4) is still to
   be done. For nsswitch to support caching, the caching daemon was
   implemented on top of the caching library, which was also developed
   during the SoC. The current version of the daemon uses simple
   nscd-like configuration file and seems to be stable. To complete the
   SoC project, the experimental version of libc with in-process caching
   enabled was made. It's benchmarking will be done in the nearest
   future.

   There were some requests for caching daemon to be able to act like
   NSCD (to perform the actual nsswitch lookups by itself), so it was
   modified to support this feature. But current implementation has some
   restrictions and requires a lot of testing. Right now the final
   polishing is being made to the project's sources, so that they could
   be added to the CURRENT

Open tasks:

    1. Extend caching daemon to support NSCD functionality
    2. Test Globus Grid Toolkit 4 patch
    3. Add support for MAC and audit related configuration files to the
       nsswitch
     __________________________________________________________________

OpenBSD dhclient import

   Contact: Brooks Davis <brooks at FreeBSD.org>
   Contact: Sam Leffler <sam at FreeBSD.org>

   The OpenBSD rewrite of dhclient has been imported, replacing the ISC
   dhclient. The OpenBSD client provides better support for roaming on
   wireless networks and a simpler model of operation. Instead of a
   single dhclient process per system, there is on per network interface.
   This instance automatically goes away in the even of link loss and is
   restarted via devd when link is reacquired. To support this change,
   many aspects of the network interface configuration process were
   overhauled.

   The current code works well in most circumstances, but more testing
   and polishing is needed. A few bug are being tracked, but most of them
   are edge cases.

   Work on further interface configuration enhancements is underway for
   FreeBSD 7.0.
     __________________________________________________________________

OpenBSD packet filter - pf

   Contact: Max Laier <mlaier at freebsd.org>

   Futher improvements have been made to pfsync to make it behave well in
   SMP scenarios. All bug fixes have been MFCed to RELENG_5 where
   applicable. A couple of bugfixes and feature improvements have been
   imported via OpenBSD (originally suggested by FreeBSD users).

   As described in the last report, FreeBSD 6.0 and future RELENG_6
   releases will be based on OpenBSD 3.7. Newer code will be imported as
   soon as 6.0 has settled down a bit.
     __________________________________________________________________

pfSense

   URL: http://www.pfsense.com

   Contact: Scott Ullrich <sullrich at gmail.com>

   pfSense is a m0n0wall derived operating system platform with radically
   different goals such as using Packet Filter, FreeBSD 6, ALTQ for
   excellent packet queueing and finally an integrated package management
   system for extending the environment with new features.

   Work continues to stabilize pfSense in preparation for the FreeBSD 6
   release. Once FreeBSD 6 is released pfSense will enter the final beta
   and release candidate phases in preparation for the 1.0 release.

Open tasks:

    1. Stabilize installer (cannot load kernel errors after install)
    2. Finish outgoing load balancing monitoring
    3. Fix last minute bugs that turn up
     __________________________________________________________________

Porting FreeBSD to the Xbox

   URL: http://www.xbox-bsd.nl

   Contact: Rink Springer <rink at rink.nu>
   Contact: Ed Schouten <ed at fxq.nl>

   As of 26th July 2005, it is possible to run FreeBSD on your Xbox with
   minor patching effort. The framebuffer has initial support; The USB
   ports, IDE- and audio controllers are fully supported; the only part
   severely lacking now is the lack of support for the NForce Ethernet
   controller.

   Currently, efforts are focussing on eliminating the XBOX kernel option
   and make the port self-detecting; this means the x86 and xbox kernels
   will be identical. The goal is to provide native xbox support in
   7-CURRENT.

   Futhermore, a porting effort is planned from Linux' GPL-ed
   forcedeth.c; not only the Xbox port will benefit from this but also
   all NForce motherboard owners. The resulting driver could be
   kldload-ed to keep the kernel GPL-free.

Open tasks:

    1. The xbox framebuffer driver should be merged in the VESA
       framework, so it can use syscons(4). Assistance on this would be
       very welcome!
     __________________________________________________________________

Ports Collection

   URL: http://www.freebsd.org/ports/
   URL: http://people.freebsd.org/~fenner/portsurvey/
   URL: http://edwin.adsl.barnet.com.au/~edwin/ports/
   URL: http://portsmon.FreeBSD.org/index.html
   URL: http://www.freebsd.org/portmgr/index.html

   Contact: Mark Linimon <linimon at FreeBSD.org>

   A great deal of work has gone into the Ports Collection since the last
   report in April, much of it behind-the-scenes.

   As this report was being written, the 6.0 release was ongoing. Due to
   the amount of time that it has taken to get 6.0 through the beta
   process and into RC, we have been in ports freeze or slush for more
   than two months. Unfortunately this has held back needed work on the
   ports infrastructure.

   The last major update to bsd.port.mk, in early May, was coordinated by
   Kirill Ponomarew added a number of new features and closed 15 PRs.
   Another similar set of changes has been tested and is ready for commit
   after release.

   portmgr welcomed two new members to its team: Erwin Lansing (who had
   previously served as secretary, a role in which he is continuing) and
   Clement Laforet. Clement is interested in speeding up the adoption of
   new changes into the infrastructure, an item I'm sure that that
   everyone can support. He promises to bring some fresh ideas to bear on
   this, including the revitalization of devel/portmk as a testing ground
   for new changes to bsd.port.mk in which the larger community can help
   test changes.

   The unfetchable distfile survey, which had been non-functional for
   quite some time, was revitalized by Bill Fenner, with many new pages
   of analysis added to it. Work is still ongoing. As a result of this
   analysis, Bill and Mark Linimon eliminated nearly 100 lines of bogus
   or outdated sites from bsd.sites.mk alone. They are continuing to work
   through many other sites and ports as successive iterations of the
   survey reveal more dimensions to the problem. We still need more help
   from the larger community (see below).

   Edwin Groothius has instituted a similar but slightly different
   survey. His program attempts to visit each listed mastersite for each
   distfile and determine whether or not a newer version might be
   available. The results are stored in a database. This is helping to
   automate a function that had been left up to individual maintainers to
   look through numerous websites to try to find these updates. The
   survey has been hugely (if not universally) popular. Already, dozens
   of port updates have been committed as a direct result of this
   service.

   In addition, portsmon, which had been down due to a machine change,
   was moved to portsmon.FreeBSD.org and updated during this time. Many
   thanks to Erwin Lansing for providing the loan of this machine, and
   Will Andrews for having provided the loan of the previous incarnation.

   Both of the above surveys are now generating periodic email to ports
   maintainers advising them of problems. This is in addition to
   recurring email from portsmon. The surveys allow individual
   maintainers to ask to receive no further email. portsmon does not
   currently have this but it needs to be added. Although we have no
   doubt the mail can in some cases be annoying (especially given the
   fact that there will inevitably be some false positives), the fact is
   that these emails have had a direct impact on the quality on the
   ports. We ask for patience from the community while each of us
   continues to fine-tune the algorithms controlling what email is
   generated. (Because of the number of emails these systems generate, it
   is impossible to go over every one individually for a sanity check).

   As a result of bounces from the above email, we have also been
   resetting maintainers who have become unreachable.

   Pav Lucistnik has done a great deal of work on the Porter's Handbook,
   including some much needed reshuffling and cleanup. Expanded sections
   include Apache and PHP; Configure Scripts; Dealing With Shared
   Libraries; Dealing With User Configuration Files; Handling Empty
   Directories; Python; and Ruby. In addition, Edwin Groothius has
   contributed a section on OPTIONS, and numerous other sections have
   been improved by good suggestions from various other contributors.

   A new article, "Maintaining and contributing to the FreeBSD Ports
   Collection", has been prepared by Sam Lawrance and has been reviewed
   and is ready for commit. This document attempts to codify the rights
   and responsibilities of ports maintainers, which until now had merely
   been "community lore" as discussed on various mailing lists.

   We continue to add new committers regularly, 8 since the last report.

   The ports collection now contains over 13,500 ports. This is an
   increase of over 750 since the last report in April.

Open tasks:

    1. portmgr would like to ask maintainers and committers alike to go
       through the status of their ports on the two distfile surveys,
       both the one that shows unfetchable current distfiles and the one
       that shows possibly updated distfiles. This is an effective way to
       quickly help improve our user's perception of the state of the
       ports.
    2. A great deal of progress has been made in cracking down on ports
       that install files outside the approved directories and/or do not
       deinstall cleanly (see "Extra files not listed in PLIST" on
       pointyhat ). These ports are now a small minority thanks to the
       dedicated efforts of a large number of individuals.
    3. We still have a large number of PRs that have been assigned to
       committers for some time (in fact, they constitute the majority).
       portmgr members are now going through this list and asking each
       committer to either commit them or release them to the general
       pool so that someone else may work on them. In addition, the
       existing policies for inactive maintainers (two weeks for
       maintainer- timeout on PRs; three months for maintainer reset if
       no activity) are going to be much more actively pursued than in
       the past, where the policies were more honored in the breach than
       in the observance. The goal is to try to bring the Ports
       Collection as up-to-date as possible. (While there has been
       progress on many fronts, there are still areas where ports are
       suffering from bit-rot.)
     __________________________________________________________________

Ports Tinderbox

   URL: http://tinderbox.marcuscom.com

   Contact: Joe Marcus Clarke <marcus at FreeBSD.org>
   Contact: Tinderbox List <tinderbox-list at marcuscom.com>

   The Ports Tinderbox is a packaged system for building FreeBSD ports in
   a clean environment. It can be used to test new ports, updates to
   existing ports, or simply as a package building engine. Tinderbox uses
   the same underlying code that the official FreeBSD package build
   cluster, pointyhat, uses. So if a port builds under Tinderbox, it is
   guaranteed to build on pointyhat.

   More an more FreeBSD committers and ports maintainers are starting to
   use Tinderbox. We just released version 2.1.0 which added
   much-requested PostgreSQL support as well as fixed many bugs. We
   expect a 2.1.1 release soon with some additional bug fixes.

   With the 2.1.0 release of Tinderbox, we have branched the code base so
   that we can focus on larger features in our HEAD branch while still
   producing stable releases on a more frequent basis. The biggest new
   feature planned for Tinderbox 3.0 is clustering support which is being
   spearheaded by Ade Lovett (ade).

Open tasks:

    1. At this point, we really need help with documentation. Work has
       begun on creating man pages for the various Tinderbox commands,
       but we need help to churn them out at as faster rate. If you have
       strong mdoc fu, and interested in helping us out, please contact
       marcus at marcuscom.com .
     __________________________________________________________________

PowerPC Port

   URL: http://www.freebsd.org/platforms/ppc.html

   Contact: Peter Grehan <grehan at freebsd.org>

   The project has been following the 6.0 release schedule by producing
   BETA-* builds and is now up to the RC1 build.

   Dario Freni successfully built a FreeSBIE/ppc iso for his
   Summer-of-code project.
     __________________________________________________________________

Problem Report Database

   URL: http://www.freebsd.org/support.html#gnats

   Contact: Mark Linimon <bugmeister_at_freebsd_dot_org>

   Due to some good recent commit and cleanup work by both Alexander
   Leidinger and Craig Rodrigues, the number of base-system PRs has
   stabilized somewhat. The number of incoming ports PRs continues to
   accelerate but except during freezes the ports committers have been
   battling to commit them as quickly as they come in. (The graphs very
   clearly show where the freezes are.) The net result is that we are
   holding our own but it takes a great deal of (mostly unheralded)
   effort to do so. Thanks are due to a large number of individuals who
   are doing this ongoing work.

   There is ongoing work to ask committers who have had PRs assigned to
   them for a significant period of time, whether they are still
   interested in pursuing them or whether they should instead be
   reassigned to the pool. This is being done to try to get as many PRs
   'unstuck' as possible to try to help improve our users' perceptions of
   the project.

   As an experiment, Mark Linimon has been adding 'tags' to many of the
   kern and bin PRs, including such things as '[nfs]', '[if_em]', and so
   forth. The idea is to try allow searching and browsing based on these
   terms so that committers will find it easier to work with our current
   PR database. At the moment this is in the experimental stage, although
   it is possible for committers to work with them from the command line
   on systems with a database installed via query-pr(1).
     __________________________________________________________________

Realtime POSIX signal

   Contact: David Xu <davidxu at FreeBSD.org>

   The FreeBSD kernel is powerful, but it still lacks some realtime POSIX
   facilities, for example, sigqueue, current I am working on it, most
   code is ready, and being tested.

Open tasks:

    1. POSIX timer, timer_xxx syscalls
     __________________________________________________________________

Removable interface improvements

   URL: http://people.freebsd.org/~brooks/pubs/eurobsdcon2004/
   URL: http://www.freebsd.org/projects/dingo/

   Contact: Brooks Davis <brooks at FreeBSD.org>

   This project is an attempt to clean up handling of network interfaces
   in order to allow interfaces to be removed reliably. Current problems
   include panics if Dummynet is delaying packets to an interface when it
   is removed.

   I have removed struct ifnet's and layer two common structures from
   device driver structures. This will eventually allow them to be
   managed properly upon device removal. This code has been committed and
   will appear in 6.0. Popular drivers have continued to be fixed. jhb's
   locking work has identified and corrected many issues. rwatson has
   also committed cleanups to the multicast code which fix some issues in
   this area.
     __________________________________________________________________

SNMP Monitoring

   URL: http://wikitest.freebsd.org/moin.cgi/VictorCruceru

   Contact: Harti Brandt <harti at freebsd.org>
   Contact: Philip Paeps <philip at freebsd.org>
   Contact: Victor Cruceru <soc-victor at freebsd.org>

   New MIBs are implmented for the BSNMP agent:
    1. HOST-RESOURCES-MIB ( http://www.ietf.org/rfc/rfc2790.txt ). Philip
       is going to submit the code into the CVS repository.
    2. TCP-MIB with combined IPv4 & IPv6 support (
       http://www.ietf.org/rfc/rfc4022.txt ). This new TCP-MIB is 100%
       backward compatible with the old one (v4 only). It adds a clear
       distinction between active and passive tcp endpoints and for each
       endpoint info about the process it belongs to.
    3. UDP-MIB with combined IPv4 & IPv6 support (
       http://www.ietf.org/rfc/rfc4113.txt ). This new UDP-MIB is 100%
       backward compatible with the old one (v4 only) and it adds
       multiple instances support for the UDP endpoints and for each
       endpoint info about the processes using it.

Open tasks:

    1. For HOST-RESOURCES-MIB we are going to add support for more
       detailed memory stats based of libmemstat(3)
    2. The rest of the IPv6 MIBs.
    3. FreeBSD enterprise MIBs for supporting SNMP configuration (via
       SNMP SETs) for FreeBSD.
     __________________________________________________________________

Sound subsystem improvements

   Contact: Multimedia Mailinglist <multimedia at FreeBSD.org>
   Contact: Ariff Abdullah <skywizard at MyBSD.org.my>
   Contact: Alexander Leidinger <netchild at FreeBSD.org>

   Recently a lot of fixes, specially in handling format / rate
   conversion and general stability got committed to -current. This
   include fixes for most LOR's and new features (software volume
   handling for soundcards without volume handling in hardware and the
   possibility to switch to spdif).

   A lot of effort was spend by Ariff (and other people) to come up with
   those improvements. For this reason Ariff is "punished" with a commit
   bit, so he is able to commit further improvements on his own.

   This work is not integrated into 6.0-RELEASE because of some lose ends
   (see 'sndctl' below).

   You can help by looking at sound related PR's in GNATS and making
   follow-up's which tell us if a problem still persists or if a PR can
   be closed because the bug is fixed. Also feel free to submit patches
   for anything on the TODO list below.

Open tasks:

    1. Update manpages to reflect current features.
    2. Fix driver specific issue (via, t4dwave, maestro).
    3. Make all drivers MPSAFE.
    4. Rewrite some parts (e.g. a new mixer subsystem with OSS
       compatibility).
    5. 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),
       pcmutil(1).
    6. Plugable FEEDER infrastructure. For ease of debugging various
       feeder stuff and/or as userland library and test suite.
    7. Support for new hardware (envy24, Intel HDA).
    8. Performance enhancement (via 'slave'-channels, changes are under
       review)?
    9. Closer compatibility with OSS, especially for the upcoming OSS v4.
   10. Close a lot of PR's.
   11. Document the sound system in the FreeBSD Architecture Handbook .
     __________________________________________________________________

TCP & IP Routing Optimization Fundraise

   URL: http://people.freebsd.org/~andre/tcpoptimization.html
   URL:
   http://www.freebsd.org/news/status/report-mar-2005-june-2005.html#Fund
   raising---TCP-&-IP-Routing-Optimization

   Contact: Andre Oppermann <andre at freebsd.org>

   The fundraise has been very successful and I want to thank everyone
   who has pledged their support and tipped the jar. The full amount plus
   a little bit more has been raised in a very short timeframe. More
   information on the exact amounts and their sponsors can be found at
   the first link.

   Due to the extended (and unexpected long) code freeze for the release
   process of FreeBSD 6.0 (which is very high quality btw.) I've decided
   to push back on working full time until the freeze is lifted. So far
   I've done some work in the mbuf handling area and some other netinet
   cleanups in my local repository.

   Once FreeBSD 6.0 is released I resume my work on this project and many
   changes and optimizations, as described in the first and second link,
   will go into into FreeBSD-current.
     __________________________________________________________________

The Kernel Stress Test Suite

   URL: http://people.freebsd.org/~pho/stress/

   Contact: Peter Holm <pho at freebsd.org>

   The current version of the test suite took form in the beginning of
   this year after discussions with Jeff Roberson, during a long period
   of testing Jeff's VFS SMP work.

   At that time Daniel Seuffert donated a Tyan Thunder 7500 M/B with
   CPUs, RAM and coolers so I was able to do some serious SMP testing.

   Mid July Murray Stokely suggested adding a link from the 6.0 todo web
   page to the Stress Test Status Page. At that time there were a few
   reoccurring panics that made it hard to test the kernel for other
   problems. Numerous people put a lot of hard work in fixing the panics
   and livelocks found during the next months. At the same time others
   stepped in and ran the test suite on their own hardware, thus
   increasing the focus on kernel stability.

   The status for 6.0 is that I do not any longer get panics with the
   test suite.
     __________________________________________________________________

TODO list for volunteers

   Contact: Alexander Leidinger <netchild at FreeBSD.org>

   The TODO list for volunteers (see the last report for more) is now
   under review by some doc@ people.
     __________________________________________________________________

UFS Journaling

   Contact: Brian Wilson <polytopes at gmail.com>
   Contact: Scott Long <scottl at FreeBSD.org>

   Scott has been working on inserting journalling hooks into the ufs and
   ffs filesystem code. Brian has been balancing school and redesigning
   various things that were deemed necessary to update during the end of
   the actual SoC project.

Open tasks:

    1. Finish the redesign of the internal block management code.
    2. Integration and test of the ffs/ufs hooks and the journaling code.
    3. Updating userland tools to be aware of and use the journal.
    4. Journal buffer management wiring to VM subsystem a la XFS.
     __________________________________________________________________

   Legal Notices | =A9 1995-2005 The FreeBSD Project. All rights reserved.


More information about the freebsd-announce mailing list