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

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

To: "dan tropper" <dan.tropper@xxxxxxxxx>
Subject: Re: [Xen-users] adding a pass-through NIC to a working PV guest breaks/alters existing interface assignments
From: Gerhard Possler <gerhard.possler@xxxxxxxxxx>
Date: Tue, 19 Feb 2008 09:48:26 +0100
Cc: xen-users@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 19 Feb 2008 00:49:14 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <920ecf320802181029w40216b1ag427b9508430d687e@xxxxxxxxxxxxxx>
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>
References: <920ecf320802181029w40216b1ag427b9508430d687e@xxxxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx

Hi Dan,

if you use SLES/openSUSE take a look at udev...in DomU (/etc/udev/rules.d/30-net_persistent_names.rules)

Gerhard



"dan tropper" <dan.tropper@xxxxxxxxx>
Sent by: xen-users-bounces@xxxxxxxxxxxxxxxxxxx

18.02.2008 19:29

To
xen-users@xxxxxxxxxxxxxxxxxxx
cc
Subject
[Xen-users] adding a pass-through NIC to a working PV guest        breaks/alters existing interface assignments





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

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
<Prev in Thread] Current Thread [Next in Thread>