RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 611423 - [RHEL6-Xen] [RFE] support pcifront in PV guests
Summary: [RHEL6-Xen] [RFE] support pcifront in PV guests
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.1
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Andrew Jones
QA Contact: Virtualization Bugs
URL:
Whiteboard:
: 523638 672470 (view as bug list)
Depends On:
Blocks: 523117 668977
TreeView+ depends on / blocked
 
Reported: 2010-07-05 08:26 UTC by XinSun
Modified: 2016-02-09 13:29 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-09-29 07:08:16 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
xend.log (13.03 KB, text/plain)
2010-07-05 08:26 UTC, XinSun
no flags Details
rhel6-pv-latest (449 bytes, text/plain)
2010-07-05 09:09 UTC, XinSun
no flags Details

Description XinSun 2010-07-05 08:26:30 UTC
Created attachment 429485 [details]
xend.log

Description of problem:
After assigning pci network device to rhel6 beta2 pv guest, I can not see the pci network device "eth1" displayed in guest.

Version-Release number of selected component (if applicable):
xen-libs-3.0.3-113.el5
xen-debuginfo-3.0.3-113.el5
kernel-xen-2.6.18-204.el5
xen-devel-3.0.3-113.el5
kernel-xen-devel-2.6.18-204.el5
xen-3.0.3-113.el5

How reproducible:
Always

Steps to Reproduce:
1.Create a Rhel6 beta2 pv guest with pci network device:
   # xm create rhel6-pv-latest
2.In rhel6 pv guest, run "ifconfig -a" command
  
Actual results:
There was not "eth1" device  listed.


Expected results:
You can see there was "eth1" device listed


Additional info:
Please see the attachment: xend.log

Comment 1 XinSun 2010-07-05 09:09:30 UTC
Created attachment 429493 [details]
rhel6-pv-latest

Please see the guest's config file: rhel6-pv-latest

Comment 2 Miroslav Rezanina 2010-07-07 12:58:45 UTC
Can you please attach lspci output from guest?

Comment 3 XinSun 2010-07-09 08:08:36 UTC
I try this on latest rhel6 beta 2 again:
tree: http://download.englab.nay.redhat.com/rel-eng/RHEL6.0-20100707.4/6.0/Server/i386/os/

After pci network device pass-through to guest, in host, I can see the guest has this pci device:
[root@dhcp-66-70-10 ~]# xm pci-list 29
domain   bus   slot   func
0    3     0      0

But in guest itself, I can not see this pci network device(eth1), and no any outputting after running "lspci" command:

[root@dhcp-66-70-13]lspci
[root@dhcp-66-70-13 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:36:7F:4E:BC  
          inet addr:10.66.70.24  Bcast:10.66.70.255  Mask:255.255.255.0
          inet6 addr: 3ffe:501:ffff:100:216:36ff:fe7f:4ebc/64 Scope:Global
          inet6 addr: fe80::216:36ff:fe7f:4ebc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1198 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:147851 (144.3 KiB)  TX bytes:7489 (7.3 KiB)
          Interrupt:10 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Comment 4 Don Dutile (Red Hat) 2010-07-09 20:03:46 UTC
Please provide lspci output from guest as requested in c#2.

Also, provide lspci output from host (to see if driver still bound to 03).

Comment 5 XinSun 2010-07-12 05:03:32 UTC
(In reply to comment #4)
> Please provide lspci output from guest as requested in c#2.

After running "lspci" command in guest,there is nothing in guest, this has mentioned in comment #3.  Please see the follow line again:

[root@dhcp-93-188]# lspci
[root@dhcp-93-188]#
[root@dhcp-93-188]# uname -r
2.6.32-44.el6.x86_64
[root@dhcp-93-188]# uname -a
Linux dhcp-93-188.nay.redhat.com 2.6.32-44.el6.x86_64 #1 SMP Wed Jul 7 15:47:50 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
[root@dhcp-93-188]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.0 Beta (Santiago)

> Also, provide lspci output from host (to see if driver still bound to 03). 
follow messages are get from host:

[root@dhcp-93-182 ~]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     1433     2 r-----    162.4
rhel6-pv-latest                            2      512     1 -b----      5.7

[root@dhcp-93-182 ~]# xm pci-list 2
domain   bus   slot   func
0    3     0      0      

I use 8139 network pci to do pass-through to guest:
[root@dhcp-93-182 ~]# lspci
00:00.0 Host bridge: Intel Corporation 82Q35 Express DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 82Q35 Express PCI Express Root Port (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)
00:02.1 Display controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)
00:03.0 Communication controller: Intel Corporation 82Q35 Express MEI Controller (rev 02)
00:03.2 IDE interface: Intel Corporation 82Q35 Express PT IDER Controller (rev 02)
00:03.3 Serial controller: Intel Corporation 82Q35 Express Serial KT Controller (rev 02)
00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IO (ICH9DO) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

root@dhcp-93-182 ~]# lspci | grep 8139
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Comment 12 Miroslav Rezanina 2010-12-13 12:35:31 UTC
Based on comment #10 moving to kernel

Comment 14 Paolo Bonzini 2011-01-05 10:00:59 UTC
*** Bug 523638 has been marked as a duplicate of this bug. ***

Comment 15 Pasi Karkkainen 2011-01-05 10:06:46 UTC
xen-pcifront support for PCI passthrough to PV domU is now included in the
upstream Linux 2.6.37 kernel.

RHEL6 kernel does not yet have xen-pcifront driver.

Comment 16 Andrew Jones 2011-01-25 10:28:21 UTC
*** Bug 672470 has been marked as a duplicate of this bug. ***

Comment 17 Paolo Bonzini 2011-04-20 13:49:32 UTC
(old-to-new)

bfc5501 (swiotlb: Make internal bookkeeping functions have 'swiotlb_tbl' prefix.)
d7ef153 (swiotlb: Make swiotlb bookkeeping functions visible in the header file.)
b097186 (swiotlb-xen: SWIOTLB library for Xen PV guest with PCI passthrough.)
bbbe573 (pci-swiotlb-xen: Add glue code to setup dma_ops utilizing)
fe96eb4 (x86: Detect whether we should use Xen SWIOTLB.)
0794bfc (xen: identity map gsi->irqs)
3a69e91 (xen: Find an unbound irq number in reverse order (high to low).)
d9a8814 (xen: Provide a variant of xen_poll_irq with timeout.)
15ebbb8 (xen: fix shared irq device passthrough)
7c94def (x86/PCI: Export pci_walk_bus function.)
956a920 (xen-pcifront: Xen PCI frontend driver.)
2775609 (swiotlb-xen: On x86-32 builts, select SWIOTLB instead of depending on it.)
5bba6c5 (X86/PCI: Remove the dependency on isapnp_disable.)
1233471 (xen/events: Use PIRQ instead of GSI value when unmapping MSI/MSI-X irqs.)
db2e2e6 (xen-pcifront: don't use flush_scheduled_work())
1d46105 (xen-pcifront: Sanity check the MSI/MSI-X values)
55cb8cd (pci/xen: Use xen_allocate_pirq_msi instead of xen_allocate_pirq)
cc0f89c (pci/xen: Cleanup: convert int** to int[])
3d74a53 (pci/xen: When free-ing MSI-X/MSI irq->desc also use generic code)
c0011db (xen: use _PAGE_IOMAP in ioremap to do machine mappings)
7347b40 (xen: Allow unprivileged Xen domains to create iomap pages)

In addition, I think these are not needed but if they are they'd go after fe96eb4:

0444ad9 (x86, iommu: Add IOMMU_INIT macros, .iommu_table section, and iommu_table_entry structure)
480125b (x86, iommu: Make all IOMMU's detection routines return a value.)
5bef80a (x86, iommu: Add proper dependency sort routine (and sanity check).)
efa631c (x86, swiotlb: Simplify SWIOTLB pci_swiotlb_detect routine.)
c116c54 (x86, swiotlb: Make SWIOTLB use IOMMU_INIT_* macros.)
5cb3a26 (x86, xen-swiotlb: Make Xen-SWIOTLB use IOMMU_INIT_* macros.)
d2aa232 (x86, calgary: Make Calgary IOMMU use IOMMU_INIT_* macros.)
22e6daf (x86, GART/AMD-VI: Make AMD GART and IOMMU use IOMMU_INIT_* macros.)
4db77ff (x86, VT-d: Make Intel VT-d IOMMU use IOMMU_INIT_* macros.)
ee1f284 (x86, iommu: Utilize the IOMMU_INIT macros functionality.)
7ac41cc (x86, iommu: Fix IOMMU_INIT alignment rules)

I may of course have missed some.

Comment 20 Yudan Wang 2011-08-25 03:04:46 UTC
[root@localhost ~]# uname -r
2.6.18-278.el5xen
[root@localhost]#
[root@localhost ~]# xm pci-list-assignable-devices
0000:03:10.1
0000:03:10.0
0000:03:10.2
0000:03:10.3
0000:03:10.4
0000:03:10.5
0000:03:10.6
0000:03:10.7
0000:03:11.0
0000:03:11.1
0000:03:11.2
0000:03:11.3
0000:03:11.4
0000:03:11.5
[root@localhost ~]#
[root@localhost ~]# xm cr xen-pv-guest-6.2-x86_64.cfg pci='0000:03:10.0','0000:03:10.1','0000:03:10.2','0000:03:10.3','0000:03:10.4','0000:03:10.5','0000:03:10.6','0000:03:10.7','0000:03:11.0','0000:03:11.1'
[root@localhost yudwang]# xm li
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     6951     4 r-----    149.0
xen-pv-guest-6.2-x86_64                    3     1024     1 -b----     10.9
[root@localhost ~]# xm pci-list 3
domain   bus   slot   func
0    3     10     0      
[root@localhost ~]#


[root@pv_guest ~]# uname -r
2.6.32-191.el6.x86_64
[root@pv_guest ~]#
[root@virtlab-66-84-79 ~]# lspci 
[root@virtlab-66-84-79 ~]#

Comment 21 Yuyu Zhou 2011-08-25 03:46:47 UTC
Please ignore comment 20, as we tested, this bug is not fixed yet.

Comment 23 Pasi Karkkainen 2011-11-13 13:25:15 UTC
xen-pcifront is included in upstream Linux kernel, so backport to rhel6 kernel should be possible.

Comment 24 Paolo Bonzini 2011-11-13 13:34:06 UTC
We chose not to support pcifront in RHEL6 because it is not secure in the RHEL5 hypervisor (no iommu support).


Note You need to log in before you can comment on or make changes to this bug.