[libvirt-users] can't up the eth in the vm and access to network

Osier Yang jyang at redhat.com
Wed May 4 08:56:23 UTC 2011


于 2011年05月04日 16:17, guan qin 写道:
> Hi ,
> I look into the qemu log file ,find that :
> 
> LC_ALL=C 
> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/ 
> QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 
> 1,sockets=1,cores=1,threads=1 -name vt_d_5 -uuid 
> 05f608a3-f64f-2418-a90a-d611982c8336 -nodefaults -chardev 
> socket,id=monitor,path=/var/lib/libvirt/qemu/vt_d_5.monitor,server,nowait -mon 
> chardev=monitor,mode=readline -rtc base=utc -boot c -drive 
> file=/home/qinguan/exp/kvm_vtd/ubuntu_1.img,if=none,id=drive-virtio-disk0,boot=on,format=raw 
> -device 
> virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0 
> -usb -device usb-mouse,id=input0 -vnc 127.0.0.1:0 <http://127.0.0.1:0> 
> -vga cirrus -device 
> pci-assign,host=00:19.0,id=hostdev0,bus=pci.0,addr=0x4 -device 
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
> Failed to assign irq for "hostdev0": Operation not permitted
> Perhaps you are assigning a device that shares an IRQ with another device?
> Failed to assign irq for "hostdev0": Operation not permitted
> Perhaps you are assigning a device that shares an IRQ with another device?
> Failed to assign irq for "hostdev0": Operation not permitted
> Perhaps you are assigning a device that shares an IRQ with another device?
> Failed to assign irq for "hostdev0": Operation not permitted
> Perhaps you are assigning a device that shares an IRQ with another device?
> Failed to assign irq for "hostdev0": Operation not permitted

Perhaps you need to ask in qemu-devel list for help. :)

Regards
Osier
> 
> maybe the VM can't access to the network because of Failed to assign irg 
> for "hostdev0"?
> 
> in kern.log :
> May 1 12:40:07 Optiplex-780 kernel: [ 3172.784803] e1000e 0000:00:19.0: 
> PCI INT A disabled
> May 1 12:40:07 Optiplex-780 kernel: [ 3172.784863] pci-stub 
> 0000:00:19.0: claimed by stub
> May 1 12:40:07 Optiplex-780 kernel: [ 3173.103965] pci-stub 
> 0000:00:19.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
> May 1 12:40:07 Optiplex-780 kernel: [ 3173.204030] pci-stub 
> 0000:00:19.0: restoring config space at offset 0x6 (was 0x1, writing 0xece1)
> May 1 12:40:07 Optiplex-780 kernel: [ 3173.204035] pci-stub 
> 0000:00:19.0: restoring config space at offset 0x5 (was 0x0, writing 
> 0xf7ad9000)
> May 1 12:40:07 Optiplex-780 kernel: [ 3173.204039] pci-stub 
> 0000:00:19.0: restoring config space at offset 0x4 (was 0x0, writing 
> 0xf7ae0000)
> May 1 12:40:07 Optiplex-780 kernel: [ 3173.204045] pci-stub 
> 0000:00:19.0: restoring config space at offset 0x1 (was 0x100000, 
> writing 0x100103)
> May 1 12:40:07 Optiplex-780 kernel: [ 3173.435751] assign device 0:0:19.0
> May 1 12:44:24 Optiplex-780 kernel: [ 3430.568526] pci-stub 
> 0000:00:19.0: restoring config space at offset 0x6 (was 0x1, writing 0xece1)
> May 1 12:44:24 Optiplex-780 kernel: [ 3430.568532] pci-stub 
> 0000:00:19.0: restoring config space at offset 0x5 (was 0x0, writing 
> 0xf7ad9000)
> May 1 12:44:24 Optiplex-780 kernel: [ 3430.568537] pci-stub 
> 0000:00:19.0: restoring config space at offset 0x4 (was 0x0, writing 
> 0xf7ae0000)
> May 1 12:44:24 Optiplex-780 kernel: [ 3430.568543] pci-stub 
> 0000:00:19.0: restoring config space at offset 0x1 (was 0x100000, 
> writing 0x100103)
> May 1 12:44:24 Optiplex-780 kernel: [ 3430.568561] pci-stub 
> 0000:00:19.0: PCI INT A disabled
> 
> 
> root at Optiplex-780:/var/log/libvirt/qemu# cat /proc/interrupts
> CPU0 CPU1 CPU2 CPU3
> 0: 97 1 2 1 IO-APIC-edge timer
> 1: 2 0 0 0 IO-APIC-edge i8042
> 7: 0 0 0 0 IO-APIC-edge parport0
> 8: 1 0 0 0 IO-APIC-edge rtc0
> 9: 0 0 0 0 IO-APIC-fasteoi acpi
> 12: 1 2 1 0 IO-APIC-edge i8042
> 16: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb2
> 17: 5822 1952 3614 2233 IO-APIC-fasteoi uhci_hcd:usb4, uhci_hcd:usb7
> 18: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb8
> 22: 1 1 1 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb5
> 23: 1461 1299 1153 912 IO-APIC-fasteoi ehci_hcd:usb3, uhci_hcd:usb6
> 24: 268579 0 0 0 HPET_MSI-edge hpet2
> 25: 0 286310 0 0 HPET_MSI-edge hpet3
> 26: 0 0 210675 0 HPET_MSI-edge hpet4
> 27: 0 0 0 256688 HPET_MSI-edge hpet5
> 29: 1 0 0 0 DMAR_MSI-edge dmar1
> 30: 0 0 0 0 DMAR_MSI-edge dmar0
> 31: 0 0 0 0 DMAR_MSI-edge dmar2
> 35: 0 0 0 1 PCI-MSI-edge eth1
> 36: 1456 916 1323 1657 PCI-MSI-edge eth1-rx-0
> 37: 1031 772 1459 895 PCI-MSI-edge eth1-rx-1
> 38: 958 965 785 470 PCI-MSI-edge eth1-rx-2
> 39: 1319 557 1007 714 PCI-MSI-edge eth1-rx-3
> 40: 892 864 417 1134 PCI-MSI-edge eth1-tx-0
> 41: 414 749 998 606 PCI-MSI-edge eth1-tx-1
> 42: 307 921 375 332 PCI-MSI-edge eth1-tx-2
> 43: 966 693 396 502 PCI-MSI-edge eth1-tx-3
> 54: 7109 5755 5683 5609 PCI-MSI-edge ahci
> 55: 74 105 73 84 PCI-MSI-edge hda_intel
> 56: 1446 927 1108 870 PCI-MSI-edge i915
> NMI: 0 0 0 0 Non-maskable interrupts
> LOC: 740 725 703 677 Local timer interrupts
> SPU: 0 0 0 0 Spurious interrupts
> PMI: 0 0 0 0 Performance monitoring interrupts
> PND: 0 0 0 0 Performance pending work
> RES: 665 679 714 547 Rescheduling interrupts
> CAL: 5332 408 5619 539 Function call interrupts
> TLB: 1880 2843 1788 3202 TLB shootdowns
> TRM: 0 0 0 0 Thermal event interrupts
> THR: 0 0 0 0 Threshold APIC interrupts
> MCE: 0 0 0 0 Machine check exceptions
> MCP: 5 5 5 5 Machine check polls
> ERR: 3
> MIS: 0
> root at Optiplex-780:/var/log/libvirt/qemu#
> 
> I search the similarly problems that sharing the irg but never find a 
> answer , and now I have no idea.
> How to solve the problem ,can you help me ? thanks.
> 
> best regards,
> qinguan
> 
> 
> 在 2011年5月4日 下午2:55,guan qin <qinguan0619 at gmail.com 
> <mailto:qinguan0619 at gmail.com>>写道:
> 
>     sorry for missing some information.
>     I checkd the device that :
>     # readlink /sys/bus/pci/devices/0000\:00\:19.0/driver
>     ../../../bus/pci/drivers/pci-stub
> 
>     the device has been already claimed by pci-stub and under the
>     control of pci_stub.
>     so the reason that can't up the eth in VM maybe has nothing to do
>     with the libvirt version.
> 
>     After doing the first three
>     steps:How_to_assign_devices_with_VT-d_in_KVM
>     <http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM>
>     (
>     *1. Modifying kernel config
>     **2. build kernel
>     **3. reboot and verify that your system has IOMMU support*
>     ),
>     I use "virsh create vt_d.xml" instead of the ubind/bind and assign
>     device.
>     (the kvm and kvm_intel has already been loaded)
>     should I do something others to use the VT_d?
> 
>     best regards,
>     qinguan
> 
> 
>     在 2011年5月4日 下午2:31,guan qin <qinguan0619 at gmail.com
>     <mailto:qinguan0619 at gmail.com>>写道:
> 
>         Hi,the libvirt version is 0.8.3, I just used "apt-get install
>         libvirt-bin" to install it under debian6.0.1a.
>         Is it necessary to install 0.8.4 or higher version ?
> 
>         Best regards,
>         qinguan
> 
> 
>         在 2011年5月3日 下午4:28,Osier Yang <jyang at redhat.com
>         <mailto:jyang at redhat.com>>写道:
> 
>             于 2011年05月03日 15:38, guan qin 写道:
> 
>              > Thanks a lot for your reply sincerely!
>              > Actually ,if I do as what
>              >
>             http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM
>             said,:
>              > "
>              > # echo "8086 10b9" > /sys/bus/pci/drivers/pci-stub/new_id
>              > # echo 0000:01:00.0 >
>             /sys/bus/pci/devices/0000:01:00.0/driver/unbind
>              > # echo 0000:01:00.0 > /sys/bus/pci/drivers/pci-stub/bind
>              > "
>              > Then I can assign a NIC to the VM ,and the VM also can
>             use the NIC to
>              > access the network.
>              > But , according the libvirt guide that
>              > http://libvirt.org/formatdomain.html#elementsUSB shows:
>              > "
>              > When |managed| is "yes" for a PCI device, it is detached
>             from the host
>              > before being passed on to the guest.
>              > "
>              > So should I still "unbind " the device from the host OS
>             driver first ?
>              > If that ,What's the "detached" meaning ? thanks.
>              > best regards,
>              > qinguan
> 
>             libvirt trys to detach the PCI device from host as
>             preparation when
>             starting up the domain, and it also binds the device to pci_stub
>             driver, so it's strange that you need to do it manually? what's
>             your libvirt version?
> 
>              > 在 2011年5月3日 上午8:47,David White
>             <dwhite at speakeasy.net <mailto:dwhite at speakeasy.net>
>              > <mailto:dwhite at speakeasy.net
>             <mailto:dwhite at speakeasy.net>>>写道:
>              >
>              >
>              > did you 'unbind' the device from the host OS driver?
>              >
>              >
>              > On 05/01/2011 01:38 AM, guan qin wrote:
>              >> Hi,
>              >>
>              >> I encounter a problem that the eth can't be up in the VM
>             by using
>              >> VT-d.
>              >> I boot the VM using "virsh create vt_d.xml".
>              >> The VM could recongize the NIC which was assigned .then
>             I do in VM
>              >> as follows:
>              >> #cat /sys/class/net/eth0/operstate
>              >> down
>              >> #ifconfig eth0 up
>              >> #cat /sys/class/net/eth0/operstate
>              >> down
>              >> #ficonfig eth 10.100.0.5
>              >> #cat /sys/class/net/eth0/operstate
>              >> down
>              >> more system information is attached.(uname 、ifconfig 、
>             lspci、
>              >> cmdline...)
>              >>
>              >> I can't figure out the reason why the eth is still down? can
>              >> anyone help me ?
>              >>
>              >> best regards,
>              >> qinguan
>              >>
>              >>
>              >>
>              >> vt_d.xml:
>              >> <domain type='kvm'>
>              >> <name>test</name>
>              >> <description>just test using sriov!</description>
>              >> <os>
>              >> <type>hvm</type>
>              >> <boot dev='hd'/>
>              >> </os>
>              >> <memory>524288</memory>
>              >> <currentMemory>524288</currentMemory>
>              >> <on_poweroff>destroy</on_poweroff>
>              >> <on_reboot>restart</on_reboot>
>              >> <on_crash>restart</on_crash>
>              >>
>              >> <features><pae/><acpi/><apic/></features>
>              >> <clock offset='utc'/>
>              >> <devices>
>              >> <input type='mouse' bus='usb'/>
>              >> <disk type='file' device='disk'>
>              >> <source file='/home/qinguan/exp/ubuntu_1.img'/>
>              >> <target dev='hda' bus='virtio'/>
>              >> </disk>
>              >> <emulator>/usr/bin/kvm</emulator>
>              >> <graphics type='vnc' port='-1'/>
>              >> <hostdev mode='subsystem' type='pci' managed='yes'>
>              >> <source>
>              >> <address bus='0x0' slot='0x19' function='0x0'/>
>              >> </source>
>              >> </hostdev>
>              >> </devices>
>              >> </domain>
>              >>
>              >>
>              >> _______________________________________________
>              >> libvirt-users mailing list
>              >> libvirt-users at redhat.com
>             <mailto:libvirt-users at redhat.com>
>             <mailto:libvirt-users at redhat.com
>             <mailto:libvirt-users at redhat.com>>
>              >> https://www.redhat.com/mailman/listinfo/libvirt-users
>              >
>              >
>              >
>              >
>              > _______________________________________________
>              > libvirt-users mailing list
>              > libvirt-users at redhat.com <mailto:libvirt-users at redhat.com>
>              > https://www.redhat.com/mailman/listinfo/libvirt-users
> 
> 
> 
> 




More information about the libvirt-users mailing list