This patch fixes duplicated MAC address when multi-port NIC is
assigned to HVM domain.
Currently multi-function device is shown as two single function
devices. e1000e driver and igb driver for linux add 1 to MAC address of
second port of multi-port NIC. But they don't add 1 to MAC address of
second port if NIC is single-function device. Because of this, the MAC
addresses of the first port and the second port are duplicated.
The patch make Header Type register passthrough-type. This means a
multi-function device is shown as two multi-function devices which
implement only one function. So e1000e driver and igb driver add 1 to
MAC address of second port.
When we use windows guest, the same issue occurs, the patch fix it.
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
.u.b.write = pt_byte_reg_write,
.u.b.restore = pt_byte_reg_restore,
},
- /* Header Type reg */
- {
- .offset = PCI_HEADER_TYPE,
- .size = 1,
- .init_val = 0x00,
- .ro_mask = 0xFF,
- .emu_mask = 0x80,
- .init = pt_common_reg_init,
- .u.b.read = pt_byte_reg_read,
- .u.b.write = pt_byte_reg_write,
- .u.b.restore = NULL,
- },
/* Interrupt Line reg */
{
.offset = PCI_INTERRUPT_LINE,