Bug 1912088
Summary: | [netkvm][failover] netkvm adapter should have valid IP address after installation of VF bonding protocol | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | ybendito |
Component: | virtio-win | Assignee: | ybendito |
virtio-win sub component: | virtio-win-prewhql | QA Contact: | Yanhui Ma <yama> |
Status: | CLOSED CURRENTRELEASE | Docs Contact: | |
Severity: | unspecified | ||
Priority: | unspecified | CC: | lijin, mdean, vrozenfe, yalzhang, yanghliu, ybendito, yvugenfi |
Version: | --- | Keywords: | Triaged |
Target Milestone: | rc | ||
Target Release: | 8.0 | ||
Hardware: | Unspecified | ||
OS: | Windows | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-11-16 09:59:35 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: | 1950227 |
Description
ybendito
2021-01-03 10:31:35 UTC
Hi Yuri, There is a question that I need to confirm with you: I just started a Win10 vm with a failover VF and a failover virtio net device[1]. At this time, the failover VF gets the IP address 169.254.X.X and the failover virtio net device gets a valid IP address.[2] <--- The ip address that I obversed in the win10 vm is expected. Am I right? But it seems that the ping does not work well in the win10 vm: 1.ping local host successfully # ping 10.73.33.242 2.Fail to ping another host which is in the same network # ping 10.73.33.244 Reply from 10.73.33.240: Destination host unreachable. 3.Fail to ping the external network # ping redhat.com Ping request could not find host redhat.com. Please check the name and try again. Is the ping problem I observed is expected? Could I open a BZ for this ping problem? The detailed info is as following: [1] The device xml and qemu cmd line <interface type='bridge'> <mac address='f4:8e:38:c3:84:84'/> <source bridge='switch'/> <model type='virtio'/> <teaming type='persistent'/> </interface> <interface type='hostdev' managed='yes'> <mac address='f4:8e:38:c3:84:84'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x06' slot='0x10' function='0x0'/> </source> <teaming type='transient' persistent='net0'/> </interface> -netdev tap,fd=39,id=hostnet0,vhost=on,vhostfd=40 \ -device virtio-net-pci,failover=on,netdev=hostnet0,id=net0,mac=f4:8e:38:c3:10:10,bus=pci.1,addr=0x0 \ -device vfio-pci,host=0000:06:10.0,id=hostdev0,bus=pci.4,addr=0x0,failover_pair_id=net0 \ [2] The ip address info in the win10 vm C:\Windows\system32>ipconfig -all ... Ethernet adapter Ethernet 7: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Intel(R) 82599 Virtual Function Physical Address. . . . . . . . . : F4-8E-38-C3-10-10 DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2620:52:0:4920:536:2561:835:c520(Preferred) Temporary IPv6 Address. . . . . . : 2620:52:0:4920:99c4:91e0:9ea2:4249(Preferred) Link-local IPv6 Address . . . . . : fe80::536:2561:835:c520%6(Preferred) Autoconfiguration IPv4 Address. . : 169.254.197.32(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.0.0 Default Gateway . . . . . . . . . : fe80::46f4:77ff:feb7:6bc1%6 DHCPv6 IAID . . . . . . . . . . . : 116690488 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-27-53-E9-9A-9A-F0-FC-06-AB-14 DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1 fec0:0:0:ffff::2%1 fec0:0:0:ffff::3%1 NetBIOS over Tcpip. . . . . . . . : Enabled Ethernet adapter Ethernet 8: Connection-specific DNS Suffix . : lab.eng.pek2.redhat.com Description . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter #5 Physical Address. . . . . . . . . : F4-8E-38-C3-10-10 DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2620:52:0:4920:1579:c4a8:e140:f438(Preferred) Temporary IPv6 Address. . . . . . : 2620:52:0:4920:f534:4f00:6f60:daf1(Preferred) Link-local IPv6 Address . . . . . : fe80::1579:c4a8:e140:f438%11(Preferred) IPv4 Address. . . . . . . . . . . : 10.73.33.240(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.254.0 Lease Obtained. . . . . . . . . . : Monday, January 25, 2021 8:35:45 AM Lease Expires . . . . . . . . . . : Monday, January 25, 2021 8:35:44 PM Default Gateway . . . . . . . . . : fe80::46f4:77ff:feb7:6bc1%11 10.73.33.254 DHCP Server . . . . . . . . . . . : 10.73.2.108 DHCPv6 IAID . . . . . . . . . . . : 234131000 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-27-53-E9-9A-9A-F0-FC-06-AB-14 DNS Servers . . . . . . . . . . . : 10.73.2.107 10.73.2.108 10.66.127.10 NetBIOS over Tcpip. . . . . . . . : Enabled (In reply to Yanghang Liu from comment #1) > Hi Yuri, > > There is a question that I need to confirm with you: > > I just started a Win10 vm with a failover VF and a failover virtio net > device[1]. > > At this time, the failover VF gets the IP address 169.254.X.X and the > failover virtio net device gets a valid IP address.[2] <--- The ip address > that I obversed in the win10 vm is expected. Am I right? > This is not a proper state for this BZ. This BZ is dedicated to specific problem exactly as defined in the description. The VF starts first and gets an IP address, the virtio-net does not. Upon protocol installation the virtio-net still stays without IP address. So all the rest is not related to this BZ. There are 2 ways to get to the setup required for this BZ: 1. Start the VM with VF driver installed but without netkvm driver installed. 2. Even if both adapters have drivers installed: disable both adapters, then enable VF, then enable netkvm. Then wait, then install the protocol. Thanks for the explanation I can reproduce this problem in the following test env: Test env: 4.18.0-295.el8.x86_64 qemu-kvm-5.2.0-11.module+el8.4.0+10268+62bcbbed.x86_64 virtio-win-prewhql-0.1-196 Test step: (1) start a Win2012 vm with a failover 82599ES vf and a virtio net device The domain xml: <interface type='bridge'> <mac address='52:54:00:aa:1c:ef'/> <source network='failover-bridge' portid='c36c08da-f519-4c5f-a626-72dfda0e56e1' bridge='br0'/> <target dev='vnet0'/> <model type='virtio'/> <teaming type='persistent'/> <alias name='ua-test'/> </interface> <interface type='hostdev' managed='yes'> <mac address='52:54:00:aa:1c:ef'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x06' slot='0x10' function='0x0'/> </source> <teaming type='transient' persistent='ua-test'/> <alias name='hostdev0'/> </interface> The qemu cmd line: -netdev tap,fd=39,id=hostua-test,vhost=on,vhostfd=40 -device virtio-net-pci,failover=on,netdev=hostua-test,id=ua-test,mac=52:54:00:aa:1c:ef,bus=pci.1,addr=0x0 -device vfio-pci,host=0000:06:10.0,id=hostdev0,bus=pci.4,addr=0x0,failover_pair_id=ua-test (2) make sure the vf has a valid ip address and the virtio net device has an invalid ip address C:\Windows\system32>ipconfig -all Ethernet adapter Ethernet 2: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter #2 Physical Address. . . . . . . . . : 52-54-00-AA-1C-EF DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2620:52:0:4920:8124:5566:ee1e:e2cf(Preferred) Link-local IPv6 Address . . . . . : fe80::8124:5566:ee1e:e2cf%23(Preferred) Autoconfiguration IPv4 Address. . : 169.254.226.207(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.0.0 Default Gateway . . . . . . . . . : fe80::46f4:77ff:feb7:6bc1%23 DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1 fec0:0:0:ffff::2%1 fec0:0:0:ffff::3%1 NetBIOS over Tcpip. . . . . . . . : Enabled Ethernet adapter Ethernet 6: Connection-specific DNS Suffix . : lab.eng.pek2.redhat.com Description . . . . . . . . . . . : Intel(R) 82599 Virtual Function Physical Address. . . . . . . . . : 52-54-00-AA-1C-EF DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2620:52:0:4920:39a2:7f6d:2723:1582(Preferred) Link-local IPv6 Address . . . . . : fe80::39a2:7f6d:2723:1582%19(Preferred) IPv4 Address. . . . . . . . . . . : 10.73.33.220(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.254.0 Lease Obtained. . . . . . . . . . : Friday, March 12, 2021 9:24:20 AM Lease Expires . . . . . . . . . . : Friday, March 12, 2021 9:24:19 PM Default Gateway . . . . . . . . . : fe80::46f4:77ff:feb7:6bc1%19 10.73.33.254 DHCP Server . . . . . . . . . . . : 10.73.2.108 DNS Servers . . . . . . . . . . . : 10.73.2.107 10.73.2.108 10.66.127.10 NetBIOS over Tcpip. . . . . . . . : Enabled (3) install the VIOPROT protocol C:\Users\Administrator\Desktop\virtio-win-prewhql-0.1-196\Win8\amd64>netcfg -v -l vioprot.inf -c p -i VIOPROT Trying to install VIOPROT ... ... vioprot.inf was copied to C:\Windows\INF\oem23.inf. ... done. (4) check the network info again The virtio net device has an invalid ip address 169.254.X.X at this time. C:\Windows\system32>ipconfig -all Ethernet adapter Ethernet 2: Connection-specific DNS Suffix . : lab.eng.pek2.redhat.com Description . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter #2 Physical Address. . . . . . . . . : 52-54-00-AA-1C-EF DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2620:52:0:4920:8124:5566:ee1e:e2cf(Preferred) Link-local IPv6 Address . . . . . : fe80::8124:5566:ee1e:e2cf%23(Preferred) Autoconfiguration IPv4 Address. . : 169.254.226.207(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.0.0 Default Gateway . . . . . . . . . : fe80::46f4:77ff:feb7:6bc1%23 DNS Servers . . . . . . . . . . . : 10.73.2.107 10.73.2.108 10.66.127.10 NetBIOS over Tcpip. . . . . . . . : Enabled Merged upstream https://github.com/virtio-win/kvm-guest-drivers-windows/pull/563 Test host env: qemu-kvm-5.2.0-15.module+el8.4.0+10650+50781ca0.x86_64 4.18.0-304.el8.x86_64 virtio-win-prewhql-0.1-198 82599ES VF driver:https://downloadcenter.intel.com/download/22283 Test vm: Windows Sever 2012r2 Test step: (1) start a Windows Sever 2012r2 vm with a failover virtio net device and a failover 82599ES VF The domain xml: <interface type='bridge'> <mac address='52:54:00:aa:1c:ef'/> <source bridge='br0'/> <target dev='vnet1'/> <model type='virtio'/> <teaming type='persistent'/> <alias name='ua-test'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> <interface type='hostdev' managed='yes'> <mac address='52:54:00:aa:1c:ef'/> <driver name='vfio'/> <source> <address type='pci' domain='0x0000' bus='0x06' slot='0x10' function='0x0'/> </source> <teaming type='transient' persistent='ua-test'/> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </interface> The qemu cmd line: -netdev tap,fd=39,id=hostua-test,vhost=on,vhostfd=40 \ -device virtio-net-pci,failover=on,netdev=hostua-test,id=ua-test,mac=52:54:00:aa:1c:ef,bus=pci.1,addr=0x0 \ -device vfio-pci,host=0000:06:10.0,id=hostdev0,bus=pci.4,addr=0x0,failover_pair_id=ua-test \ (2) check the ip address of the failover virtio net device and the failover vf in the domain C:\Windows\system32>ipconfig -all Ethernet adapter Ethernet 4: Connection-specific DNS Suffix . : lab.eng.pek2.redhat.com Description . . . . . . . . . . . : Intel(R) 82599 Virtual Function Physical Address. . . . . . . . . : 52-54-00-AA-1C-EF DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2620:52:0:4920:997:fa89:d8df:59cb(Preferred) Link-local IPv6 Address . . . . . : fe80::997:fa89:d8df:59cb%25(Preferred) IPv4 Address. . . . . . . . . . . : 10.73.33.134(Preferred) <--- the failover vf has a valid ip address Subnet Mask . . . . . . . . . . . : 255.255.254.0 Lease Obtained. . . . . . . . . . : Wednesday, April 21, 2021 8:48:24 AM Lease Expires . . . . . . . . . . : Wednesday, April 21, 2021 8:48:24 PM Default Gateway . . . . . . . . . : fe80::46f4:77ff:feb7:6bc1%25 10.73.33.254 DHCP Server . . . . . . . . . . . : 10.73.2.108 DHCPv6 IAID . . . . . . . . . . . : 424825856 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-28-0F-34-72-9A-05-AC-8E-39-90 DNS Servers . . . . . . . . . . . : 10.73.2.107 10.73.2.108 10.66.127.10 NetBIOS over Tcpip. . . . . . . . : Enabled Ethernet adapter Ethernet 3: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter #2 <--- the failover virtio net device does not have any ip address Physical Address. . . . . . . . . : 52-54-00-AA-1C-EF DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes (3) install the VIOPROT protocol C:\Users\Administrator\Desktop\virtio-win-prewhql-0.1-198\Win8.1\amd64>netcfg -v -l vioprot.inf -c p -i VIOPROT Trying to install VIOPROT ... ... vioprot.inf was copied to C:\Windows\INF\oem10.inf. ... done. (4) wait a moment and check the network status again C:\Users\Administrator\Desktop\virtio-win-prewhql-0.1-198\Win8.1\amd64>ipconfig -all Ethernet adapter Ethernet 3: Connection-specific DNS Suffix . : lab.eng.pek2.redhat.com Description . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter #2 Physical Address. . . . . . . . . : 52-54-00-AA-1C-EF DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IPv6 Address. . . . . . . . . . . : 2620:52:0:4920:25d3:c106:3122:90a6(Preferred) Link-local IPv6 Address . . . . . : fe80::25d3:c106:3122:90a6%21(Preferred) IPv4 Address. . . . . . . . . . . : 10.73.33.134(Preferred) <---- the failover virtio net device has a valid ip address now Subnet Mask . . . . . . . . . . . : 255.255.254.0 Lease Obtained. . . . . . . . . . : Wednesday, April 21, 2021 9:39:25 AM Lease Expires . . . . . . . . . . : Wednesday, April 21, 2021 9:39:25 PM Default Gateway . . . . . . . . . : fe80::46f4:77ff:feb7:6bc1%21 10.73.33.254 DHCP Server . . . . . . . . . . . : 10.73.2.108 DHCPv6 IAID . . . . . . . . . . . : 357716992 DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-28-0F-34-72-9A-05-AC-8E-39-90 DNS Servers . . . . . . . . . . . : 10.73.2.107 10.73.2.108 10.66.127.10 NetBIOS over Tcpip. . . . . . . . : Enabled (5) do some ping tests (5.1) ping external network successfully C:\Users\Administrator\Desktop\virtio-win-prewhql-0.1-198\Win8.1\amd64>ping redhat.com Pinging redhat.com [10.4.204.55] with 32 bytes of data: Reply from 10.4.204.55: bytes=32 time=251ms TTL=248 Reply from 10.4.204.55: bytes=32 time=252ms TTL=248 Reply from 10.4.204.55: bytes=32 time=251ms TTL=248 Reply from 10.4.204.55: bytes=32 time=252ms TTL=248 (5.2) ping the source bridge on the local host successfully C:\Users\Administrator\Desktop\virtio-win-prewhql-0.1-198\Win8.1\amd64>ping 10.73.33.202 Pinging 10.73.33.202 with 32 bytes of data: Reply from 10.73.33.202: bytes=32 time=1ms TTL=64 Reply from 10.73.33.202: bytes=32 time<1ms TTL=64 Reply from 10.73.33.202: bytes=32 time<1ms TTL=64 Reply from 10.73.33.202: bytes=32 time<1ms TTL=64 Ping statistics for 10.73.33.202: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms Use the Win10(20H2) vm to repeat the step 1 - step 5 in comment 8 and get the same test result. Hi Yuri, Could you please help check the test result in the comment 8 and comment 9 ? Is it enough for QE to verify this bug? If you have any concerns and need QE to do more tests, please feel free to let me know. Thanks a lot for your help in advance. (In reply to Yanghang Liu from comment #10) > Hi Yuri, > > Could you please help check the test result in the comment 8 and comment 9 ? > > Is it enough for QE to verify this bug? > In general this is enough to verify. > If you have any concerns and need QE to do more tests, please feel free to > let me know. > Yes, I want more tests without specific relation to this BZ. We need to sync on testing methodology of failover under Windows, there we have more flows than under Linux: - disable/enable flows - install/uninstall protocol flows - driver update flows I think I need to create dedicated BZ for test plan of failover feature (like a tracker for all the failover issues) where we'll coordinate the test procedure for different flows/use cases related to this feature According to comment 8, comment 9 and comment 11 , move the bug status to VERIFIED. (In reply to ybendito from comment #11) > Yes, I want more tests without specific relation to this BZ. > We need to sync on testing methodology of failover under Windows, there we > have more flows than under Linux: > - disable/enable flows > - install/uninstall protocol flows > - driver update flows > > I think I need to create dedicated BZ for test plan of failover feature > (like a tracker for all the failover issues) where we'll coordinate the test > procedure for different flows/use cases related to this feature Related bug: Bug 1953171 - [netkvm] SRIOV failover: Align test plan with the SW design under Windows |