Bug 1004629

Summary: libvirt should forbid to define or start 'hostdev' network which contains PF pci addresses
Product: Red Hat Enterprise Linux 6 Reporter: hongming <honzhang>
Component: libvirtAssignee: Laine Stump <laine>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.5CC: acathrow, dyuan, mzhan, xuzhang
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1004676 (view as bug list) Environment:
Last Closed: 2014-04-04 20:56:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1004676    

Description hongming 2013-09-05 05:35:58 UTC
Description of problem:
libvirt should forbid to define or start 'hostdev' network which contains PF pci addresses.It is failed to assigned VF to guest when the first pci nic device of hostdev network is PF.

Version-Release number of selected component (if applicable):
libvirt-0.10.2-23.el6.x86_64 

How reproducible:
100%

Steps to Reproduce:
# lspci|grep 82576
0e:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)          <==== PF address
0e:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
0f:10.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:10.1 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:10.2 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:10.3 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:10.4 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:10.5 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:10.6 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:10.7 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:11.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:11.1 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:11.2 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:11.3 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:11.4 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
0f:11.5 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
10:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
10:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
11:10.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)               <==== VF address
11:10.1 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:10.2 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:10.3 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:10.4 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:10.5 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:10.6 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:10.7 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:11.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:11.1 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:11.2 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:11.3 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:11.4 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
11:11.5 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)


# virsh net-dumpxml hostnet
<network>
  <name>hostnet</name>
  <uuid>6b49be3c-bb91-c16d-b475-2929678720f4</uuid>
  <forward mode='hostdev' managed='yes'>
    <address type='pci' domain='0x0000' bus='0x0e' slot='0x00' function='0x0'/>  <==== PF address
    <address type='pci' domain='0x0000' bus='0x11' slot='0x10' function='0x0'/>  <==== VF address
  </forward>
</network>

# virsh attach-device r6 vfpool.xml
error: Failed to attach device from vfpool.xml
error: unsupported configuration: Interface type hostdev is currently supported on SR-IOV Virtual Functions only

# virsh attach-device r6 vfpool.xml
error: Failed to attach device from vfpool.xml
error: unsupported configuration: Interface type hostdev is currently supported on SR-IOV Virtual Functions only 


Actual results:
It is failed to assigned VF to guest when the first pci nic device of hostdev network is PF.

Expected results:
libvirt should forbid to define or start 'hostdev' network which contains PF pci addresses

Additional info:

Comment 5 RHEL Program Management 2014-04-04 20:56:59 UTC
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.