[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 0/7] Implement SR-IOV support for PVH


  • To: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Fri, 25 Sep 2026 12:55:54 -0400
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VBYnBOZDM3nu9WVWq1DMFGITKg/TPb8Fsu1LyWjoZNk=; b=VlOl36EYODdZbpyrVIm7SyIIHezFtp5M4L3tAhE8YAUT2nfSR/A3I4QDJDJhUS+yqPaGaeZGGuCcHCqaz2Mn/qkIvuB1dFOldQTVK2FaauPAEWylFbu92Pwk6r7hL8qAk8nMsKtCvHEQ0xNyZpFxPG/dCUW1dgWxI9Fy05ZvtDRGgEu/w3dp9EkTvVRWZzI+EM+7OIrazvj1tIoQHjwKZvuAAiQI43xurynJ2ORlRaFItkk3EyRZBIWZj4+t9tW2SZA9dh36Gej1RqANmHDEgynyWUDuewzJmBlucNaVGyWrW/HsEpDzY4j5nXHaIgpkkDGGuau9XkBGKuRsQQAZFA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GxEkftyMq1yKIK/lY3PT3rX/Y3sha5QlP4asq31hzVN4Gr2A1xfgw4zoyxeCXxhNdlOpJ/yYqFA70GgarGhvhuOYC/CfWqZGvQ+jFEICg05V3k2BNkQHW2+2QOeBprCmhMWNJc+/B8KAkN80/GxFHj7RmipLu7pjbouSxXnzfxW4PSxBMBnZ6KZ8xcwjHcp6Kl9JS21WPa0jxuUB2sXM+GI5dTwrQLZvI5CC+rHsw7n8cOXwTfUiqva9ESrGd3U8j3kuqCHSVjwvh42pG+XqvjN5+gNqCLwPWLzH2tmSce27y+6Fq5/ykuIRkJ+GdDkQJ11LJHF4R3nMUWVR11Vhxg==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>, "Stewart Hildebrand" <stewart.hildebrand@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, "Julien Grall" <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 25 Sep 2026 16:58:24 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2026-04-09 10:01, Mykyta Poturai wrote:
This series enables support for PCI SR-IOV capability for PVH domains.
It allows Dom0 to enable and use SR-IOV virtual functions and for these
functions to be passed to guests.

To achieve this, add handlers for SRIOV_CONTROL registers, simplified handlers
for VFs headers. Xen relies on dom0 to enable SR-IOV and call
PHYSDEVOP_pci_device_* to inform about addition/removal of VFs.

Core functionality is based on previous work[1].

Tested on R-Car Spider board with Samsung NVMe SSD Controller 980 and Intel
X550T ethernet card.

Hi Mykyta,

I'm testing these patches from the patchew branch https://gitlab.com/xen-project/patchew/xen/-/tree/patchew/cover.1775742115.git.mykyta._5Fpoturai@xxxxxxxx?ref_type=tags with an Intel 82576 card which uses the igb driver. I think your X550T testing uses the ixgbe drvier.

SR-IOV capabilities are exposed, and I can create VFs (PF c4:00.0, VF c4:10.0). However, the VF network interfaces don't work. They can't get an IP address. The PF reports "Detected Tx Unit Hang" as seen in the log snippet below. I trimmed out some "Spoof event" and "invalid MAC filter messages" from Xen. I also included some baremetal logs which don't have "Spoof event" messages. On baremetal, the interface gets an IP and is usable.

This is an x86 PVH dom0, but you tested with ARM? Do you know if there are any other dependencies for this patch series? I'll keep looking at it, but I figured I'd ask first.

Thanks,
Jason

PVH dom0:
12:20:34: igb 0000:c4:00.0: 1 VFs allocated
12:20:34: pci 0000:c4:10.0: [8086:10ca] type 00 class 0x020000 PCIe Endpoint
12:20:34: igbvf 0000:c4:10.0: enabling device (0000 -> 0002)
12:20:34: igbvf 0000:c4:10.0: MAC address not assigned by administrator.
12:20:34: igbvf 0000:c4:10.0: Assigning random MAC address.
12:20:34: igbvf 0000:c4:10.0: Intel(R) 82576 Virtual Function
12:20:34: igbvf 0000:c4:10.0: Address: a6:26:55:1d:6b:92
12:20:34: igbvf 0000:c4:10.0 enp196s0f0v0: renamed from eth0
12:20:34: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:20:34: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:20:34: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:20:37: igb 0000:c4:00.0 enp196s0f0: igb: enp196s0f0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
12:20:39: igbvf 0000:c4:10.0: Link is Up 1000 Mbps Full Duplex
12:20:39: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00

12:22:17: igb 0000:c4:00.0: Spoof event(s) detected on VF 0
12:22:51: igb 0000:c4:00.0 enp196s0f0: NETDEV WATCHDOG: CPU: 1: transmit queue 0 timed out 5004 ms
12:22:51: igb 0000:c4:00.0: Detected Tx Unit Hang
            Tx Queue             <0>
            TDH                  <78>
            TDT                  <83>
            next_to_use          <83>
            next_to_clean        <78>
          buffer_info[next_to_clean]
            time_stamp           <ffffa303>
            next_to_watch        <ffff88812e03c790>
            jiffies              <ffffbca5>
            desc.status          <160200>
12:22:51: igb 0000:c4:00.0 enp196s0f0: Reset adapter
12:22:53: igbvf 0000:c4:10.0: Link is Down

Baremetal:
12:51:01: igb 0000:c4:00.0: 1 VFs allocated
12:51:02: pci 0000:c4:10.0: [8086:10ca] type 00 class 0x020000 PCIe Endpoint
12:51:02: pci 0000:c4:10.0: Adding to iommu group 35
12:51:02: igbvf 0000:c4:10.0: enabling device (0000 -> 0002)
12:51:02: igbvf 0000:c4:10.0: MAC address not assigned by administrator.
12:51:02: igbvf 0000:c4:10.0: Assigning random MAC address.
12:51:02: igbvf 0000:c4:10.0: Intel(R) 82576 Virtual Function
12:51:02: igbvf 0000:c4:10.0: Address: 5a:d0:88:3d:0d:44
12:51:02: igbvf 0000:c4:10.0 enp196s0f0v0: renamed from eth0
12:51:02: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:02: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:02: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:05: igb 0000:c4:00.0 enp196s0f0: igb: enp196s0f0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
12:51:05: igbvf 0000:c4:10.0: Link is Up 1000 Mbps Full Duplex
12:51:05: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:05: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:05: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:05: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:05: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:05: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:05: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00 12:51:05: igb 0000:c4:00.0: VF 0 attempted to set invalid MAC filter 00:00:00:00:00:00




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.