[FreeBSD-Announce] FreeBSD Errata Notice FreeBSD-EN-13:02.vtnet
FreeBSD Errata Notices
errata-notices at freebsd.org
Fri Jun 28 06:03:17 UTC 2013
-----BEGIN PGP SIGNED MESSAGE-----
FreeBSD-EN-13:02.vtnet Errata Notice
The FreeBSD Project
Topic: vtnet(4) network interface issue on QEMU 1.4.0 and later
Credits: Julian Stecklina and Bryan Venteicher
Affects: FreeBSD 8.4
Corrected: 2013-06-15 03:55:04 UTC (head, 10.0-CURRENT)
2013-06-25 04:42:16 UTC (stable/9, 9.1-STABLE)
2013-06-25 04:42:43 UTC (stable/8, 8.4-STABLE)
2013-06-28 05:21:59 UTC (releng/8.4, 8.4-RELEASE-p2)
For general information regarding FreeBSD Errata Notices and Security
Advisories, including descriptions of the fields above, security
branches, and the following sections, please visit
VirtIO is a specification for para-virtualized I/O in a virtual
machine. The vtnet(4) network interface driver supports VirtIO
emulated Ethernet device.
QEMU is a generic and open source machine emulator and virtualizer.
It is included as a third-party package in FreeBSD Ports Collection
II. Problem Description
The vtnet(4) network interface driver displays the following message
upon configuration when using QEMU 1.4.0 or later:
vtnet0: error setting host MAC filter table
The interface works normally when the interface has one MAC address.
However, if it has two or more MAC addresses configured, frames to
those additional MAC addresses are not forwarded to the vtnet(4)
interface. Thus, only the first MAC address works.
A vtnet(4) network interface with two or more MAC addresses configured
on it cannot receive frames to the addresses except for the first one
when the FreeBSD kernel is running on QEMU 1.4.0 or later. For the
first MAC address, the vtnet(4) interface works without problem even
though the error message is displayed.
The vtnet(4) driver is included in GENERIC kernel in FreeBSD
The additional MAC addresses can work by setting the vtnet(4) network
interface in promiscuous mode. The following command sets vtnet0 in
# ifconfig vtnet0 promisc
Note that this may lead to performance degradation.
Or, the fixed version of the vtnet(4) driver can be installed as
kernel module by using the Ports Collection (emulators/virtio-kmod).
To use it on 8.4-RELEASE, the GENERIC kernel has to be recompiled by
removing all of the virtio(4) drivers before installing
emulators/virtio-kmod. The following lines in kernel configuration
file disable the drivers:
After recompilation and installing the new kernel and
emulators/virtio-kmod, add the following lines to /boot/loader.conf.
This enables the drivers by loading kernel modules which are installed
by emulators/virtio-kmod at boot time.
Perform one of the following:
1) Upgrade your system to 8-STABLE, or 9-STABLE, or to the releng/8.4
security branch dated after the correction date.
2) To patch your present system:
The following patches have been verified to apply to FreeBSD 8.4 systems.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/EN-13:02/vtnet.patch
# fetch http://security.FreeBSD.org/patches/EN-13:02/vtnet.patch.asc
b) Apply the patch.
# cd /usr/src
# patch < /path/to/patch
c) Recompile your kernel as described in
<URL:http://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
3) To update your vulnerable system via a binary patch:
Systems running 8.4-RELEASE on the i386 or amd64 platforms can be updated
via the freebsd-update(8) utility:
# freebsd-update fetch
# freebsd-update install
VI. Correction details
The following list contains the revision numbers of each file that was
corrected in FreeBSD.
The latest revision of this Errata Notice is available at
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----
More information about the freebsd-announce