Date: Sat, 17 Aug 2019 14:25:28 +0000 From: bugzilla-noreply@freebsd.org To: virtualization@FreeBSD.org Subject: [Bug 222996] FreeBSD 11.1-12 on Hyper-V with PCI Express Pass Through Message-ID: <bug-222996-27103-ZrlxgFhGK9@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-222996-27103@https.bugs.freebsd.org/bugzilla/> References: <bug-222996-27103@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D222996 --- Comment #23 from Michael <michael.adm@gmail.com> --- Passthrough Intel X710 in Windows 2019 Gen2 Hyper-V guest Freebsd-CURRENT works, but not as we would like. Action roadmap: 1. disable the necessary adapter in the Device Manager 2. Add adapter to R03 VM $MyEth =3D Get-PnpDevice -PresentOnly | Where-Object {$_.Class -eq "Net"} | Where-Object {$_.Status -eq "Error"} $DataOfNetToDDismount =3D Get-PnpDeviceProperty DEVPKEY_Device_LocationPaths -InstanceId $MyEth[0].InstanceId $locationpath =3D ($DataOfNetToDDismount).data[0] Dismount-VmHostAssignableDevice -locationpath $locationpath -force Get-VMHostAssignableDevice Add-VMAssignableDevice -LocationPath $locationpath -VMName R03 R03 dmesg: pcib0: <Hyper-V PCI Express Pass Through> on vmbus0 pci0: <PCI bus> on pcib0 ixl0: <Intel(R) Ethernet Controller X710 for 10GbE SFP+ - 2.1.0-k> at device 0.0 on pci0 ixl0: fw 5.40.47690 api 1.5 nvm 5.40 etid 80002d35 oem 1.264.0 ixl0: PF-ID[1]: VFs 64, MSI-X 129, VF MSI-X 5, QPs 768, I2C ixl0: Using 1024 TX descriptors and 1024 RX descriptors ixl0: queue equality override not set, capping rx_queues at 4 and tx_queues= at 4 ixl0: Using 4 RX queues 4 TX queues ixl0: Using MSI-X interrupts with 5 vectors ixl0: Ethernet address: 3c:fd:fe:21:02:e2 ixl0: Allocating 4 queues for PF LAN VSI; 4 queues active ixl0: PCI Express Bus: Speed 8.0GT/s Width x8 ixl0: Failed to initialize SR-IOV (error=3D2) ixl0: netmap queues/slots: TX 4/1024, RX 4/1024 ixl0: Link is up, 10 Gbps Full Duplex, Requested FEC: None, Negotiated FEC: None, Autoneg: False, Flow Control: Full ixl0: link state changed to UP 3. Add vlan to ixl0 root@r03:~ # ifconfig vlan48 create root@r03:~ # ifconfig vlan48 vlan 48 vlandev ixl0 root@r03:~ # ifconfig vlan48 inet 10.10.221.51/24 root@r03:~ # ping 10.10.221.1 PING 10.10.221.1 (10.10.221.1): 56 data bytes ping: sendto: Network is down ping: sendto: Network is down ^C --- 10.10.221.1 ping statistics --- 2 packets transmitted, 0 packets received, 100.0% packet loss root@r03:~ # ifconfig ixl0 up root@r03:~ # ping 10.10.221.1 PING 10.10.221.1 (10.10.221.1): 56 data bytes 64 bytes from 10.10.221.1: icmp_seq=3D0 ttl=3D64 time=3D0.965 ms 64 bytes from 10.10.221.1: icmp_seq=3D1 ttl=3D64 time=3D0.381 ms 64 bytes from 10.10.221.1: icmp_seq=3D2 ttl=3D64 time=3D0.526 ms ^C --- 10.10.221.1 ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev =3D 0.381/0.624/0.965/0.248 ms 4. Remove X710 adapter from R03 VM for "neutered" live migration $locationpath =3D (Get-VmHostAssignableDevice).LocationPath Remove-VMAssignableDevice -LocationPath $locationpath -VMName R03 Mount-VmHostAssignableDevice -locationpath $locationpath R03 dmesg: ixl0: Vlan in use, detach first ixl0: Vlan in use, detach first pcib0: detached ixl0: Vlan in use, detach first 5. Adding again the adapter to the migrated R03 VM (#1 and #2) root@r03:~ # ifconfig ... ixl0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 =20=20=20=20=20=20=20 options=3De507bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSU= M,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether 3c:fd:fe:21:02:e2 media: Ethernet autoselect (10GBase-AOC <full-duplex,rxpause,txpaus= e>) status: active nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> vlan48: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1= 500 options=3D600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV= 6> ether 3c:fd:fe:21:02:e2 inet 10.10.221.51 netmask 0xffffff00 broadcast 10.10.221.255 groups: vlan vlan: 48 vlanpcp: 0 parent interface: ixl0 media: Ethernet autoselect (10GBase-AOC <full-duplex,rxpause,txpaus= e>) status: active nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> ixl1: flags=3D8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 =20=20=20=20=20=20=20 options=3De507bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSU= M,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether 3c:fd:fe:21:02:e2 media: Ethernet autoselect (10GBase-AOC <full-duplex,rxpause,txpaus= e>) status: active nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> root@r03:~ # ping 10.10.221.1 PING 10.10.221.1 (10.10.221.1): 56 data bytes ^C --- 10.10.221.1 ping statistics --- 5 packets transmitted, 0 packets received, 100.0% packet loss How to make the adapter return to its place, rather than "double" in ixl1. = Live migration is one of the cornerstones of virtualization. And what threatens, for normal functioning, an error message: ixl0: Failed to initialize SR-IOV (error=3D2) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-222996-27103-ZrlxgFhGK9>