dan tropper
2008-Feb-18 18:29 UTC
[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@lists.xensource.com http://lists.xensource.com/xen-users
Gerhard Possler
2008-Feb-19 08:48 UTC
Re: [Xen-users] adding a pass-through NIC to a working PV guest breaks/alters existing interface assignments
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@gmail.com> Sent by: xen-users-bounces@lists.xensource.com 18.02.2008 19:29 To xen-users@lists.xensource.com 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@lists.xensource.com http://lists.xensource.com/xen-users _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users