---
title: "FreeBSD 8.1-RELEASE Release Notes"
sidenav: download
---

++++


<h3 class="CORPAUTHOR">The FreeBSD Project</h3>

<p class="COPYRIGHT">Copyright &copy; 2010 The FreeBSD Documentation Project</p>

<p class="PUBDATE">$FreeBSD: stable/8/release/doc/en_US.ISO8859-1/relnotes/article.sgml
210449 2010-07-24 17:44:31Z hrs $<br />
</p>

<div class="LEGALNOTICE"><a id="TRADEMARKS" name="TRADEMARKS"></a>
<p>FreeBSD is a registered trademark of the FreeBSD Foundation.</p>

<p>IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks
of International Business Machines Corporation in the United States, other countries, or
both.</p>

<p>IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and
Electronics Engineers, Inc. in the United States.</p>

<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.</p>

<p>SPARC, SPARC64, SPARCengine, and UltraSPARC are trademarks of SPARC International, Inc
in the United States and other countries. SPARC International, Inc owns all of the SPARC
trademarks and under licensing agreements allows the proper use of these trademarks by
its members.</p>

<p>Many of the designations used by manufacturers and sellers to distinguish their
products are claimed as trademarks. Where those designations appear in this document, and
the FreeBSD Project was aware of the trademark claim, the designations have been followed
by the &#8220;&trade;&#8221; or the &#8220;&reg;&#8221; symbol.</p>
</div>

<div>
<div class="ABSTRACT"><a id="AEN18" name="AEN18"></a>
<p>The release notes for FreeBSD 8.1-RELEASE contain a summary of the changes made to the
FreeBSD base system on the 8-STABLE development line. This document lists applicable
security advisories that were issued since the last release, as well as significant
changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also
presented.</p>
</div>
</div>

<hr />
</div>

<div class="TOC">
<dl>
<dt><b>Table of Contents</b></dt>

<dt>1 <a href="#INTRO">Introduction</a></dt>

<dt>2 <a href="#NEW">What's New</a></dt>

<dd>
<dl>
<dt>2.1 <a href="#SECURITY">Security Advisories</a></dt>

<dt>2.2 <a href="#KERNEL">Kernel Changes</a></dt>

<dd>
<dl>
<dt>2.2.1 <a href="#BOOT">Boot Loader Changes</a></dt>

<dt>2.2.2 <a href="#PROC">Hardware Support</a></dt>

<dt>2.2.3 <a href="#NET-PROTO">Network Protocols</a></dt>

<dt>2.2.4 <a href="#DISKS">Disks and Storage</a></dt>

<dt>2.2.5 <a href="#FS">File Systems</a></dt>
</dl>
</dd>

<dt>2.3 <a href="#USERLAND">Userland Changes</a></dt>

<dd>
<dl>
<dt>2.3.1 <a href="#RC-SCRIPTS"><tt class="FILENAME">/etc/rc.d</tt> Scripts</a></dt>
</dl>
</dd>

<dt>2.4 <a href="#CONTRIB">Contributed Software</a></dt>

<dt>2.5 <a href="#RELENG">Release Engineering and Integration</a></dt>
</dl>
</dd>

<dt>3 <a href="#UPGRADE">Upgrading from previous releases of FreeBSD</a></dt>
</dl>
</div>

<div class="SECT1">
<h2 class="SECT1"><a id="INTRO" name="INTRO">1 Introduction</a></h2>

<p>This document contains the release notes for FreeBSD 8.1-RELEASE. It describes
recently added, changed, or deleted features of FreeBSD. It also provides some notes on
upgrading from previous versions of FreeBSD.</p>

<p>This distribution of FreeBSD 8.1-RELEASE is a release distribution. It can be found at
<a href="ftp://ftp.FreeBSD.org/" target="_top">ftp://ftp.FreeBSD.org/</a> or any of its
mirrors. More information on obtaining this (or other) release distributions of FreeBSD
can be found in the <a href="../../../../doc/en_US.ISO8859-1/books/handbook/mirrors.html"
target="_top">&#8220;Obtaining FreeBSD&#8221; appendix</a> to the <a
href="../../../../doc/en_US.ISO8859-1/books/handbook/" target="_top">FreeBSD
Handbook</a>.</p>

<p>All users are encouraged to consult the release errata before installing FreeBSD. The
errata document is updated with &#8220;late-breaking&#8221; information discovered late
in the release cycle or after the release. Typically, it contains information on known
bugs, security advisories, and corrections to documentation. An up-to-date copy of the
errata for FreeBSD 8.1-RELEASE can be found on the FreeBSD Web site.</p>
</div>

<div class="SECT1">
<hr />
<h2 class="SECT1"><a id="NEW" name="NEW">2 What's New</a></h2>

<p>This section describes the most user-visible new or changed features in FreeBSD since
8.0-RELEASE.</p>

<p>Typical release note items document recent security advisories issued after
8.0-RELEASE, new drivers or hardware support, new commands or options, major bug fixes,
or contributed software upgrades. They may also list changes to major ports/packages or
release engineering practices. Clearly the release notes cannot list every single change
made to FreeBSD between releases; this document focuses primarily on security advisories,
user-visible changes, and major architectural improvements.</p>

<div class="SECT2">
<hr />
<h3 class="SECT2"><a id="SECURITY" name="SECURITY">2.1 Security Advisories</a></h3>

<p>Problems described in the following security advisories have been fixed. For more
information, consult the individual advisories available from <a
href="http://security.FreeBSD.org/" target="_top">http://security.FreeBSD.org/</a>.</p>

<div class="INFORMALTABLE"><a id="AEN38" name="AEN38"></a>
<table border="0" frame="void" class="CALSTABLE">
<col width="1*" />
<col width="1*" />
<col width="3*" />
<thead>
<tr>
<th>Advisory</th>
<th>Date</th>
<th>Topic</th>
</tr>
</thead>

<tbody>
<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-09:15.ssl.asc"
target="_top">SA-09:15.ssl</a></td>
<td>3&nbsp;Dec&nbsp;2009</td>
<td>
<p>SSL protocol flaw</p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-09:16.rtld.asc"
target="_top">SA-09:16.rtld</a></td>
<td>3&nbsp;Dec&nbsp;2009</td>
<td>
<p>Improper environment sanitization in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=rtld&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">rtld</span>(1)</span></a></p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-09:17.freebsd-update.asc"
target="_top">SA-09:17.freebsd-update</a></td>
<td>3&nbsp;Dec&nbsp;2009</td>
<td>
<p>Inappropriate directory permissions in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span
class="REFENTRYTITLE">freebsd-update</span>(8)</span></a></p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-10:01.bind.asc"
target="_top">SA-10:01.bind</a></td>
<td>6&nbsp;Jan&nbsp;2010</td>
<td>
<p>BIND <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=named&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">named</span>(8)</span></a> cache
poisoning with DNSSEC validation</p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-10:02.ntpd.asc"
target="_top">SA-10:02.ntpd</a></td>
<td>6&nbsp;Jan&nbsp;2010</td>
<td>
<p>ntpd mode 7 denial of service</p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-10:03.zfs.asc"
target="_top">SA-10:03.zfs</a></td>
<td>6&nbsp;Jan&nbsp;2010</td>
<td>
<p>ZFS ZIL playback with insecure permissions</p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-10:04.jail.asc"
target="_top">SA-10:04.jail</a></td>
<td>27&nbsp;May&nbsp;2010</td>
<td>
<p>Insufficient environment sanitization in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=jail&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">jail</span>(8)</span></a></p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-10:05.opie.asc"
target="_top">SA-10:05.opie</a></td>
<td>27&nbsp;May&nbsp;2010</td>
<td>
<p>OPIE off-by-one stack overflow</p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-10:06.nfsclient.asc"
target="_top">SA-10:06.nfsclient</a></td>
<td>27&nbsp;May&nbsp;2010</td>
<td>
<p>Unvalidated input in nfsclient</p>
</td>
</tr>

<tr>
<td><a href="http://security.freebsd.org/advisories/FreeBSD-SA-10:07.mbuf.asc"
target="_top">SA-10:07.mbuf</a></td>
<td>13&nbsp;July&nbsp;2010</td>
<td>
<p>Lost mbuf flag resulting in data corruption</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>

<div class="SECT2">
<hr />
<h3 class="SECT2"><a id="KERNEL" name="KERNEL">2.2 Kernel Changes</a></h3>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ddb&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ddb</span>(4)</span></a> debugger
has been improved:</p>

<ul>
<li>
<p>It now supports <tt class="COMMAND">show ifnets</tt> and <tt class="COMMAND">show
ifnet <tt class="REPLACEABLE"><i>struct ifnet *</i></tt></tt> commands to print a list of
&#8220;ifnet *&#8221; of each virtual network stack and fields of specified <code
class="VARNAME">fip</code>, respectively.</p>
</li>

<li>
<p>It now supports <tt class="COMMAND">show all lltables</tt>, <tt class="COMMAND">show
lltable <tt class="REPLACEABLE"><i>struct lltable *</i></tt></tt>, and <tt
class="COMMAND">show llentry <tt class="REPLACEABLE"><i>struct llentry *</i></tt></tt>
commands to print a list of &#8220;lltable *&#8221; of each virtual network stack, fields
of specified structures respectively.</p>
</li>

<li>
<p>The <tt class="COMMAND">show mount</tt> command now prints active string mount
options.</p>
</li>

<li>
<p>It now supports <tt class="COMMAND">show vnetrcrs</tt> command to dump the whole log
of distinctive <code class="VARNAME">curvnet</code> recursion events.</p>
</li>

<li>
<p>It now supports <tt class="COMMAND">show vnet_sysinit</tt> and <tt
class="COMMAND">show vnet_unsysinit</tt> commands to print ordered call lists.</p>
</li>
</ul>

<p>A new kernel thread called &#8220;deadlock resolver&#8221; has been added. This can be
used to detect possible deadlock by using information of thread state and heuristic
analysis. This is not enabled by default. To enable this, an option <code
class="OPTION">option DEADLKRES</code> in kernel configuration file and recompilation of
the kernel.</p>

<p>The default <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=devfs&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">devfs</span>(5)</span></a> rules
now expose the upper 256 of <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pty&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">pty</span>(4)</span></a> device
nodes.</p>

<p>Two commands to enable/disable read-ahead have been added to <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=fcntl&sektion=2&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">fcntl</span>(2)</span></a> system
call:</p>

<ul>
<li>
<p><code class="VARNAME">F_READAHEAD</code> specifies the amount for sequential access.
The amount is specified in bytes and is rounded up to nearest block size.</p>
</li>

<li>
<p><code class="VARNAME">F_RDAHEAD</code> is a Darwin compatible version that use 128KB
as the sequential access size.</p>
</li>
</ul>

<p>Note that the read-ahead amount is also limited by sysctl variable <code
class="VARNAME">vfs.read_max</code>, which may need to be raised in order to better
utilize this feature.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=lindev&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">lindev</span>(4)</span></a> driver
has been added. This is for supporting various Linux-specific pseudo devices such as <tt
class="FILENAME">/dev/full</tt>. Note that this is not included in <tt
class="FILENAME">GENERIC</tt> kernel.</p>

<p>A POSIX function pselect(3) has been reimplemented as a system call <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pselect&sektion=2&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">pselect</span>(2)</span></a> to
eliminate race condition.</p>

<p>A kernel option <code class="OPTION">option INCLUDE_CONFIG_FILE</code> has been added
to <tt class="FILENAME">GENERIC</tt> kernel by default.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sched_4bsd&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sched_4bsd</span>(4)</span></a>
scheduler that the timestamp for the sleeping operation is not cleaned up on the wakeup
has been fixed.</p>

<p>A race condition in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sched_4bsd&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sched_4bsd</span>(4)</span></a>
scheduler has been fixed.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sched_ule&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sched_ule</span>(4)</span></a>
scheduler which prevented process usage (<tt class="LITERAL">%CPU</tt>) from working
correctly has been fixed.</p>

<p>New SDT (Statically Defined Tracing) probes such as ones for <tt
class="LITERAL">opencrypto</tt> and <tt class="LITERAL">vnet</tt> have been added to
FreeBSD <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=dtrace&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">dtrace</span>(1)</span></a>
subsystem.</p>

<p>[powerpc] FreeBSD now supports SMP in PowerPC G5 systems. Note that SMP support on
FreeBSD/powerpc is disabled by default in <tt class="FILENAME">GENERIC</tt> kernel.</p>

<p>[sparc64] FreeBSD now supports UltraSPARC IV, IV+, and SPARC64 V CPUs.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=syscons&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">syscons</span>(4)</span></a>
driver has been improved. The history buffer can be fully saved/restored in the VESA mode
switching via a loader tunable <code class="VARNAME">hint.sc.<tt
class="REPLACEABLE"><i>0</i></tt>.vesa_mode</code>.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=tty&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">tty</span>(4)</span></a> driver
that <code class="VARNAME">TIOCSTI</code> did not work has been fixed. This affects
applications like <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=mail&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">mail</span>(1)</span></a>.</p>

<p>[amd64, i386] An x86 real mode emulator based on OpenBSD's x86emu implementation has
been added to improve real mode BIOS call support on both i386 and amd64. The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=atkbdc&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">atkbdc</span>(4)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=dpms&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">dpms</span>(4)</span></a>,
vesa(4), <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vga&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vga</span>(4)</span></a> driver
now use this emulator and work on the both platforms.</p>

<p>The VIMAGE <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=jail&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">jail</span>(8)</span></a>
virtualization container can work with <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sctp&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sctp</span>(4)</span></a> now.
Note that the VIMAGE is not enabled by default in <tt class="FILENAME">GENERIC</tt>
kernel.</p>

<p>The VIMAGE <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=jail&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">jail</span>(8)</span></a> now
supports <code class="VARNAME">ip4.saddrsel</code>, <code
class="VARNAME">ip4.nosaddrsel</code>, <code class="VARNAME">ip6.saddrsel</code>, and
<code class="VARNAME">ip6.nosaddrsel</code> to control whether to use source address
selection or the primary jail address for unbound outgoing connections. The default value
is to use source address selection.</p>

<div class="SECT3">
<hr />
<h4 class="SECT3"><a id="BOOT" name="BOOT">2.2.1 Boot Loader Changes</a></h4>

<p>[pc98] The <tt class="FILENAME">boot2</tt> bootcode has been reimplemented based on
the i386 counterpart. It now supports ELF binary, UFS2 file system, and larger number of
slices.</p>

<p>[ia64] The EFI <tt class="FILENAME">loader</tt> program now supports a command-line
option <code class="OPTION">-dev <tt class="REPLACEABLE"><i>currdev</i></tt></code> to
specify the default value of <code class="VARNAME">currdev</code>. This option can be set
by the EFI boot manager.</p>

<p>[powerpc] The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=loader&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">loader</span>(8)</span></a>
program now supports U-Boot storage.</p>

<p>[i386] The algorithm the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=loader&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">loader</span>(8)</span></a> uses
has been improved to choose a memory range for its heap when using a range above 1MB.
This fixes a symptom that the loader fails to load a kernel.</p>

<p>A kernel environment variable <code class="VARNAME">vfs.root.mountfrom</code> now
supports multiple elements for root file system in a space-separated list. Each list
element will be tried in order and the first available one will be mounted.</p>

<p>The <tt class="FILENAME">zfsloader</tt> has been added. This is a separate <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=zfs&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">zfs</span>(8)</span></a> enabled
loader. Note that a ZFS bootcode (<tt class="FILENAME">zfsboot</tt> or <tt
class="FILENAME">gptzfsboot</tt>) need to be installed to use this new loader.</p>

<p>The <tt class="FILENAME">zfsboot</tt> and <tt class="FILENAME">gptzfsboot</tt>
bootcode now fully support 64-bit LBAs for disk addresses. This allows booting from large
volumes.</p>
</div>

<div class="SECT3">
<hr />
<h4 class="SECT3"><a id="PROC" name="PROC">2.2.2 Hardware Support</a></h4>

<p>[powerpc] The <tt class="FILENAME">adb</tt> driver now supports for interpreting taps
on ADB touchpads as a button click.</p>

<p>The amdsbwd(4) driver for AMD SB600/SB7xx watchdog timer has been added.</p>

<p>[powerpc] The <tt class="FILENAME">apt</tt> driver for the Apple Touchpad present on
MacBook has been added to <tt class="FILENAME">GENERIC</tt> kernel.</p>

<p>[sparc64] The epic(4) driver for the front panel LEDs in Sun Fire V215/V245 has been
added.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ipmi&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ipmi</span>(4)</span></a> driver
that caused incorrect watchdog timer setting has been fixed.</p>

<p>[sparc64] The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pci&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">pci</span>(4)</span></a> driver
now supports a JBus to PCIe bridge (called as &#8220;Fire&#8221;) found in the Sun Fire
V215/V245 and Sun Ultra 25/45 machines.</p>

<p>[powerpc] The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=smu&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">smu</span>(4)</span></a> driver
now provides thermal management and monitoring features. This allows fan control and
thermal monitoring on SMU-based Apple G5 machines, as well as an <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=led&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">led</span>(4)</span></a> interface
to control the sleep LED.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=tnt4882&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">tnt4882</span>(4)</span></a>
driver for IEEE-488 (GPIB) bus now supports National Instruments TNT5004 chip.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=uart&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">uart</span>(4)</span></a> driver
now supports NetMos NM9865 family of Serial/Parallel ports.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=uep&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">uep</span>(4)</span></a> driver
for USB onscreen touch panel from eGalax has been added. This driver is supported by <tt
class="FILENAME">x11-drivers/xf86-input-egalax</tt>.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=uftdi&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">uftdi</span>(4)</span></a> driver
that can allow to send a zero length packet has been fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=usb&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">usb</span>(4)</span></a> subsystem
now reports <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=devd&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">devd</span>(8)</span></a> <tt
class="LITERAL">notify</tt> events with the device properties instead of <tt
class="LITERAL">attach</tt> events. The following is an example entry of <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=devd.conf&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">devd.conf</span>(5)</span></a> to
match a <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=umass&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">umass</span>(4)</span></a> device
with a SCSI subclass and BBB protocol:</p>

<pre class="PROGRAMLISTING">
notify 100 {
    match "system"      "USB";
    match "subsystem"   "INTERFACE";
    match "type"        "ATTACH";
    match "intclass"    "0x08";
    match "intsubclass" "0x06";
    match "intprotocol" "0x50";
    action "/path/to/command -flag";
};
</pre>

<div class="SECT4">
<hr />
<h5 class="SECT4"><a id="MM" name="MM">2.2.2.1 Multimedia Support</a></h5>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=acpi_video&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">acpi_video</span>(4)</span></a>
driver now supports LCD brightness control notify handler.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=acpi_sony&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">acpi_sony</span>(4)</span></a>
helper driver now supports default display brightness, wired LAN power, and bass
gain.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=agp&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">agp</span>(4)</span></a> driver
has been improved. It includes a fix for aperture size calculation issue which prevents
some graphics cards from working.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=snd_hda&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">snd_hda</span>(4)</span></a>
driver now allows AD1981HD codecs to use playback mixer.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=snd_hda&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">snd_hda</span>(4)</span></a>
driver now supports multichannel (4.0 and 7.1) playback support. The 5.1 mode support is
disabled now due to unidentified synchronization problem. Devices which supports the 7.1
mode can handle the 5.1 operation via software upmix done by <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sound&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sound</span>(4)</span></a>. Note
that stereo stream is no longer duplicated to all ports.</p>
</div>

<div class="SECT4">
<hr />
<h5 class="SECT4"><a id="NET-IF" name="NET-IF">2.2.2.2 Network Interface Support</a></h5>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ath&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ath</span>(4)</span></a> driver
now supports Atheros AR9285-based devices.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ath&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ath</span>(4)</span></a> driver
which causes a problem of AR5416-based chipsets including AR9285 has been fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bge</span>(4)</span></a> driver
now supports BCM5761, BCM5784, and BCM57780-based devices.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bge</span>(4)</span></a> driver
now supports TSO (TCP Segmentation Offloading) on BCM5755 or newer controllers.</p>

<p>A long-standing bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bge</span>(4)</span></a> driver
which was related to ASF heartbeat sending has been fixed.</p>

<p>A long-standing stability issue of the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bce&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bce</span>(4)</span></a> and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bge</span>(4)</span></a> driver
due to a hardware bug in its DMA handling when the system has more than 4GB memory has
been fixed. This applies to BCM5714, BCM5715, and BCM5708 controllers.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bge</span>(4)</span></a> driver
that incorrectly enabled TSO on BCM5754/BCM5754M controllers has been fixed.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=if_bridge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">if_bridge</span>(4)</span></a>
driver has been fixed. The MTU was set based on the firstly-added member even if the
addition failed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=if_bridge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">if_bridge</span>(4)</span></a>
driver now supports <code class="VARNAME">SIOCSIFMTU</code> ioctl. For example, <tt
class="COMMAND">ifconfig bridge0 mtu 1280</tt> can change the MTU of <tt
class="LITERAL">bridge0</tt> to <tt class="LITERAL">1280</tt>. Changing the MTU is
allowed only when all members have the same MTU value.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bwn&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bwn</span>(4)</span></a> driver
for Broadcom BCM43xx chipsets has been added.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cxgb&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cxgb</span>(4)</span></a> driver
has been updated to T3 firmware 7.8.0.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cxgb&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cxgb</span>(4)</span></a> driver
now supports hardware filtering based on inspection of L2/L3/L4 headers. Filtering based
on source IP address, destination IP address, source port number, destination port
number, 802.1q VLAN frame tag, UDP, TCP, and MAC address is possible. The configuration
can be done by the cxgbtool(8) utility. Note that cxgbtool(8) is in <tt
class="FILENAME">src/usr.sbin/cxgbtool</tt> but not compiled by default.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=em&sektion=4&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">em</span>(4)</span></a> driver has been
updated to version 7.0.5.</p>

<p>The et(4) driver now supports MSI and Tx checksum offloading of IPv4, TCP, and
UDP.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=fxp&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">fxp</span>(4)</span></a> driver
now exports the hardware MAC statistics via sysctl variables.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=igb&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">igb</span>(4)</span></a> driver
has been updated to version 1.9.5.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=iwn&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">iwn</span>(4)</span></a> driver
has been updated. This includes various improvements and bugfixes regarding RF switch,
bgscan support, suspend/resume support, locking issue, and more. The line <tt
class="LITERAL">device iwnfw</tt> in the kernel configuration file will include all
firmware images.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ixgbe&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ixgbe</span>(4)</span></a> driver
has been updated to version 2.2.0.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=msk&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">msk</span>(4)</span></a> driver
has been improved:</p>

<ul>
<li>
<p>It now supports Marvell Yukon 88E8042, 88E8057, 88E8059 (Yukon Optima) devices and
DGE-560SX (Yukon XL).</p>
</li>

<li>
<p>A rudimentary interrupt moderation with programmable countdown timer register has been
implemented. The default parameter of the holdoff time is 100us and this can be changed
via sysctl variable <code class="VARNAME">dev.mskc.<tt
class="REPLACEABLE"><i>0</i></tt>.int_holdoff</code>. Note that the interrupt moderation
is shared resource on a dual-port controllers and it is impossible to use separate
interrupt moderation values for each port.</p>
</li>

<li>
<p>A stability issue has been fixed. A heavy RX traffic while rebooting is in progress
could prevent the system from working.</p>
</li>
</ul>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=mxge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">mxge</span>(4)</span></a> driver
has been updated to firmware version 1.4.50 from Myricom.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=re&sektion=4&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">re</span>(4)</span></a> driver no
longer performs an unnecessary interface up/down during getting IP address via DHCP.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=re&sektion=4&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">re</span>(4)</span></a> driver now uses
<tt class="LITERAL">2048</tt> as PCIe Maximum Read Request Size. This improves bulk
transfer performance.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=run&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">run</span>(4)</span></a> driver
for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices has been added.</p>

<p>The sge(4) driver for Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet has
been added. This supports TSO and TSO over VLAN.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ste&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ste</span>(4)</span></a> driver
has been improved:</p>

<ul>
<li>
<p>The DMA handling has been improved.</p>
</li>

<li>
<p>Wake-On-LAN is now supported.</p>
</li>

<li>
<p>Unnecessary reinitialization of the interfaces has been eliminated.</p>
</li>

<li>
<p>RX interrupt moderation with single shot timer has been implemented. The default
parameter of the moderation time is 150us and this can be changed via sysctl variable
<code class="VARNAME">dev.ste.<tt class="REPLACEABLE"><i>0</i></tt>.int_rx_mod</code>.
Setting it 0 effectively disables the RX interrupt moderation feature.</p>
</li>
</ul>

<p>The tsec(4) driver now supports <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=altq&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">altq</span>(4)</span></a>.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=u3g&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">u3g</span>(4)</span></a> driver
has been improved and now works with ZTE MF636, Option Gi0322, Globetrotter GE40x, and
Novatel MC950D.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=uhso&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">uhso</span>(4)</span></a> driver
for Option HSDPA USB devices has been added. A new <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=uhsoctl&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">uhsoctl</span>(1)</span></a>
userland utility can be used to initiate and close the WAN connection.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vge</span>(4)</span></a> driver
has been improved:</p>

<ul>
<li>
<p>The DMA handling has been improved.</p>
</li>

<li>
<p>Wake-On-LAN is now supported.</p>
</li>

<li>
<p>Unnecessary reinitialization of the interfaces has been eliminated.</p>
</li>

<li>
<p>Hardware MAC statistics are now supported via sysctl variables <code
class="VARNAME">dev.vge.<tt class="REPLACEABLE"><i>0</i></tt>.stats</code>.</p>
</li>

<li>
<p>Interrupt moderation with single shot timer and scheme supported by VT61xx controllers
have been implemented. The default parameters are tuned to generate interrupt less than
8k per second, and these parameters can be changed via sysctl variables <code
class="VARNAME">dev.vge.<tt class="REPLACEABLE"><i>0</i></tt>.int_holdoff</code>, <code
class="VARNAME">dev.vge.<tt class="REPLACEABLE"><i>0</i></tt>.rx_coal_pkt</code>, and
<code class="VARNAME">dev.vge.<tt class="REPLACEABLE"><i>0</i></tt>.tx_coal_pkt</code>.
Note that an up/down cycle is needed to make a parameter change take effect.</p>
</li>
</ul>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=urtw&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">urtw</span>(4)</span></a> driver
has been improved and now supports RTL8187B-based devices.</p>

<p>The FreeBSD Xen netfront driver has been improved in stability and performance.</p>
</div>
</div>

<div class="SECT3">
<hr />
<h4 class="SECT3"><a id="NET-PROTO" name="NET-PROTO">2.2.3 Network Protocols</a></h4>

<p>FreeBSD flowtable now supports IPv6. This is for per-CPU caching flows as a means of
accelerating L3 and L2 lookups as well as providing stateful load balancing when ECMP
(Equal-Cost Multi-Path routing) is enabled by <code class="OPTION">option
RADIX_MPATH</code>.</p>

<p>A new capability flag <tt class="LITERAL">LINKSTATE</tt> has been added to <code
class="VARNAME">struct ifnet.if_capabilities</code>. This indicates if the interface can
check the link state or not. The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ifconfig&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ifconfig</span>(8)</span></a>
utility now shows this flag if supported.</p>

<p>A new event handler <code class="VARNAME">iflladdr_event</code> has been added. This
signals that the L2 address on an interface has changed, and lets stacked interfaces such
as <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vlan&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vlan</span>(4)</span></a> detect
that their lower interface has changed and adjust things in order to keep working. This
fixes an issue of <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=lagg&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">lagg</span>(4)</span></a> and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vlan&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vlan</span>(4)</span></a>
configuration.</p>

<p>IPcomp (IP Payload Compression Protocol defined in RFC 2393) protocol is now enabled
by default. Note that this requires <code class="OPTION">option IPSEC</code> in the
kernel configuration file and <tt class="FILENAME">GENERIC</tt> kernel does not include
it. This functionality can be disabled by using a sysctl variable <code
class="VARNAME">net.inet.ipcomp.ipcomp_enable</code>.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ipfw&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ipfw</span>(4)</span></a>
subsystem including <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=dummynet&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">dummynet</span>(4)</span></a> has
been updated to &#8220;ipfw3&#8221; and various bugs have been fixed:</p>

<ul>
<li>
<p>The major enhancement is a completely restructured version of <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=dummynet&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">dummynet</span>(4)</span></a>,
with support for different packet scheduling algorithms (loadable at runtime), faster
queue/pipe lookup, and a much cleaner internal architecture and kernel/userland ABI which
simplifies future extensions.</p>
</li>

<li>
<p>All of O(N) sequences in the firewall rule evaluation removed from the kernel critical
sections. The worst case is now O(log N).</p>
</li>

<li>
<p>It now supports <tt class="LITERAL">ipfw0</tt> pseudo interface for logging similar to
<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pflog&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">pflog</span>(4)</span></a>. A
sysctl <code class="VARNAME">net.inet.ip.fw.verbose=0</code> enables logging to <tt
class="LITERAL">ipfw0</tt>, and <code class="VARNAME">net.inet.ip.fw.verbose=1</code>
sends logging to <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=syslog&sektion=3&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">syslog</span>(3)</span></a> as
before.</p>
</li>

<li>
<p>The <tt class="LITERAL">me</tt> keyword in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ipfw&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ipfw</span>(4)</span></a> rule now
matches any IPv6 addresses configured on an interface as well as IPv4 ones.</p>
</li>

<li>
<p>A bug that <tt class="COMMAND">keep-alive</tt> rule did not work for IPv6 packets has
been fixed.</p>
</li>

<li>
<p>The <tt class="LITERAL">lookup</tt> match option has been added.</p>

<pre class="PROGRAMLISTING">
lookup {dst-ip|src-ip|dst-port|src-port|uid|jail} <tt class="REPLACEABLE"><i>N</i></tt>
</pre>

<p>This searches the specified field in table <tt class="REPLACEABLE"><i>N</i></tt> and
sets <tt class="LITERAL">tablearg</tt> accordingly. With <tt class="LITERAL">dst-ip</tt>
or <tt class="LITERAL">src-ip</tt> the option replicates two existing options. When used
with other arguments, the option can be useful to quickly dispatch traffic based on other
fields.</p>
</li>

<li>
<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sysctl&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sysctl</span>(8)</span></a>
variable <code class="VARNAME">ip.fw.one_pass</code> handling has been fixed. A packet
which comes from a pipe without being delayed incorrectly ignored this variable.</p>
</li>
</ul>

<p>A memory alignment issue in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ng_ksocket&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ng_ksocket</span>(4)</span></a>
and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ng_ppp&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ng_ppp</span>(4)</span></a>,
Netgraph node drivers have been fixed. This fixes kernel panics due to the
misalignment.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ng_bridge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ng_bridge</span>(4)</span></a> and
<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ng_hub&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ng_hub</span>(4)</span></a>
Netgraph node drivers now supports a flag <tt class="LITERAL">persistent</tt>. It
disables automatic node shutdown when the last hook gets disconnected. The new control
messages <tt class="LITERAL">NGM_BRIDGE_SET_PERSISTENT</tt> and <tt
class="LITERAL">NGM_HUB_SET_PERSISTENT</tt> have been added for the flag.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pf&sektion=4&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">pf</span>(4)</span></a> subsystem now
supports <tt class="LITERAL">sloppy</tt> keyword to enable a TCP state machine for
tracking TCP connections with no sequence number check. This feature is in the latest
version of <b class="APPLICATION">pf</b>.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pfil&sektion=9&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">pfil</span>(9)</span></a>
framework for packet filtering in FreeBSD kernel now supports separate packet filtering
instances like <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ipfw&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ipfw</span>(4)</span></a> for each
VIMAGE jail.</p>

<p>A bug that proxy ARP entries cannot be added over point-to-point link types has been
fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=tap&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">tap</span>(4)</span></a> pseudo
interface now reports the link state properly by updating <code
class="VARNAME">if_link_state</code> variable in the kernel.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vlan&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vlan</span>(4)</span></a> pseudo
interface has been added to <tt class="FILENAME">GENERIC</tt> kernel.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vlan&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vlan</span>(4)</span></a> pseudo
interface now supports TSO (TCP Segmentation Offloading). The capability flag is named as
<code class="VARNAME">IFCAP_VLAN_HWTSO</code> and it is separated from <code
class="VARNAME">IFCAP_VLAN_HWTAGGING</code>. The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=age&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">age</span>(4)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=alc&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">alc</span>(4)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ale&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ale</span>(4)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bce&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bce</span>(4)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bge</span>(4)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cxgb&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cxgb</span>(4)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=jme&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">jme</span>(4)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=re&sektion=4&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">re</span>(4)</span></a>, and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=mxge&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">mxge</span>(4)</span></a> driver
support this feature.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vlan&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vlan</span>(4)</span></a> pseudo
interface for IEEE 802.1Q VLAN now ignore renaming of the parent's interface name. The
configured VLAN interfaces continue to work with the new name while previously the
configurations were removed as the renaming happens.</p>
</div>

<div class="SECT3">
<hr />
<h4 class="SECT3"><a id="DISKS" name="DISKS">2.2.4 Disks and Storage</a></h4>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ada&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ada</span>(4)</span></a> driver
now supports <code class="VARNAME">BIO_DELETE</code>. For SSDs this uses <tt
class="LITERAL">TRIM</tt> feature of <tt class="LITERAL">DATA SET MANAGEMENT</tt>
command, as defined by ACS-2 specification working draft. For Compact Flash use <tt
class="LITERAL">CFA ERASE</tt> command, same as <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ad&sektion=4&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">ad</span>(4)</span></a> does. This
change realizes restoring write speed of SSDs which supports <tt
class="LITERAL">TRIM</tt> command by doing <tt class="COMMAND">newfs -E <tt
class="REPLACEABLE"><i>/dev/ada1</i></tt></tt>, for example.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ahci&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ahci</span>(4)</span></a> driver
now supports SATA part of Marvell 88SE912x controllers.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ahci&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ahci</span>(4)</span></a> driver
now supports FIS-based (Frame Information Structure) switching of port multiplier on
supported controllers.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ahd&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ahd</span>(4)</span></a> driver
now supports three separated error counters for correctable, uncorrectable, and fatal, in
<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sysctl&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sysctl</span>(8)</span></a>
MIB.</p>

<p>A new kernel option <code class="OPTION">option ATA_CAM</code> has been added. This
turns <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ata&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ata</span>(4)</span></a>
controller drivers into <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cam&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cam</span>(4)</span></a> interface
modules. When enabled, this option deprecates all <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ata&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ata</span>(4)</span></a>
peripheral drivers and interfaces such as <tt class="FILENAME">ad</tt> and <tt
class="FILENAME">acd</tt>, and allows <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cam&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cam</span>(4)</span></a> drivers
<tt class="FILENAME">ada</tt>, and <tt class="FILENAME">cd</tt> and interfaces to be
natively used instead. Note that this is not enabled by default in the <tt
class="FILENAME">GENERIC</tt> kernel.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ata&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ata</span>(4)</span></a> driver
which can lead to interrupt storms and command timeouts has been fixed.</p>

<p>USB mass storage device support in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ata&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ata</span>(4)</span></a> driver
has been removed. Note that this was not used in <tt class="FILENAME">GENERIC</tt> kernel
and the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=umass&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">umass</span>(4)</span></a> driver
supports such devices for a long time.</p>

<p>FreeBSD <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cam&sektion=3&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cam</span>(3)</span></a> SCSI
framework has been improved:</p>

<ul>
<li>
<p>SATA and PATA support has been improved and it now recognizes more detail device
capabilities. For example, the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ahci&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ahci</span>(4)</span></a> and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=siis&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">siis</span>(4)</span></a> driver
now reports maximum tag number to the framework to optimize the NCQ handling.</p>
</li>

<li>
<p>A loader tunable <code class="VARNAME">kern.cam.boot_delay</code> has been added. This
controls the delay time before <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cam&sektion=3&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cam</span>(3)</span></a> probes
the attached devices.</p>
</li>

<li>
<p>SCSI error recovery for devices on buses without automatic sense reporting has been
improved. Typical devices are on ATAPI and USB. For example, this allows <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cam&sektion=3&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cam</span>(3)</span></a> to wait,
while CD drive loads disk, instead of immediately return error status.</p>
</li>

<li>
<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cam&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cam</span>(4)</span></a> ATA
transport layer now supports Power-Up In Stand-by (PUIS). The PUIS is a configuration of
SATA or PATA drives to prevent them from automatic spin-up when power is applied. A
typical application is staggered spin-up.</p>
</li>

<li>
<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cam&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cam</span>(4)</span></a> ATA
transport layer now supports negotiating and enabling additional SATA features such as
device initiated power management, Automatic Partial to Slumber mode transition, and DMA
auto-activation.</p>
</li>
</ul>

<p>A livelock issue of the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ciss&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ciss</span>(4)</span></a> driver
under a high load has been fixed.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=fdc&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">fdc</span>(4)</span></a> driver
which prevents the kernel module from unloading has been fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=glabel&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">glabel</span>(8)</span></a> now
supports the following sysctl variables for each label type to enable the labeling
itself:</p>

<pre class="PROGRAMLISTING">
kern.geom.label.ext2fs.enable
kern.geom.label.iso9660.enable
kern.geom.label.msdosfs.enable
kern.geom.label.ntfs.enable
kern.geom.label.reiserfs.enable
kern.geom.label.ufs.enable
kern.geom.label.ufsid.enable
kern.geom.label.gptid.enable
kern.geom.label.gpt.enable
</pre>

<p>Note that all of them are also loader tunables. They are enabled (set as <tt
class="LITERAL">1</tt>) by default.</p>

<p><a
href="http://www.FreeBSD.org/cgi/man.cgi?query=geom&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">geom</span>(8)</span></a>
providers including complex ones such as <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gconcat&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gconcat</span>(8)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gmirror&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gmirror</span>(8)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=graid3&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">graid3</span>(8)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gstripe&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gstripe</span>(8)</span></a>, and
some hardware RAID device drivers like <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=twa&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">twa</span>(4)</span></a> now
inform its optimal access block size to the upper layer.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gmirror&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gmirror</span>(8)</span></a>
utility now supports <tt class="COMMAND">configure <code class="OPTION">-p</code> <tt
class="REPLACEABLE"><i>priority</i></tt></tt> command to change the providers
priority.</p>

<p>The balancing mode algorithm <tt class="LITERAL">load</tt> used in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gmirror&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gmirror</span>(8)</span></a>
utility has been changed and it is now the default one instead of <tt
class="LITERAL">split</tt>:</p>

<ul>
<li>
<p>Instead of measuring last request execution time for each drive and choosing one with
smallest time, use averaged number of requests, running on each drive. This information
is more accurate and timely. It allows to distribute load between drives in more even and
predictable way.</p>
</li>

<li>
<p>For each drive track offset of the last submitted request. If new request offset
matches previous one or close for some drive, prefer that drive. It allows to
significantly speedup simultaneous sequential reads.</p>
</li>
</ul>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gmultipath&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gmultipath</span>(8)</span></a>
utility now supports <tt class="COMMAND">destroy</tt>, <tt class="COMMAND">rotate</tt>,
<tt class="COMMAND">getactive</tt> commands.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=graid3&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">graid3</span>(8)</span></a> which
causes a panic when a large request arrives has been fixed. This happens when <code
class="VARNAME">MAXPHYS</code> is set as larger than 128k.</p>

<p>The default block size of <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gstripe&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gstripe</span>(8)</span></a> has
been increased from 4k to 64k.</p>

<p>The <tt class="LITERAL">GEOM_SCHED</tt> module has been added. This supports
scheduling disk I/O requests in a device independent manner. A supported algorithm is an
anticipatory scheduler <tt class="LITERAL">gsched_rr</tt> which gives very nice
performance improvements in presence of competing random access patterns. See also <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gsched&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gsched</span>(8)</span></a> manual
page for more details.</p>

<p>The HAST (Highly Available STorage) framework has been added:</p>

<ul>
<li>
<p>This is a framework to allow transparently storing data on two physically separated
machines connected over the TCP/IP network. HAST works in Primary-Secondary
(Master-Backup, Master-Slave) configuration, which means that only one of the cluster
nodes can be active at any given time. Only Primary node is able to handle I/O requests
to HAST-managed devices. Currently HAST is limited to two cluster nodes in total.</p>
</li>

<li>
<p>This operates on block level; it provides disk-like devices in <tt
class="FILENAME">/dev/hast/</tt> directory for use by file systems and/or applications.
Working on block level makes it transparent for file systems and applications. There in
no difference between using HAST-provided device and raw disk, partition, etc. All of
them are just regular <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=geom&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">geom</span>(8)</span></a>
providers in FreeBSD.</p>
</li>

<li>
<p>The userland part consists of <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=hastd&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">hastd</span>(8)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=hastctl&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">hastctl</span>(8)</span></a>, and
<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=hast.conf&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">hast.conf</span>(5)</span></a>.
More details can be found at <a href="http://wiki.FreeBSD.org/HAST"
target="_top">http://wiki.FreeBSD.org/HAST</a>.</p>
</li>
</ul>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=isp&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">isp</span>(4)</span></a> driver
has been improved in stability.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=mvs&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">mvs</span>(4)</span></a> CAM ATA
driver for Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA controllers has been added. This
driver supports same hardware as the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ata&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ata</span>(4)</span></a> driver
does, but provides many additional features, such as NCQ and PMP.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=siis&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">siis</span>(4)</span></a> driver
now enables MSI by default on SiI3124-based devices. This can be disabled by using a
<code class="VARNAME">hint.siis.<tt class="REPLACEABLE"><i>0</i></tt>.msi</code> loader
tunable.</p>

<p>The Max Read Request Size in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=siis&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">siis</span>(4)</span></a> driver
for PCIe chips has been increased from 512 to 1024 bytes for better performance.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=twa&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">twa</span>(4)</span></a> driver
has been updated to the latest version from LSI.</p>
</div>

<div class="SECT3">
<hr />
<h4 class="SECT3"><a id="FS" name="FS">2.2.5 File Systems</a></h4>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=msdosfs&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">msdosfs</span>(5)</span></a>
subsystem is now MP-safe and a race condition when a force unmount happens has been
fixed.</p>

<p>FreeBSD NFS subsystem now supports a timeout for the negative name cache entries in
the client. This avoids a bogus negative name cache entry from persisting forever when
another client creates an entry with the same name within the same NFS server time of day
clock tick. The mount option <code class="OPTION">negnametimeo</code> can be used to
override the default timeout interval (60 seconds) on a per-mount-point basis. a Setting
<code class="OPTION">negnametimeo</code> to <tt class="LITERAL">0</tt> disables negative
name caching for the mount point.</p>

<p>A race condition in FreeBSD NFS subsystem that occurs when <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=nfsiod&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">nfsiod</span>(8)</span></a>
threads are being created has been fixed. This also fixes an interoperability issue found
in combination of a FreeBSD NFS client and a Linux NFS server.</p>

<p>The inode number handling in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ffs&sektion=7&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ffs</span>(7)</span></a> file
system is now unsigned. Previously some large inode numbers can be treated as negative,
and this issue shows up at file systems with the size of more than 16Tb in 16k block
case. The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=newfs&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">newfs</span>(8)</span></a> utility
never create a file system with more than 2^32 inodes by cutting back on the number of
inodes per cylinder group if necessary to stay under the limit.</p>

<p>The UFS file system (<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ffs&sektion=7&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ffs</span>(7)</span></a>) now
supports NFSv4 ACL.</p>

<p>FreeBSD <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=VFS&sektion=9&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">VFS</span>(9)</span></a> subsystem
now supports a new sysctl variable <code class="VARNAME">vfs.vlru_allow_cache_src</code>.
This allow <tt class="FILENAME">vnlru</tt> kernel thread to reclaim of the directory
vnodes that are source of the namecache records. This is not enabled by default because
for typical workload it would make namecache unusable, but large nested directory tree
easily puts any process that accesses file system into one second wait for <tt
class="FILENAME">vnlru</tt> kernel thread.</p>

<p>The ZFS file system has been improved:</p>

<ul>
<li>
<p>It now supports NFSv4 ACL.</p>
</li>

<li>
<p>The L2ARC code has been improved in stability and performance.</p>
</li>

<li>
<p>The zpool version has been updated to version 14. It is now possible to use zpools
created on OpenSolaris 2009.06.</p>
</li>

<li>
<p>A sysctl variable <code class="VARNAME">vfs.zfs.txg.write_limit_override</code> has
been added. This can be used for tuning of ZFS write throttling.</p>
</li>

<li>
<p>ZFS prefetch statistics has been added as a sysctl variable <code
class="VARNAME">kstat.zfs.misc.zfetchstats</code>.</p>
</li>

<li>
<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=zfs&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">zfs</span>(8)</span></a> <tt
class="COMMAND">zpool export</tt> command now supports <code class="OPTION">-F</code>
flag. When exporting with this flag, <tt class="FILENAME">zpool.cache</tt> remains
untouched.</p>
</li>

<li>
<p>A data corruption issue of <tt class="COMMAND">zfs send/receive</tt> between two
different platforms has been fixed. Symbolic links could be broken in the previous
releases.</p>
</li>

<li>
<p>A possible deadlock of <tt class="COMMAND">zfs receive</tt> has been fixed.</p>
</li>

<li>
<p>Possible panics of <tt class="COMMAND">zfs destroy</tt> and <tt class="COMMAND">zfs
rollback</tt> have been fixed.</p>
</li>

<li>
<p>A occasional failure of <tt class="COMMAND">zfs rename</tt> due to a busy state has
been fixed.</p>
</li>

<li>
<p>Bugs that <tt class="COMMAND">zfs snapshot -r</tt> fails when the file system is busy,
and <tt class="COMMAND">zfs receive</tt> can fail with an E2BIG error, have been
fixed.</p>
</li>
</ul>
</div>
</div>

<div class="SECT2">
<hr />
<h3 class="SECT2"><a id="USERLAND" name="USERLAND">2.3 Userland Changes</a></h3>

<p>A bug in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bsnmpd&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bsnmpd</span>(1)</span></a>
program which leads to high CPU consumption on a loaded system has been fixed.</p>

<p>A bug in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=bzip2&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">bzip2</span>(1)</span></a> utility
which prevented it from working with multi-session bzip2 files has been fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=camcontrol&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">camcontrol</span>(8)</span></a>
utility now supports a <code class="OPTION">-v</code> flag in the subcommand <tt
class="COMMAND">identify</tt>. It displays whole of identify data block.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=camcontrol&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">camcontrol</span>(8)</span></a>
utility now supports <code class="OPTION">-d</code> and <code class="OPTION">-f</code>
flags in the subcommand <tt class="COMMAND">cmd</tt>. They specify DMA protocol or FPDMA
(NCQ) protocol to be used for ATA command, respectively.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=chgrp&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">chgrp</span>(1)</span></a> and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=chown&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">chown</span>(8)</span></a> now
support a <code class="OPTION">-x</code> flag to make it not traverse across multiple
mount points for the recursive operation.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cp&sektion=1&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">cp</span>(1)</span></a> now supports a
<code class="OPTION">-x</code> flag to make it not traverse across multiple mount points
for the recursive operation.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cp&sektion=1&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">cp</span>(1)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=find&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">find</span>(1)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=getfacl&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">getfacl</span>(1)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=mv&sektion=1&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">mv</span>(1)</span></a>, and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=setfacl&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">setfacl</span>(1)</span></a>
utilities now support NFSv4 ACL.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=diskinfo&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">diskinfo</span>(8)</span></a> now
supports reporting disk stripe size and offset. This helps users to make file systems
optimally aligned and tuned for better performance.</p>

<p>A bug in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ee&sektion=1&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">ee</span>(1)</span></a> utility which
can crash the program has been fixed.</p>

<p>A bug in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=factor&sektion=6&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">factor</span>(6)</span></a>
utility which leads to performance degradation has been fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=fetch&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">fetch</span>(1)</span></a> utility
now supports HTTP digest authentication.</p>

<p>A bug in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=fetch&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">fetch</span>(1)</span></a> utility
which incorrectly evaluates a variable <code class="VARNAME">NO_PROXY</code> has been
fixed.</p>

<p>A bug in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=find&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">find</span>(1)</span></a> utility
has been fixed. An option <code class="OPTION">-newerXB</code> was interpreted as the
same as <code class="OPTION">-newerXm</code>.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=fnmatch&sektion=3&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">fnmatch</span>(3)</span></a>
function has been fixed. The flag <code class="VARNAME">FNM_PERIOD</code> did not work
correctly when <tt class="LITERAL">*</tt> characters were included in the string and
<code class="VARNAME">FNM_PATHNAME</code> was specified.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=fsck_ffs&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">fsck_ffs</span>(8)</span></a>
utility which causes the last cylinder group of a UFS1 file system is always reported as
broken even after it is fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=gcore&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">gcore</span>(1)</span></a> utility
now recognizes threads in the process and handles dumps on a thread scope.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ifconfig&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ifconfig</span>(8)</span></a>
utility now supports manipulation of NDP flags handled by <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ndp&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ndp</span>(8)</span></a>.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ifconfig&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ifconfig</span>(8)</span></a>
utility now supports a <tt class="COMMAND">description <tt
class="REPLACEABLE"><i>value</i></tt></tt> command to add a description <tt
class="REPLACEABLE"><i>value</i></tt> to the specified interface.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=indent&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">indent</span>(1)</span></a>
utility now supports a <code class="OPTION">-ta</code> flag to treat all <tt
class="LITERAL">_t</tt>-suffixed identifiers as types.</p>

<p>The <tt class="FILENAME">liblzma</tt> library for LZMA2 lossless data compression
algorithm and the userland utilities <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=xz&sektion=1&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">xz</span>(1)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=xzdec&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">xzdec</span>(1)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=lzma&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">lzma</span>(1)</span></a>, and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=lzmainfo&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">lzmainfo</span>(1)</span></a>. has
been imported. When the old system is upgraded to 8.1-RELEASE, deinstalling a version
found in the Ports Collection (<tt class="FILENAME">archivers/xz</tt>) and recompilation
of the packages which depend on it may be required.</p>

<p>[amd64, i386] The <tt class="FILENAME">libz</tt> library has been improved in
performance. For FreeBSD/i386, note that this improvement uses instructions only on
i686-class CPU and they are disabled by default. Specifying <tt
class="LITERAL">CPUTYPE=pentium4</tt> in <tt class="FILENAME">/etc/make.conf</tt> enables
them.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ln&sektion=1&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">ln</span>(1)</span></a> utility now
reports an error correctly when a <code class="OPTION">-f</code> flag and two same file
entries were specified in the command line option. It removed the file first and then
reported a &#8220;not found&#8221; error.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ln&sektion=1&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">ln</span>(1)</span></a> utility now
removes trailing slash characters when creating a link to a directory. The following
command sequence reported an error in the previous releases:</p>

<pre class="SCREEN">
<samp class="PROMPT">%</samp> mkdir test1 test2
<samp class="PROMPT">%</samp> ln -s ../test2/ test1
</pre>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=mount_nfs&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">mount_nfs</span>(8)</span></a>
utility now supports <tt class="LITERAL">[<tt class="REPLACEABLE"><i>ipaddr</i></tt>]:<tt
class="REPLACEABLE"><i>path</i></tt></tt> notation in addition to the existing one. This
allows IPv6 address in the address field, and a path including &#8220;<tt
class="LITERAL">:</tt>&#8221; to be mounted.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=netstat&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">netstat</span>(1)</span></a>
utility that prevents <tt class="COMMAND">netstat -f netgraph</tt> from working has been
fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=netstat&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">netstat</span>(1)</span></a>
utility now supports ARP information in statistics shown by the <code
class="OPTION">-s</code> flag.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=netstat&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">netstat</span>(1)</span></a>
utility now supports a <code class="OPTION">-q <tt
class="REPLACEABLE"><i>number</i></tt></code> option to specify the number of outputs.
This is used in conjunction with <code class="OPTION">-w</code> option.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=newfs_msdos&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">newfs_msdos</span>(8)</span></a>
utility now uses <tt class="LITERAL">NO_NAME</tt> as the default volume label and <tt
class="LITERAL">BSD4.4</tt> as the OEM String.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=newsyslog&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">newsyslog</span>(8)</span></a>
utility does not consider non-existence of a PID file as an error now. A new flag <code
class="OPTION">-P</code> reverts it to the old behavior.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ntpd&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ntpd</span>(8)</span></a> program
no longer tries to bind to an IPv6 anycast address.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pam_krb5&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">pam_krb5</span>(8)</span></a> PAM
module now supports <code class="OPTION">no_user_check</code> option. This allows to
authorize a user not known to the local system.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pathchk&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">pathchk</span>(1)</span></a>
utility now supports a <code class="OPTION">-P</code> flag defined in POSIX-1.2008. This
checks for empty pathnames and components starting with &#8220;<tt
class="LITERAL">-</tt>&#8221;.</p>

<p>A variable <code class="VARNAME">daily_clean_tmps_ignore</code> which is used in the
<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=periodic&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">periodic</span>(8)</span></a>
daily script now has <tt class="FILENAME">/tmp/.snap</tt>. This prevents <tt
class="FILENAME">/tmp/.snap</tt> from being removed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=procstat&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">procstat</span>(1)</span></a>
utility now supports two new flags <code class="OPTION">-i</code> and <code
class="OPTION">-j</code> to display information about signal disposition and
pending/blocked status for signals.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=pwait&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">pwait</span>(1)</span></a> utility
has been added. This is similar to the Solaris utility of the same name, and waits for
any process to terminate.</p>

<p>A bug in the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=restore&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">restore</span>(8)</span></a>
utility which caused short reads when a option <code class="OPTION">-P</code> was used
has been fixed.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=rtsold&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">rtsold</span>(8)</span></a> <code
class="OPTION">-a</code> flag now excludes the interfaces which IPv6 or accepting ICMPv6
Router Advertisement message is disabled from the auto-probed interface list.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=scandir&sektion=3&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">scandir</span>(3)</span></a> and
<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=alphasort&sektion=3&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">alphasort</span>(3)</span></a>
functions has been updated to conform POSIX.1-2008 (IEEE Std 1003.1-2008).</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sed&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sed</span>(1)</span></a> utility
now supports a <code class="OPTION">-r</code> flag which means exactly the same as a
<code class="OPTION">-E</code> flag. This is for compatibility with the GNU version.</p>

<p>The service name database <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=services&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">services</span>(5)</span></a>
(usually in <tt class="FILENAME">/etc/services</tt>) now also supports a <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=db&sektion=3&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">db</span>(3)</span></a> style database
for better lookup performance. The following entry in <tt
class="FILENAME">/etc/nsswitch.conf</tt> enables use of the binary database file:</p>

<pre class="PROGRAMLISTING">
services: db
</pre>

<p>Note that the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=db&sektion=3&manpath=FreeBSD+8.1-RELEASE"><span
 class="CITEREFENTRY"><span class="REFENTRYTITLE">db</span>(3)</span></a> style database
can be created by <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=services_mkdb&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">services_mkdb</span>(8)</span></a>
at <tt class="FILENAME">/var/db/service.db</tt>.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sighold&sektion=2&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sighold</span>(2)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sigignore&sektion=2&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sigignore</span>(2)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sigpause&sektion=2&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sigpause</span>(2)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sigrelse&sektion=2&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sigrelse</span>(2)</span></a>, and
<a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sigset&sektion=2&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sigset</span>(2)</span></a>
functions have been implemented for making porting software from System V-like systems
easy. Note that these are defined in POSIX.1-2008 XSI (IEEE Std 1003.1-2008, X/Open
System Interface) but now obsolete. Since FreeBSD already has another <code
class="FUNCTION">sigpause(3)</code> function derived from 4.2BSD, a version of the XSI
interface is implemented as <code class="FUNCTION">xsi_sigpause()</code>.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sshd&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sshd</span>(8)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=cron&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">cron</span>(8)</span></a>, <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=inetd&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">inetd</span>(8)</span></a>, and <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=syslogd&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">syslogd</span>(8)</span></a>
programs now set <tt class="LITERAL">MADV_PROTECT</tt> memory flag onto themselves to
protect from being terminated by the FreeBSD kernel when available memory becomes short.
This kind of process termination happens in a swap-intensive workload.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=stat&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">stat</span>(1)</span></a> utility
now supports <tt class="LITERAL">%Sf</tt> output specifier to display the file flags
symbolically.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=strsignal&sektion=3&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">strsignal</span>(3)</span></a>
function is now thread-safe.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sysctl&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sysctl</span>(8)</span></a>
utility now supports a <code class="OPTION">-i</code> flag to ignore failures while
retrieving individual OIDs. This allows the same list of OIDs to be passed to <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sysctl&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sysctl</span>(8)</span></a> across
different systems where particular OIDs may not exist, and still get as much information
as possible from them.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=traceroute&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">traceroute</span>(8)</span></a>
utility now performs source address selection correctly even in a VIMAGE <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=jail&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">jail</span>(8)</span></a>
environment.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=unifdef&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">unifdef</span>(1)</span></a>
utility has been updated to version 1.188. It now supports a new <code
class="OPTION">-B</code> flag to compress blank lines around a deleted section to prevent
blank lines around paragraphs of code from getting doubled.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=unzip&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">unzip</span>(1)</span></a> utility
now supports the rename query when a file with the same name as the one about to be
extracted already exists.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=unzip&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">unzip</span>(1)</span></a> utility
now supports <code class="OPTION">-C</code>, <code class="OPTION">-c</code>, <code
class="OPTION">-f</code>, <code class="OPTION">-p</code>, and <code
class="OPTION">-v</code> flags which are compatible with Info-ZIP.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=usbconfig&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">usbconfig</span>(8)</span></a>
utility now supports a new flag <code class="OPTION">-d</code> to specify the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=ugen&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">ugen</span>(4)</span></a> device,
and <tt class="COMMAND">add_quirk</tt> and <tt class="COMMAND">remove_quirk</tt>
commands.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=whois&sektion=1&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">whois</span>(1)</span></a> utility
now supports searching IPv6 addresses just like IPv4 without specifying the ARIN server.
A <code class="OPTION">-d</code> flag has been removed because it is now obsolete.</p>

<p>A new errno <code class="VARNAME">ENOTCAPABLE</code> has been added. This is to be
returned when a process requests an operation on a file descriptor that is not authorized
by the descriptor's capability flags.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=zfs&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">zfs</span>(8)</span></a> command
now supports a new flag <code class="OPTION">receive -u</code> to specify that the
received ZFS should not be mounted automatically.</p>

<div class="SECT3">
<hr />
<h4 class="SECT3"><a id="RC-SCRIPTS" name="RC-SCRIPTS">2.3.1 <tt
class="FILENAME">/etc/rc.d</tt> Scripts</a></h4>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=service&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">service</span>(8)</span></a>
command has been added. This provides an easy command-line interface to the <tt
class="FILENAME">rc.d</tt> system.</p>

<p>The <tt class="FILENAME">rc.d/ipfw</tt> script and <tt
class="FILENAME">/etc/rc.firewall</tt> now supports IPv6 and <tt
class="FILENAME">rc.d/ip6fw</tt> script and <tt class="FILENAME">/etc/rc.firewall6</tt>
are obsolete. Note that <code class="VARNAME">ipv6_firewall_*</code> variables in <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=rc.conf&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">rc.conf</span>(5)</span></a> are
replaced with <code class="VARNAME">firewall_client_net_ipv6</code>, <code
class="VARNAME">firewall_simple_iif_ipv6</code>, <code
class="VARNAME">firewall_simple_inet_ipv6</code>, <code
class="VARNAME">firewall_simple_oif_ipv6</code>, <code
class="VARNAME">firewall_simple_onet_ipv6</code>.</p>

<p>A new <tt class="FILENAME">rc.d</tt> script <tt class="FILENAME">rc.d/rtsold</tt> has
been added. This handles <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=rtsold&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">rtsold</span>(8)</span></a>
daemon.</p>

<p>A new <tt class="FILENAME">rc.d</tt> script <tt class="FILENAME">rc.d/static_arp</tt>
has been added. This allows the administrator to statically define mappings of MAC
address to IPv4 at boot time. See also the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=rc.conf&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">rc.conf</span>(5)</span></a>
manual page for more details.</p>

<p>The <tt class="FILENAME">rc.d/tmp</tt> script now uses a unique directory name
prefixed with <tt class="FILENAME">/tmp/.diskless</tt> instead of <tt
class="FILENAME">/tmp/.diskless</tt> itself. This fixes an issue when <tt
class="FILENAME">/tmp/.diskless</tt> exists before the script runs.</p>

<p>A new <tt class="FILENAME">rc.d</tt> script <tt class="FILENAME">rc.d/ubthidhci</tt>
has been added. This small script calls <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=usbconfig&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">usbconfig</span>(8)</span></a> to
change a USB Bluetooth controller from HID mode to HCI mode.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=rc.conf&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">rc.conf</span>(5)</span></a> now
supports a <code class="VARNAME">firewall_coscripts</code> variable. This should contain
a list of commands which should be executed after firewall starts or stops.</p>

<p>The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=rc.conf&sektion=5&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">rc.conf</span>(5)</span></a> now
supports configuring <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vlan&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vlan</span>(4)</span></a>
interfaces as child devices similar to <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=wlan&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">wlan</span>(4)</span></a>
interfaces. <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=vlan&sektion=4&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">vlan</span>(4)</span></a>
interfaces are listed via a new <code class="VARNAME">vlans_<tt
class="REPLACEABLE"><i>IF</i></tt></code> variable. If a VLAN interface is a number, then
that number is treated as the VLAN tag for the interface and the interface will be named
<code class="VARNAME"><tt class="REPLACEABLE"><i>IF</i></tt>.<tt
class="REPLACEABLE"><i>tag</i></tt></code>. Otherwise, the VLAN tag must be provided via
a VLAN parameter in a <code class="VARNAME">create_args_<tt
class="REPLACEABLE"><i>IF</i></tt></code> variable.</p>
</div>
</div>

<div class="SECT2">
<hr />
<h3 class="SECT2"><a id="CONTRIB" name="CONTRIB">2.4 Contributed Software</a></h3>

<p>The <b class="APPLICATION">ACPI-CA</b> has been updated to 20100304.</p>

<p>The <b class="APPLICATION">awk</b> has been updated from the 23 October 2007 release
to the 26 November 2009 release.</p>

<p><b class="APPLICATION">ISC BIND</b> has been updated to version 9.6.2-P2.</p>

<p><b class="APPLICATION">netcat</b> has been updated to version 4.7.</p>

<p><b class="APPLICATION">OpenSSH</b> has been updated from version 5.1p1 to version
5.4p1.</p>

<p><b class="APPLICATION">OpenSSL</b> has been updated to version 0.9.8n.</p>

<p><b class="APPLICATION">sendmail</b> has been updated to version 8.14.4.</p>

<p>The timezone database has been updated to the <b class="APPLICATION">tzdata2010j</b>
release.</p>
</div>

<div class="SECT2">
<hr />
<h3 class="SECT2"><a id="RELENG" name="RELENG">2.5 Release Engineering and
Integration</a></h3>

<p>The filename of ISO images for FreeBSD releases now has a <tt
class="FILENAME">FreeBSD-</tt> at the beginning.</p>

<p>The supported version of the <b class="APPLICATION">GNOME</b> desktop environment (<a
href="http://www.FreeBSD.org/cgi/url.cgi?ports/x11/gnome2/pkg-descr"><tt
class="FILENAME">x11/gnome2</tt></a>) has been updated to 2.28.2.</p>

<p>The supported version of the <b class="APPLICATION">KDE</b> desktop environment (<a
href="http://www.FreeBSD.org/cgi/url.cgi?ports/x11/kde4/pkg-descr"><tt
class="FILENAME">x11/kde4</tt></a>) has been updated to 4.4.3.</p>
</div>
</div>

<div class="SECT1">
<hr />
<h2 class="SECT1"><a id="UPGRADE" name="UPGRADE">3 Upgrading from previous releases of
FreeBSD</a></h2>

<p>[amd64, i386] Upgrades between RELEASE versions (and snapshots of the various security
branches) are supported using the <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span
class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> utility. The binary upgrade
procedure will update unmodified userland utilities, as well as unmodified GENERIC kernel
distributed as a part of an official FreeBSD release. The <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span
class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> utility requires that the host
being upgraded has Internet connectivity.</p>

<p>An older form of binary upgrade is supported through the <tt
class="COMMAND">Upgrade</tt> option from the main <a
href="http://www.FreeBSD.org/cgi/man.cgi?query=sysinstall&sektion=8&manpath=FreeBSD+8.1-RELEASE">
<span class="CITEREFENTRY"><span class="REFENTRYTITLE">sysinstall</span>(8)</span></a>
menu on CDROM distribution media. This type of binary upgrade may be useful on non-i386,
non-amd64 machines or on systems with no Internet connectivity.</p>

<p>Source-based upgrades (those based on recompiling the FreeBSD base system from source
code) from previous versions are supported, according to the instructions in <tt
class="FILENAME">/usr/src/UPDATING</tt>.</p>

<div class="IMPORTANT">
<blockquote class="IMPORTANT">
<p><b>Important:</b> Upgrading FreeBSD should, of course, only be attempted after backing
up <span class="emphasis"><i class="EMPHASIS">all</i></span> data and configuration
files.</p>
</blockquote>
</div>
</div>
</div>

<hr />
<p align="center"><small>This file, and other release-related documents, can be
downloaded from <a href="ftp://ftp.FreeBSD.org/">ftp://ftp.FreeBSD.org/</a>.</small></p>

<p align="center"><small>For questions about FreeBSD, read the <a
href="http://www.FreeBSD.org/docs.html">documentation</a> before contacting &#60;<a
href="mailto:questions@FreeBSD.org">questions@FreeBSD.org</a>&#62;.</small></p>

<p align="center"><small>For questions about this documentation, e-mail &#60;<a
href="mailto:doc@FreeBSD.org">doc@FreeBSD.org</a>&#62;.</small></p>
++++


