WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

[Xen-users] adding a pass-through NIC to a working PV guest breaks/alter

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] adding a pass-through NIC to a working PV guest breaks/alters existing interface assignments
From: "dan tropper" <dan.tropper@xxxxxxxxx>
Date: Mon, 18 Feb 2008 10:29:22 -0800
Delivery-date: Mon, 18 Feb 2008 10:30:18 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=CmSqW84TTVWPuvmDFy7bw33eSy/JNIpSHqABJZpGdKE=; b=LWnrhk4uyJOi3MAGPs/5e8lmPWTe9G3+iQSTTxaHrqiDxWqnS6+r69+gXag+7IShuBCB1Zf5S1ivWJ1AQU8Ocw9Kd1sTs4tldkYMw/lVxX3js36yCvGFaVmCT++IdrCTrwRHLKwwUghnEzwe/BOEEBtaIsvBCL4CcWfBPb/Uzx0=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=XmZEB14QQ959BCrHBboK8e+bWq02HeNHTCSs+q24spTNo5AtqdWvs0/bV3ku58jhPryXSDXeOmlskUpP2VLPwES9ISC3kIN0nitNWVNZ8UN3en3JMjioK+8jLjEimWhEgg9y9VrsHAOm1Z34icVDTplEFYP/Tz4VZeL5StLAzA0=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>