From 46cf75cb6887c161aa98602c391035276ce15ac2 Mon Sep 17 00:00:00 2001
From: Chris Costello The FreeBSD Project made substantial progress in the month of
+ August, 2001, both on continuing the development of the RELENG_4
+ line (4.x-STABLE and 4.x-RELEASE), and on 5.0-CURRENT, the main
+ development branch. During this month, the decision was made to
+ push the release of 5.0-CURRENT back so that KSE (support for
+ fine-grained user threads) could be completed in time for the
+ release, rather than postponing that support for 6.0. As such, the
+ lifespan of the RELENG_4 line will be extended, with new features
+ continuing to be backported to that branch. 4.4-RELEASE went into
+ final beta during this month, and will also be available
+ shortly. This month's edition of the status report has been written with
+ the assistance of Nik Clayton and Chris Costello. For next month, the submission procedures remain the same:
+ reports should be between one and two paragraphs long, sent by
+ e-mail, and in a format approximately that of this month's
+ submissions (Project, Contact, URL, and text). Reminders will be
+ mailed to the hackers@FreeBSD.org and developers@FreeBSD.org
+ mailing lists at least a week before the deadline; complete
+ submission instructions may be found in those reminders. -- Robert Watson 2 Gigabit support was integrated on 8/31/2001 (QLogic
+ 2300/2312 cards). Because of the author's shrinking time
+ commitment for FreeBSD, the previously planned "next step" which
+ would have been more complete new CAM Transport integration is
+ now probably just the addition of an FC-IP adjunct (as this can
+ benefit many platforms simultaneously). A major update to error handling was done on 8/28/2001 which
+ should correct most of the EOM detection problems that have been
+ around for a while. There are several things to fix. The
+ principle thing to fix next is the establishment of a loader(8)
+ mediated device quirks method. No change since last status. Some discussion amongst all of us
+ occurred, but lack of time and commitment to FreeBSD has meant
+ little has actually been committed to the tree. SMPNG work will
+ be left to those who seem to have a notion about what needs to be
+ done. No new status to report. This driver will be worked on again
+ soon and cleaned up to work better. Work in adding supporting infrastructure to the kernel for KSE
+ threading support has reached "milestone 2" resources, in the way that it will need to when there are >
+ 1 threads per process, but the LOGICAL changes to such things as
+ the scheduler, and fork and exit, have not yet been made to allow
+ more than one thread to be created. (nor have new threading
+ syscalls been added yet). This is an important milestone as it
+ represents the last point where the kernel has only "mechanical"
+ changes. To go further we must start adding new algorythms and
+ functions. The kernel for milestone 2 is reliable and has no noticable
+ performance degradations when compared to a matchung -current
+ kernel. (the differences are less than the margin of error, so
+ that sometimes the new kernel actually fractionally beats the
+ unaltered kernel). We hope that by the time this is published, the KSE patches
+ will have been committed. The Major effect for most developers
+ will be only that the device driver interface requires a 'thread'
+ pointer instead of a Proc pointer in the open, close and ioctl
+ entrypoints. I'm sure there will be small teething problems but we are not
+ expecting great problems at the commit. The position of Core Secretary was filled by Alan Clegg
+ <abc@freebsd.org> The first core-secretary report should be
+ available the second week in September and will cover the issues
+ discussed by core during August 2001. Development is continuing; pam_unix has gained the ability to
+ change passwords, login(1) has had PAM made compulsory (and is
+ going to have more PAM-capable features handed over to PAM). The ATM stack has been tested with a number of FreeBSD
+ machines and a Marconi ATM switch and seems to be quite stable
+ running CLIP. Multi port support for the native ATM API has been
+ implemented but needs some testing. PRFW is a set of hooks for the FreeBSD kernel. It allows users
+ to insert code into system calls, for such purposes as creating
+ extended security features. Last week, PRFW reached 0.1.0, with
+ many bugfixes and cleaning. I urge anyone who is interested to
+ please visit the site, join the mailing list. Also take a peek at
+ lsm.immunix.org, the Linux hooks. It will be a good contrast. Work is still progressing to make all of the perl scripts run
+ using perl's 'strict' mode, and to migrate all FreeBSD specific
+ options into the configuration file (CVSROOT/cfg.pm). I'll be
+ looking for help soon to write a guide on how to make use of
+ these scripts for use in your own repository. Anyone interested
+ in helping should contact me at the above email address. The software has been committed to -current and seems
+ functional. Outstanding issues include dealing with IPV6CP events
+ (linkup & linkdown scripts) and allocating site-local and
+ global addresses (currently, ``iface add'' is the only way to
+ actually use the link). Status is unchanged since last month. Patches have been
+ submitted to get ppp working under HURD, and mostly under Linux.
+ There are GPL copyright problems that need to be addressed. Many
+ conflicts are expected after the commit of IPv6 support in
+ ppp. Making pppoed function in a production environment. All known
+ problems have been fixed and committed. I looked at bringing PPPoA into the base system, but could not
+ because of an overly restrictive distribution license on the
+ Alcatel Speedtouch modem firmware. It has been committed as a
+ port instead and is running live at a FreeBSD Services client
+ site. The OLDCARD improvements have been completed, except for a few
+ edge cases for older laptops with CL-PD6729/30 chips and some pci
+ bios issues. Some minor work will continue, but after 4.4R is
+ released, only a few remaining bugs will be fixed before the
+ author moves on to greener fields of NEWCARD development. Targeting 4.4-RELEASE, one team has been translating newly
+ MFC'ed section [125678] manpages. The other team has been
+ updating section 3 since May and one third (1/3) is finished. The
+ port ja-groff is updated to be groff-1.17.2 based, and now it has
+ the same functionality as base system does. The port ja-man is
+ updated to have the search capability under an architecture
+ subdirectory, as base system does. The doc/ja_JP.eucJP/man
+ hierarchy update (adding architecture subdirectories) is planned
+ after 4.4-RELEASE. Basic footbridge support is now functional and the kernel is
+ now able to probe the pci bus. Access primitives for the bus are
+ still missing so I can't attach any drivers yet. The syncache implementation is completed, and currently under
+ testing and review. The code should be committed to -current in
+ the near future, and a patchset for -stable made available. State information for TCP connections is primarily kept in the
+ TCP/IP control blocks in the kernel. Not all of the TCP states
+ make use of the entire structure, and significant memory savings
+ can be had by using a cut-down version of the state in some
+ cases. The first phase of this project will address connections
+ that are in the TIME_WAIT state by moving them into a smaller
+ structure. This project has completed the initial research and rough
+ design phases, with actual code development starting
+ immediately. For 5.0, the goal is for the network stack to run without the
+ Giant lock. Initial development in this area may focus on
+ partitioning the code and data structures into distinct areas of
+ responsibilities. A first pass of locking may involve using a
+ several smaller mini-giant code locks in order to reduce the
+ problem to a manageable size. Progress for this month includes the creation of a perforce
+ repository to officially track the locking changes, and the
+ initial submission of locks for the &ifnet list. Some code
+ cleanup has also been done to the main tree in order to better
+ support future locking additions. Currently, all network devices (fxp0, lo0, etc) exist in their
+ own namespace, and are accessed through a socket interface. This
+ project creates device nodes in /dev for network devices, and
+ allows control and access in that fashion. This is experimental work, and suggestions for APIs and
+ functionality are strongly encouraged and welcomed. In is not
+ clear whether it will be possible (or desirable) to provide the
+ exact same set of operations that can be done through the socket
+ interface. Benefits of approach include the fact that a kqueue filter can
+ be attached to a network device for monitoring purposes. Initial
+ code exists to send a kq event whever the network link status
+ changes. Other benefits may include better access control by
+ using filesystem ACLs to control access to the device. RELNOTESng, the DocBook-ified set of release documentation
+ files, has been merged to the RELENG_4 branch. 4.4-RELEASE will
+ be the first release of FreeBSD with the new-style release notes,
+ hardware list, etc. Some of these documents are being translated
+ by the Japanese and Russian translation teams. Snapshots of RELNOTESng for CURRENT and 4-STABLE in HTML,
+ text, and PDF are available at the above URL and are updated
+ irregularly but frequently. Dima Dorfman <dd@FreeBSD.org>
+ and Nik Clayton <nik@FreeBSD.org> have been working to have
+ automatically-generated snapshots on the main FreeBSD web
+ site. On my TODO list: 1) Resynchronize the FreeBSD installation
+ document with the installation chapter in the Handbook. 2) Update
+ the hardware lists (with particular emphasis on PCCARD and USB
+ devices). 3) Update the infrastructure to allow the
+ architecture-dependent parts of RELNOTESng to scale to more
+ hardware platforms. Sparc64 development is still continuing rapidly and we're
+ making some excellent progress. Of note, some problems with the
+ way the pmap module implements copy-on-write mappings have been
+ fixed and fork() now works as expected, support for signals has
+ been added, and the port has been updated for kse in the perforce
+ repository. Thomas Moestl has begun work on pci bus support, and
+ a basic nexus bus for sparc64 has been written. The driver for
+ the Sun `Psycho' and `Sabre' UPA-to-PCI bridges and associated
+ code has been ported from NetBSD (the Sabre is the on-chip
+ version found in the UltraSparc IIi and IIe). PCI configuration,
+ I/O and memory space accesses do already work, as well as
+ interrupt assignment and delivery for devices attached directly
+ to the bridge, and the first PCI device drivers can attach and
+ seem to work mostly. Interrupt routing and busdma support still
+ need much work. The Handbook has been the main focus of activity this month.
+ Due to go to the printers on the 15th a vast amount of new
+ content has been submitted and committed. This includes a
+ complete rewrite of the "Installing FreeBSD", which massively
+ expands the amount of information available to people new to
+ FreeBSD. It even includes screenshots.
+
+ http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install.html
+ Comments, and contributions are, of course, welcome. FreeBSD's IP Multicast Routing support was recently updated in
+ several ways. One big change is that it's now able to be loaded
+ as a KLD instead of statically compiled into the kernel; this is
+ especially useful for experimentation or updating of an existing
+ system. It also now coexists nicely with the kernel IP
+ encapsulation infrastructure, so that multicast tunnels can
+ better coexist with MobileIP, certain IPSec tunnels and generic
+ IPv4-in-IPv4 tunnels. The allocator appears to be stable. Mbtypes statistics have
+ been re-activated thanks, in part, to Jiangyi Liu
+ <jyliu@163.net> although the diff has not yet been
+ committed (I'm just in the process of cleaning it up a little and
+ final testing). More work to come: cleanups, follow TODO from the
+ original commit, and perhaps an eventual generalization of the
+ allocator for various network-related allocations (in a more
+ distant future). After two months of little progress, RAIDframe work is gearing
+ up again. The port to -stable has some known bugs but is fairly
+ stable. The port to -current was recently completed and patches
+ will be released soon. RAIDframe is a multi-platform RAID
+ subsystem designed at CMU. This is a port of the NetBSD version
+ by Greg Oster. The aac driver has been given a lot of attention lately and is
+ now nearly feature complete. Changes include crashdump support,
+ correct handling of controller initiated commands, and more
+ complete management interface support. The Linux RAID management
+ tool available from Dell and HP now fully works; a FreeBSD native
+ version of the tool is also in the works. These changes have been
+ checked into -current, and will appear in -stable once 4.4 has
+ been released. We are making some progress, we are now down to 2170 open PR's
+ down from an all time high of 3270 just 3 months ago. The aim is
+ still to get rid of all the dead-wood in the PR database so only
+ relevant PRs in the database. A big thanks from me to the people
+ who have made this happen! Support for cloning vlan devices via ifconfig has been
+ committed to -current and will be MFC'd after further testing.
+ Additionaly, Maksim Yevmenkin submitted code to allow cloning of
+ tap and vmnet devices on devfs systems. Code for faith and stf
+ should be committed shortly. Current status is that the ia64 kernel builds and runs in a
+ simulator environment up to single user mode and has been tested
+ lightly in that environment. My current focus is on completing
+ the ia64 loader so that I can start to get kernels working on the
+ real hardware. The loader is coming along well and I expect to be
+ able to load kernels (but not necessary execute them) soon. I have access to the libh CVS repo again and am testing a new,
+ OBJDIR capable build structure at the moment. Done that, I'm
+ going to continue testing the package library and implement the
+ missing functionality. Currently, import of libh into the base
+ system is under discussion (arch mailinglist). Now that
+ 5.0-RELEASE has been shifted, I want 5.0 ship with a libh
+ installer and package system. We can really need people who are
+ good in C++, are able to understand what the current
+ implementation does and also feel that working on libh is fun and
+ thus are willing to help. Getting GNOME Fifth-Toe metaport ready for 4.4-RELEASE was the
+ main focus of activity this month. In the process many components
+ were updated, many bugs were tracked down and solved, which
+ allowed to make this 97-component meta-package building and
+ working properly. Next month the project will be focused on organising work of
+ the FreeBSD GNOME Team as well as on attempts to increase amount
+ of people participating in the team (anybody who is willing to
+ participate is welcome to drop a note to gnome@FreeBSD with a
+ short explanation of how he/she could help). NVIDIA Corporation releases Linux drivers by using a
+ combination of binary object files and source (under a
+ constrictive license). The FreeBSD NVIDIA driver project aimed to
+ completely replace the source component of the driver using code
+ targetting FreeBSD 4.3 and released under the BSD license. The
+ binary module provided is supposedly the same module used on
+ Windows, BeOS, and OS/2, so it should be portable between
+ different i80x86 based OS's. The project is currently on indefinite hold. Our contact at
+ NVIDIA seemed enthusiastic about the project, and was fairly
+ quick about returning email, but when we discovered issues that
+ prevented porting without changes to the binary component or
+ error codes we needed decyphered, Nick (the contact) said he'd
+ look into it and never got back. The first major problem was the
+ ioctl interface, the nvidia driver passes a pointer and depends
+ on the kernel side to copyout the right amount, where FreeBSD
+ expect the parameters to be correct and the copyout is performed
+ by the subsystem. This was worked around using Dave Rufinos
+ "ioctl tunnel" idea. After that, we found that X refused to load
+ and traced it down to an ioctl defined in the binary component
+ erroring. We cannot tell what that ioctl is, were told that we
+ could not sign an nda for source to that component, and have been
+ waiting a month for Nick to "look into it". Therefore progress is
+ impossible (without breaking the license) and we believe that the
+ flaws make the driver unportable to any *nix other than
+ Linux. The FreeBSD release engineering process for FreeBSD 4.4
+ started to ramp up around August 1st when the "code slush" took
+ affect. During this time all commits to the RELENG_4 branch were
+ reviewed by re@FreeBSD.org (over 250 code snippets had to be
+ reviewed). After the first release candidate on August 15th, all
+ submissions were scrutinized under a more strict potential risk
+ vs benefit curve. The best way to help get involved with the
+ release engineering process is to simply follow the low volume
+ freebsd-qa mailing list, help out with the neverending supply of
+ PRs related to our installation tools (sysinstall), or to work on
+ a possible next-generation replacement for our installation
+ technology, such as the libh or OpenPackages projects. Many companies donated equipment, network access, or paychecks
+ to finance these activities. Including Compaq, Yahoo!, Wind River
+ Systems, and many more. In mid March, 2001, Tim Newsham of Guardent identified an
+ attack possible against the initial sequence number generation
+ scheme of FreeBSD (and other OSes.) In order to guard against
+ this threat, a randomized sequence number generation scheme was
+ ported over from OpenBSD and included in 4.3-release.
+ Unfortunately, non-monotonic generation was found to cause major
+ problems with applications which initiate continuous, rapid
+ connections to a single host. In order to restore proper operation under such circumstances
+ while still providing strong resistance against sequence number
+ prediction, FreeBSD 4.4 uses the algorithm specified in RFC 1948.
+ This algorithm hashes together host and port information with a
+ piece of secret data to generate a unique sequence number space
+ for each connection. As a result, outgoing initial sequence
+ numbers are again monotonic, but also unguessable by an
+ attacker. The port of LOMAC to FreeBSD is progressing well, and already
+ has a very high level of stability (no known outstanding bugs!).
+ Aspects which have already been implemented include a stacking
+ filesystem overlay with fully-functional access controls (for
+ files and directories) based on path names, access controls for
+ sending signals, and file-backed-memory revocation for
+ processes. Updates to things from last month:
+
+
+
New stuff since last month: +
Most of the work this month has focused on development of the + native JDK 1.3.1 patchset. The 3rd patchset is out and has been + accompanied with the creation of a FreeBSD "port". This has + allowed early adopters much easier access to the code and + naturally resulted in a number of bugs being found. Development + work has mostly focused on fixing these problems and the project + is now set to release fourth patchset over the weekend, which + should see the JDK in a reasonable useable state. One of the big + challenges left is producing a working HotSpot JVM, which looks + like it will require some heavy hacking.
+ +We also welcome OpenBSD's Heikki Korpela to the porting team + :)
+ +As part of some ongoing development activity, the floppy + driver (fdc(4)) enjoyed some overhaul in the past which is part + of an ongoing process. Automatic density selection will come + next, something i meant to implement for years now. As part of + that, the entire density selection stuff has been rewritten. 2.88 + MB floppies are on the wishlist as well, but I need a working + 2.88 drive before attempting to implement that.
+ +sppp(4) should be merged with the ISDN4BSD offspring variant. + This will merge some features and bugfixes from the i4b branch + (like VJ compression), and eventually end up in a single sppp(4) + in the tree. While being at that, incorporating many changes and + bugfixes from NetBSD is considered as well.
+ +The KAME project (http://www.kame.net/) has merged its IPv6 + and IPsec implementation as of July 2001 to FreeBSD CURRENT and + STABLE, in cooperation with some contributors of the project. The + latest code includes a number of bug fixes, has been fully tested + in FreeBSD STABLE, and will appear in FreeBSD 4.4 RELEASE. Thus, + the new RELEASE version will be quite stable in terms of IPv6 and + IPsec.
+ +The project has assigned a talented guy to be responsible for + merge from KAME to FreeBSD, so future merge efforts will be + smoother.
+ +The TrustedBSD project continues to move ahead, with progress + made in the ACL, Capability, and MAC implementations. In + addition, support from DARPA is permitting new work to improve + the extended attribute code, improve security abstractions, and + work on security documentation. Due to the push-back of the + FreeBSD 5.0 release, it should now be possible to include a + complete MAC implementation in that release. Specific status + reports appear for components where substantial progress is being + made.
+ +Capabilities support is currently being comitted to the base + FreeBSD tree--userland libraries are now fully committed, and + kernel infrastructure is being integrated.
+ +Planning for BSDCon Europe is going well. We're still + accepting proposals for talks but the schedule is starting to + fill up so we may not be for much longer.
+ +An update of the site that includes accommodation information, + a preliminary schedule, a list of speakers and an online payment + page will be launched on Wednesday 19 September.
+ +The fee will be £150 for individuals and £250 for + corporations. The individual pricing is valid only until the end + of September, the price will rise to £200 for October and + late registrations in November will be £250.
+ +The updated website will include a list of sponsorship + options, we're still looking for more sponsorship.
+ +The FreeBSD Project made substantial progress in the month of + August, 2001, both on continuing the development of the RELENG_4 + line (4.x-STABLE and 4.x-RELEASE), and on 5.0-CURRENT, the main + development branch. During this month, the decision was made to + push the release of 5.0-CURRENT back so that KSE (support for + fine-grained user threads) could be completed in time for the + release, rather than postponing that support for 6.0. As such, the + lifespan of the RELENG_4 line will be extended, with new features + continuing to be backported to that branch. 4.4-RELEASE went into + final beta during this month, and will also be available + shortly.
+ +This month's edition of the status report has been written with + the assistance of Nik Clayton and Chris Costello.
+For next month, the submission procedures remain the same: + reports should be between one and two paragraphs long, sent by + e-mail, and in a format approximately that of this month's + submissions (Project, Contact, URL, and text). Reminders will be + mailed to the hackers@FreeBSD.org and developers@FreeBSD.org + mailing lists at least a week before the deadline; complete + submission instructions may be found in those reminders.
+ +-- Robert Watson
+2 Gigabit support was integrated on 8/31/2001 (QLogic + 2300/2312 cards). Because of the author's shrinking time + commitment for FreeBSD, the previously planned "next step" which + would have been more complete new CAM Transport integration is + now probably just the addition of an FC-IP adjunct (as this can + benefit many platforms simultaneously).
+ +A major update to error handling was done on 8/28/2001 which + should correct most of the EOM detection problems that have been + around for a while. There are several things to fix. The + principle thing to fix next is the establishment of a loader(8) + mediated device quirks method.
+ +No change since last status. Some discussion amongst all of us + occurred, but lack of time and commitment to FreeBSD has meant + little has actually been committed to the tree. SMPNG work will + be left to those who seem to have a notion about what needs to be + done.
+ +No new status to report. This driver will be worked on again + soon and cleaned up to work better.
+ +Work in adding supporting infrastructure to the kernel for KSE + threading support has reached "milestone 2"
+ +resources, in the way that it will need to when there are > + 1 threads per process, but the LOGICAL changes to such things as + the scheduler, and fork and exit, have not yet been made to allow + more than one thread to be created. (nor have new threading + syscalls been added yet). This is an important milestone as it + represents the last point where the kernel has only "mechanical" + changes. To go further we must start adding new algorythms and + functions.
+ +The kernel for milestone 2 is reliable and has no noticable + performance degradations when compared to a matchung -current + kernel. (the differences are less than the margin of error, so + that sometimes the new kernel actually fractionally beats the + unaltered kernel).
+ +We hope that by the time this is published, the KSE patches + will have been committed. The Major effect for most developers + will be only that the device driver interface requires a 'thread' + pointer instead of a Proc pointer in the open, close and ioctl + entrypoints.
+ +I'm sure there will be small teething problems but we are not + expecting great problems at the commit.
+ +The position of Core Secretary was filled by Alan Clegg + <abc@freebsd.org> The first core-secretary report should be + available the second week in September and will cover the issues + discussed by core during August 2001.
+ +Development is continuing; pam_unix has gained the ability to + change passwords, login(1) has had PAM made compulsory (and is + going to have more PAM-capable features handed over to PAM).
+ +The ATM stack has been tested with a number of FreeBSD + machines and a Marconi ATM switch and seems to be quite stable + running CLIP. Multi port support for the native ATM API has been + implemented but needs some testing.
+ +PRFW is a set of hooks for the FreeBSD kernel. It allows users + to insert code into system calls, for such purposes as creating + extended security features. Last week, PRFW reached 0.1.0, with + many bugfixes and cleaning. I urge anyone who is interested to + please visit the site, join the mailing list. Also take a peek at + lsm.immunix.org, the Linux hooks. It will be a good contrast.
+ +Work is still progressing to make all of the perl scripts run + using perl's 'strict' mode, and to migrate all FreeBSD specific + options into the configuration file (CVSROOT/cfg.pm). I'll be + looking for help soon to write a guide on how to make use of + these scripts for use in your own repository. Anyone interested + in helping should contact me at the above email address.
+ +The software has been committed to -current and seems + functional. Outstanding issues include dealing with IPV6CP events + (linkup & linkdown scripts) and allocating site-local and + global addresses (currently, ``iface add'' is the only way to + actually use the link).
+ +Status is unchanged since last month. Patches have been + submitted to get ppp working under HURD, and mostly under Linux. + There are GPL copyright problems that need to be addressed. Many + conflicts are expected after the commit of IPv6 support in + ppp.
+ +Making pppoed function in a production environment. All known + problems have been fixed and committed.
+ +I looked at bringing PPPoA into the base system, but could not + because of an overly restrictive distribution license on the + Alcatel Speedtouch modem firmware. It has been committed as a + port instead and is running live at a FreeBSD Services client + site.
+ +The OLDCARD improvements have been completed, except for a few + edge cases for older laptops with CL-PD6729/30 chips and some pci + bios issues. Some minor work will continue, but after 4.4R is + released, only a few remaining bugs will be fixed before the + author moves on to greener fields of NEWCARD development.
+ +Targeting 4.4-RELEASE, one team has been translating newly + MFC'ed section [125678] manpages. The other team has been + updating section 3 since May and one third (1/3) is finished. The + port ja-groff is updated to be groff-1.17.2 based, and now it has + the same functionality as base system does. The port ja-man is + updated to have the search capability under an architecture + subdirectory, as base system does. The doc/ja_JP.eucJP/man + hierarchy update (adding architecture subdirectories) is planned + after 4.4-RELEASE.
+ +Basic footbridge support is now functional and the kernel is + now able to probe the pci bus. Access primitives for the bus are + still missing so I can't attach any drivers yet.
+ +The syncache implementation is completed, and currently under + testing and review. The code should be committed to -current in + the near future, and a patchset for -stable made available.
+ +State information for TCP connections is primarily kept in the + TCP/IP control blocks in the kernel. Not all of the TCP states + make use of the entire structure, and significant memory savings + can be had by using a cut-down version of the state in some + cases. The first phase of this project will address connections + that are in the TIME_WAIT state by moving them into a smaller + structure.
+ +This project has completed the initial research and rough + design phases, with actual code development starting + immediately.
+ +For 5.0, the goal is for the network stack to run without the + Giant lock. Initial development in this area may focus on + partitioning the code and data structures into distinct areas of + responsibilities. A first pass of locking may involve using a + several smaller mini-giant code locks in order to reduce the + problem to a manageable size.
+ +Progress for this month includes the creation of a perforce + repository to officially track the locking changes, and the + initial submission of locks for the &ifnet list. Some code + cleanup has also been done to the main tree in order to better + support future locking additions.
+ +Currently, all network devices (fxp0, lo0, etc) exist in their + own namespace, and are accessed through a socket interface. This + project creates device nodes in /dev for network devices, and + allows control and access in that fashion.
+ +This is experimental work, and suggestions for APIs and + functionality are strongly encouraged and welcomed. In is not + clear whether it will be possible (or desirable) to provide the + exact same set of operations that can be done through the socket + interface.
+ +Benefits of approach include the fact that a kqueue filter can + be attached to a network device for monitoring purposes. Initial + code exists to send a kq event whever the network link status + changes. Other benefits may include better access control by + using filesystem ACLs to control access to the device.
+ +RELNOTESng, the DocBook-ified set of release documentation + files, has been merged to the RELENG_4 branch. 4.4-RELEASE will + be the first release of FreeBSD with the new-style release notes, + hardware list, etc. Some of these documents are being translated + by the Japanese and Russian translation teams.
+ +Snapshots of RELNOTESng for CURRENT and 4-STABLE in HTML, + text, and PDF are available at the above URL and are updated + irregularly but frequently. Dima Dorfman <dd@FreeBSD.org> + and Nik Clayton <nik@FreeBSD.org> have been working to have + automatically-generated snapshots on the main FreeBSD web + site.
+ +On my TODO list: 1) Resynchronize the FreeBSD installation + document with the installation chapter in the Handbook. 2) Update + the hardware lists (with particular emphasis on PCCARD and USB + devices). 3) Update the infrastructure to allow the + architecture-dependent parts of RELNOTESng to scale to more + hardware platforms.
+ +Sparc64 development is still continuing rapidly and we're + making some excellent progress. Of note, some problems with the + way the pmap module implements copy-on-write mappings have been + fixed and fork() now works as expected, support for signals has + been added, and the port has been updated for kse in the perforce + repository. Thomas Moestl has begun work on pci bus support, and + a basic nexus bus for sparc64 has been written. The driver for + the Sun `Psycho' and `Sabre' UPA-to-PCI bridges and associated + code has been ported from NetBSD (the Sabre is the on-chip + version found in the UltraSparc IIi and IIe). PCI configuration, + I/O and memory space accesses do already work, as well as + interrupt assignment and delivery for devices attached directly + to the bridge, and the first PCI device drivers can attach and + seem to work mostly. Interrupt routing and busdma support still + need much work.
+ +The Handbook has been the main focus of activity this month. + Due to go to the printers on the 15th a vast amount of new + content has been submitted and committed. This includes a + complete rewrite of the "Installing FreeBSD", which massively + expands the amount of information available to people new to + FreeBSD. It even includes screenshots.
+ ++ + http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install.html +
+ +Comments, and contributions are, of course, welcome.
+ +FreeBSD's IP Multicast Routing support was recently updated in + several ways. One big change is that it's now able to be loaded + as a KLD instead of statically compiled into the kernel; this is + especially useful for experimentation or updating of an existing + system. It also now coexists nicely with the kernel IP + encapsulation infrastructure, so that multicast tunnels can + better coexist with MobileIP, certain IPSec tunnels and generic + IPv4-in-IPv4 tunnels.
+ +The allocator appears to be stable. Mbtypes statistics have + been re-activated thanks, in part, to Jiangyi Liu + <jyliu@163.net> although the diff has not yet been + committed (I'm just in the process of cleaning it up a little and + final testing). More work to come: cleanups, follow TODO from the + original commit, and perhaps an eventual generalization of the + allocator for various network-related allocations (in a more + distant future).
+ +After two months of little progress, RAIDframe work is gearing + up again. The port to -stable has some known bugs but is fairly + stable. The port to -current was recently completed and patches + will be released soon. RAIDframe is a multi-platform RAID + subsystem designed at CMU. This is a port of the NetBSD version + by Greg Oster.
+ +The aac driver has been given a lot of attention lately and is + now nearly feature complete. Changes include crashdump support, + correct handling of controller initiated commands, and more + complete management interface support. The Linux RAID management + tool available from Dell and HP now fully works; a FreeBSD native + version of the tool is also in the works. These changes have been + checked into -current, and will appear in -stable once 4.4 has + been released.
+ +We are making some progress, we are now down to 2170 open PR's + down from an all time high of 3270 just 3 months ago. The aim is + still to get rid of all the dead-wood in the PR database so only + relevant PRs in the database. A big thanks from me to the people + who have made this happen!
+ +Support for cloning vlan devices via ifconfig has been + committed to -current and will be MFC'd after further testing. + Additionaly, Maksim Yevmenkin submitted code to allow cloning of + tap and vmnet devices on devfs systems. Code for faith and stf + should be committed shortly.
+ +Current status is that the ia64 kernel builds and runs in a + simulator environment up to single user mode and has been tested + lightly in that environment. My current focus is on completing + the ia64 loader so that I can start to get kernels working on the + real hardware. The loader is coming along well and I expect to be + able to load kernels (but not necessary execute them) soon.
+ +I have access to the libh CVS repo again and am testing a new, + OBJDIR capable build structure at the moment. Done that, I'm + going to continue testing the package library and implement the + missing functionality. Currently, import of libh into the base + system is under discussion (arch mailinglist). Now that + 5.0-RELEASE has been shifted, I want 5.0 ship with a libh + installer and package system. We can really need people who are + good in C++, are able to understand what the current + implementation does and also feel that working on libh is fun and + thus are willing to help.
+ +Getting GNOME Fifth-Toe metaport ready for 4.4-RELEASE was the + main focus of activity this month. In the process many components + were updated, many bugs were tracked down and solved, which + allowed to make this 97-component meta-package building and + working properly.
+ +Next month the project will be focused on organising work of + the FreeBSD GNOME Team as well as on attempts to increase amount + of people participating in the team (anybody who is willing to + participate is welcome to drop a note to gnome@FreeBSD with a + short explanation of how he/she could help).
+ +NVIDIA Corporation releases Linux drivers by using a + combination of binary object files and source (under a + constrictive license). The FreeBSD NVIDIA driver project aimed to + completely replace the source component of the driver using code + targetting FreeBSD 4.3 and released under the BSD license. The + binary module provided is supposedly the same module used on + Windows, BeOS, and OS/2, so it should be portable between + different i80x86 based OS's.
+ +The project is currently on indefinite hold. Our contact at + NVIDIA seemed enthusiastic about the project, and was fairly + quick about returning email, but when we discovered issues that + prevented porting without changes to the binary component or + error codes we needed decyphered, Nick (the contact) said he'd + look into it and never got back. The first major problem was the + ioctl interface, the nvidia driver passes a pointer and depends + on the kernel side to copyout the right amount, where FreeBSD + expect the parameters to be correct and the copyout is performed + by the subsystem. This was worked around using Dave Rufinos + "ioctl tunnel" idea. After that, we found that X refused to load + and traced it down to an ioctl defined in the binary component + erroring. We cannot tell what that ioctl is, were told that we + could not sign an nda for source to that component, and have been + waiting a month for Nick to "look into it". Therefore progress is + impossible (without breaking the license) and we believe that the + flaws make the driver unportable to any *nix other than + Linux.
+ +The FreeBSD release engineering process for FreeBSD 4.4 + started to ramp up around August 1st when the "code slush" took + affect. During this time all commits to the RELENG_4 branch were + reviewed by re@FreeBSD.org (over 250 code snippets had to be + reviewed). After the first release candidate on August 15th, all + submissions were scrutinized under a more strict potential risk + vs benefit curve. The best way to help get involved with the + release engineering process is to simply follow the low volume + freebsd-qa mailing list, help out with the neverending supply of + PRs related to our installation tools (sysinstall), or to work on + a possible next-generation replacement for our installation + technology, such as the libh or OpenPackages projects.
+ +Many companies donated equipment, network access, or paychecks + to finance these activities. Including Compaq, Yahoo!, Wind River + Systems, and many more.
+ +In mid March, 2001, Tim Newsham of Guardent identified an + attack possible against the initial sequence number generation + scheme of FreeBSD (and other OSes.) In order to guard against + this threat, a randomized sequence number generation scheme was + ported over from OpenBSD and included in 4.3-release. + Unfortunately, non-monotonic generation was found to cause major + problems with applications which initiate continuous, rapid + connections to a single host.
+ +In order to restore proper operation under such circumstances + while still providing strong resistance against sequence number + prediction, FreeBSD 4.4 uses the algorithm specified in RFC 1948. + This algorithm hashes together host and port information with a + piece of secret data to generate a unique sequence number space + for each connection. As a result, outgoing initial sequence + numbers are again monotonic, but also unguessable by an + attacker.
+ +The port of LOMAC to FreeBSD is progressing well, and already + has a very high level of stability (no known outstanding bugs!). + Aspects which have already been implemented include a stacking + filesystem overlay with fully-functional access controls (for + files and directories) based on path names, access controls for + sending signals, and file-backed-memory revocation for + processes.
+ +Updates to things from last month: +
New stuff since last month: +
Most of the work this month has focused on development of the + native JDK 1.3.1 patchset. The 3rd patchset is out and has been + accompanied with the creation of a FreeBSD "port". This has + allowed early adopters much easier access to the code and + naturally resulted in a number of bugs being found. Development + work has mostly focused on fixing these problems and the project + is now set to release fourth patchset over the weekend, which + should see the JDK in a reasonable useable state. One of the big + challenges left is producing a working HotSpot JVM, which looks + like it will require some heavy hacking.
+ +We also welcome OpenBSD's Heikki Korpela to the porting team + :)
+ +As part of some ongoing development activity, the floppy + driver (fdc(4)) enjoyed some overhaul in the past which is part + of an ongoing process. Automatic density selection will come + next, something i meant to implement for years now. As part of + that, the entire density selection stuff has been rewritten. 2.88 + MB floppies are on the wishlist as well, but I need a working + 2.88 drive before attempting to implement that.
+ +sppp(4) should be merged with the ISDN4BSD offspring variant. + This will merge some features and bugfixes from the i4b branch + (like VJ compression), and eventually end up in a single sppp(4) + in the tree. While being at that, incorporating many changes and + bugfixes from NetBSD is considered as well.
+ +The KAME project (http://www.kame.net/) has merged its IPv6 + and IPsec implementation as of July 2001 to FreeBSD CURRENT and + STABLE, in cooperation with some contributors of the project. The + latest code includes a number of bug fixes, has been fully tested + in FreeBSD STABLE, and will appear in FreeBSD 4.4 RELEASE. Thus, + the new RELEASE version will be quite stable in terms of IPv6 and + IPsec.
+ +The project has assigned a talented guy to be responsible for + merge from KAME to FreeBSD, so future merge efforts will be + smoother.
+ +The TrustedBSD project continues to move ahead, with progress + made in the ACL, Capability, and MAC implementations. In + addition, support from DARPA is permitting new work to improve + the extended attribute code, improve security abstractions, and + work on security documentation. Due to the push-back of the + FreeBSD 5.0 release, it should now be possible to include a + complete MAC implementation in that release. Specific status + reports appear for components where substantial progress is being + made.
+ +Capabilities support is currently being comitted to the base + FreeBSD tree--userland libraries are now fully committed, and + kernel infrastructure is being integrated.
+ +Planning for BSDCon Europe is going well. We're still + accepting proposals for talks but the schedule is starting to + fill up so we may not be for much longer.
+ +An update of the site that includes accommodation information, + a preliminary schedule, a list of speakers and an online payment + page will be launched on Wednesday 19 September.
+ +The fee will be £150 for individuals and £250 for + corporations. The individual pricing is valid only until the end + of September, the price will rise to £200 for October and + late registrations in November will be £250.
+ +The updated website will include a list of sponsorship + options, we're still looking for more sponsorship.
+ +