qemu network adapter initialization fails when using macaddr=<multicast MAC-address>

Bug #495566 reported by Roman Fiedler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Wishlist
Unassigned

Bug Description

Not sure if ultra-strange, nondocumented feature in qemu (or linux kernel) or really bug: Network card initialization fails if first byte of mac address is not 00. The problem occurs at least with model=pcnet/rtl8139, in both cases the network adapter is not usable.

How to reproduce:

* Take standard initrd/kernel (tested with hardy)

* Start qemu (cmd see below) and enter "modprobe pcnet32" at prompt:
qemu -name SetupTest -no-acpi -m 128 -drive file=/dev/null,if=ide,index=0 -net nic,macaddr=00:22:33:44:55:66,model=pcnet -net user -kernel vmlinuz-2.6.24-26-generic -initrd initrd.img-2.6.24-26-generic -append break=premount

You will see "pcnet32 ... at 0x..., 00:22:33:44:55:66

* Do same with mac address 11:22:33:44:55:66
qemu -name SetupTest -no-acpi -m 128 -drive file=/dev/null,if=ide,index=0 -net nic,macaddr=11:22:33:44:55:66,model=pcnet -net user -kernel vmlinuz-2.6.24-26-generic -initrd initrd.img-2.6.24-26-generic -append break=premount

You will see "pcnet32 ... at 0x..., 00:00:00:00:00:00

The network adapter is non-functional, "ip link set eth0 up" does not report error, but does not work (indicates at least some linux kernel influence)

With the rtl8139 adapter, mac-address in guest is correct, but adapter does not work either (indicates qemu influence)

Revision history for this message
Roman Fiedler (roman-fiedler-deactivatedaccount) wrote :

Tested other mac addrs, seems that the first byte has to be even. Would it make sense to issue a warning if a user requests a mac address with an odd first byte? What is the special meaning of the bit 0?

Revision history for this message
Anthony Liguori (anthony-codemonkey) wrote :

That bit indicates whether the address is a multicast or unicast address. A network card cannot have a multicast address.

It would make sense to do sanity checking for this.

Changed in qemu:
importance: Undecided → Wishlist
status: New → Confirmed
summary: - qemu network adapter initialization fails depending on macaddr=
- parameter
+ qemu network adapter initialization fails when using macaddr=<multicast
+ MAC-address>
Revision history for this message
Thomas Huth (th-huth) wrote :

A check for multicast MAC addresses has been introduced by this commit here:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=d60b20cf2ae6644b051
So I think we can close this ticket now.

Changed in qemu:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.