FreeBSD: Status Report April-Juni 2006

Daniel Seuffert

Well-Known Member
Wer die entsprechenden ML abonniert hat kennt es schon, falls nicht einfach das Ganze als Zitat. der Report ist diesmal sehr umfangreich ausgefallen, deshalb erspare ich mir Auszüge daraus. Bemerkenswert finde ich die Arbeit von Hans Petter Selasky bezüglich GIANT-freiem USB, aber leset selbst:



Message: 28
Date: Wed, 12 Jul 2006 00:24:00 +0200
From: Max Laier <max@love2party.net>
Subject: FreeBSD Status Report Second Quarter 2006
To: freebsd-hackers@freebsd.org
Cc: freebsd-current@freebsd.org
Message-ID: <200607120024.02147.max@love2party.net>
Content-Type: text/plain; charset="us-ascii"


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

Introduction

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
time.

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

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

Projects

* 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

Kernel

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

Documentation

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

Userland programs

* Low-overhead performance monitoring tools

Architectures

* PowerPC Port

Ports

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

Vendor / 3rd Party Software

* BSDInstaller
* pfSense
* xscale board buy

Miscellaneous

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

BSDCan

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

Contact: Dan Langille <dan@langille.org>

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
from:
* 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
PARSE.

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.
_________________________________________________________________

BSDInstaller

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

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

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

URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/soc
%2dshteryana/bsnmp/usr.sbin/bsnmpd/modules/snmp%5fbridge
URL: http://wiki.freebsd.org/SnmpBridgeModule

Contact: Shteryana Shopova <shteryana@FreeBSD.org>

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.
_________________________________________________________________

DTrace

URL: http://people.freebsd.org/~jb/dtrace/index.html

Contact: John Birrell <jb@freebsd.org>

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
cvsup10.freebsd.org

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

URL: http://www.embeddedfreebsd.org/

Contact: George Neville-Neil <gnn@freebsd.org>

There are several projects moving forward in the embedded area. For
now the main location for new information is www.embeddedfreebsd.org.
We have also created a new mailing list, freebsd-embedded@freebsd.org
, 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

URL: http://www.eurobsdcon.org

Contact: Massimiliano Stucchi <stucchi@eurobsdcon.org>

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
conferences.

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
cultures.

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@eurobsdcon.org in order to discover the different
sponsoring opportunities.
_________________________________________________________________

FAST_IPSEC Upgrade

URL: http://sources.zabbadoz.net/freebsd/ipv6/fast-ipsec.html

Contact: George Neville-Neil <gnn@freebsd.org>
Contact: Bjoern A. Zeeb <bz@freebsd.org>

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
routine.
_________________________________________________________________

FreeBSD list of projects and ideas for volunteers

URL: http://www.FreeBSD.org/projects/ideas/

Contact: Joel Dahl <joel@FreeBSD.org>
Contact: Alexander Leidinger <netchild@FreeBSD.org>

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@FreeBSD.org>

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

URL: http://www.freebsd.org/security/
URL:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributors/staff
-listing.html#STAFF-SECTEAM
URL: http://vuxml.freebsd.org/

Contact: Security Officer <security-officer@FreeBSD.org>
Contact: Security Team <security-team@FreeBSD.org>

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
2006.
_________________________________________________________________

FreshPorts

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

Contact: Dan Langille <dan@langille.org>

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

URL: http://people.freebsd.org/~kib/quotagiant

Contact: Konstantin Belousov <kib@FreeBSD.org>

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

URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects
/usb/src/sys/dev/usb&HIDEDEL=NO
URL: http://www.turbocat.net/~hselasky/usb4bsd

Contact: Hans Petter Sirevaag Selasky <hselasky@c2i.net>

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.
_________________________________________________________________

GJournal

URL:
http://lists.freebsd.org/pipermail/freebsd-fs/2006-June/001962.html
URL: http://people.freebsd.org/~pjd/patches/gjournal.patch
URL: http://people.freebsd.org/~pjd/patches/gjournal6.patch

Contact: Pawel Jakub Dawidek <pjd@FreeBSD.org>

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@stud.ntnu.no>

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.
_________________________________________________________________

gvirstor

URL: http://wikitest.freebsd.org/gvirstor

Contact: Ivan Voras <ivoras@freebsd.org>

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

URL: http://gabor.t-hosting.hu/data/hu/

Contact: Gábor Kövesdán <gabor@FreeBSD.org>

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

URL: http://wikitest.freebsd.org/GáborKövesdán
URL: http://wikitest.freebsd.org/DESTDIR
URL: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/98105

Contact: Gábor Kövesdán <gabor@FreeBSD.org>

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 bsd.port.mk to be separate
scripts.
4. A tool should be written that makes possible to cross-compile
ports.
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@FreeBSD.org>

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
kern_intr.c::intr_filter_loop()
* 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
filters
* converted all the normal ithread driver to provide a NULL filter
funcion

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

URL: http://sources.zabbadoz.net/freebsd/ipv6/
URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/bz/
ipv6

Contact: Bjoern A. Zeeb <bz@freebsd.org>

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
caches.

Open tasks:

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

IPv6 Vulnerabilities

URL: http://wiki.freebsd.org/ClementLecigne

Contact: George Neville-Neil <gnn@freebsd.org>
Contact: Clément Lecigne <clemun@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 FreeBSD.org
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@freebsd.org>

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

URL: http://wikitest.freebsd.org/SpencerWhitman

Contact: Spencer Whitman <joecat@cmu.edu>
Contact: Poul-Henning Kamp <phk@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

URL: http://wiki.freebsd.org/RomanDivacky

Contact: Roman Divacky <rdivacky@freebsd.org>
Contact: Alexander Leidinger <netchild@freebsd.org>

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 google.com 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
linuxolator
_________________________________________________________________

Low-overhead performance monitoring tools

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

Contact: Joseph Koshy <jkoshy@FreeBSD.org>

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

URL:
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/bz/
jail

Contact: Bjoern A. Zeeb <bz@freebsd.org>

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

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

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
repository.
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

URL: http://wikitest.freebsd.org/LdapCachedDetailedDescription
URL: http://wikitest.freebsd.org/MichaelBushkov

Contact: Michael Bushkov <bushman@FreeBSD.org>

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
completed.

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.
_________________________________________________________________

pfSense

URL: http://www.pfsense.com

Contact: Scott Ullrich <sullrich@gmail.com>

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
monthly.

Open tasks:

1. http://cvstrac.pfsense.com/rptview?rn=6 lists the remaining open
bugs.
_________________________________________________________________

Ports Collection

URL: http://www.freebsd.org/ports/
URL:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports
/
URL: http://portsmon.FreeBSD.org/index.html
URL: http://people.freebsd.org/~fenner/portsurvey/
URL: http://beta.inerd.com/portscout/
URL: http://www.freebsd.org/portmgr/index.html
URL: http://tinderbox.marcuscom.com

Contact: Erwin Lansing <erwin@FreeBSD.org>

Contact: Mark Linimon <linimon@FreeBSD.org>

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 freebsd.org 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

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

Contact: Peter Grehan <grehan@freebsd.org>

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

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

Release Engineering

URL: http://www.freebsd.org/releng/
URL: http://www.freebsd.org/releases/
URL: http://www.freebsd.org/snapshots/

Contact: Release Engineering Team <re@FreeBSD.org>

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

URL: http://www.sctp.org/

Contact: George Neville-Neil <gnn@freebsd.org>
Contact: Randall Stewart <rrs@cisco.com>

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

URL: http://people.FreeBSD.org/~ariff/
URL: http://www.FreeBSD.org/projects/ideas/
URL: http://www.leidinger.net/FreeBSD/hdac_20060525.tbz

Contact: Ariff Abdullah <ariff@FreeBSD.org>
Contact: Alexander Leidinger <netchild@FreeBSD.org>
Contact: Multimedia Mailinglist <multimedia@FreeBSD.org>

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),
pcmutil(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

URL: http://www.freebsd.org/projects/ideas/#p-memcpy
URL:
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/arch/2006-05/msg00109.
html

Contact: Attilio Rao <attilio@freebsd.org>

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

URL: http://www.TrustedBSD.org/audit.html

Contact: Robert Watson <rwatson@FreeBSD.org>
Contact: Wayne Salamon <wsalamon@FreeBSD.org>
Contact: Christian Peron <csjp@FreeBSD.org>

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
progress.
* 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
version.
2. Complete system call coverage.
3. Allow finer-grained configuration of what is audited: implement
control flags regarding paths, execve arguments, environmental
variables.
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@FreeBSD.org>
Contact: Alexander Leidinger <netchild@FreeBSD.org>
Contact: Emulation Mailinglist <emulation@FreeBSD.org>

We updated the default linux base port to Fedora Core 4 and the
default linux X11 libs port to the X.org 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@errno.com>

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

URL: http://people.freebsd.org/~rodrigc/xfs/

Contact: Russell Cattelan <cattelan@xfs.org>
Contact: Alexander Kabaev <kan@freebsd.org>
Contact: Craig Rodrigues <rodrigc@freebsd.org>

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

URL: http://www.gateworks.com/avila_gw2348_4.htm
URL: http://www.netgate.com

Contact: Sam Leffler <sam@errno.com>

With the help of Jim Thompson of Netgate ( http://www.netgate.com/ )
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.
 
Zuletzt bearbeitet von einem Moderator:
Ja das wurde Zeit, allerdings waren schon vor einigen Monaten GIANT freie USB Unterstützung im Umlauf, die anscheinend jemand im Alleingang programmiert hat.
 
Zurück
Oben