I've setup a PV guest domain with two Xen bridge interfaces. It works fine.
Trying to pass through a real NIC from the host messes up the guest's
interfaces assignments.
I don't know what I'm doing wrong, or need to do differently.
Here's what I've done so far.
1st, configuring the guest with just bridge interfaces
vif = [ 'mac=aa:bb:cc:dd:ee:01, bridge=xenbr1, vifname=vif.1'
'mac=aa:bb:cc:dd:ee:02, bridge=xenbr2, vifname=vif.2' ]
and,
/etc/sysconfig/network-scripts/
ifcfg-eth1 -> HWADDR=aa:bb:cc:dd:ee:01
ifcfg-eth2 -> HWADDR=aa:bb:cc:dd:ee:02
it launches with no errors, with eth1 & eth2 both 'up'.
Next, added an Intel NIC on the host,
lspci | grep Intel
04:07.0 Ethernet controller: Intel Corporation 82541PI Gigabit
Ethernet Controller (rev 05)
and, have enabled pci passtrhough from the host.
/etc/modprobe.conf ->
options pciback hide=(0000:04:07.0)
install e1000 /sbin/modprobe pciback ; /sbin/modprobe --first-time
--ignore-install e1000
alias eth0 e1000
/boot/grub/grub.conf ->
module /vmlinuz.xen ro root=/dev/VG/root pciback.permissive
pciback.hide=(04:07.0)
and, modded the xen guest config to
pci = [ '04:07.0' ]
vif = [ 'mac=aa:bb:cc:dd:ee:01, bridge=xenbr1, vifname=vif.1'
'mac=aa:bb:cc:dd:ee:02, bridge=xenbr2, vifname=vif.2' ]
Launch of this config completes, and I can ssh to the guest.
I can see the passed-through real NIC in the guest.
lspci
00:00.0 Ethernet controller: Intel Corporation 82541PI Gigabit
Ethernet Controller (rev 05)
But ifconfig only show eth1 (the intfc I can ssh to) as 'up'.
Trying to bring up interfaces fails for eth0,
ifconfig eth0 up
eth0: unknown interface: No such device
and succeeds for 'eth2'
ifconfig eth2 up
But eth2 is now 'up' with the real NIC's MACaddr,
ifconfig eth2 | grep HWaddr
eth2 Link encap:Ethernet HWaddr 00:3C:2D:14:D6:2C
instead of the MAC assigned to xenbr2, as before.
In 'dmesg' output,
...
PCI: setting up Xen PCI frontend stub
...
pcifront pci-0: Installing PCI frontend
pcifront pci-0: Creating PCI Frontend Bus 0000:00
...
Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI
Copyright (c) 1999-2006 Intel Corporation.
PCI: Enabling device 0000:00:00.0 (0000 -> 0003)
e1000: 0000:00:00.0: e1000_validate_option: Transmit Descriptors set to 4096
e1000: 0000:00:00.0: e1000_validate_option: Receive Descriptors set to 4096
e1000: 0000:00:00.0: e1000_validate_option: Checksum Offload Disabled
e1000: 0000:00:00.0: e1000_validate_option: Flow Control Enabled
e1000: 0000:00:00.0: e1000_validate_option: Transmit Interrupt Delay set to 0
e1000: 0000:00:00.0: e1000_validate_option: Receive Interrupt Delay set to 0
e1000: 0000:00:00.0: e1000_check_options: Interrupt Throttling Rate
(ints/sec) turned off
e1000: 0000:00:00.0: e1000_check_copper_options: Using
Autonegotiation at 1000 Mbps Full Duplex only
e1000: 0000:00:00.0: e1000_probe: (PCI:33MHz:32-bit) 00:3C:2D:14:D6:2C
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
...
netfront: Initialising virtual ethernet driver.
netfront: device eth1 has copying receive path.
netfront: device eth2 has copying receive path.
...
It looks like the Intel NIC is being probed on eth0, but then is
assigned to eth2.
I've probably missed something in required configuration, but don't know what.
Can someone help straigthen me out?
Thanks.
Dan Tropper
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|