Bug 1142737

Summary: [virtio-win][netkvm]interface status is '2', but expect status is '7' after set_link NIC off
Product: Red Hat Enterprise Linux 7 Reporter: Chengyou Liu <cheliu>
Component: virtio-winAssignee: Yvugenfi <yvugenfi>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: urgent    
Version: 7.1CC: chayang, coli, knoel, lijin, lmiksik, mdeng, michen, ovasik, qiguo, rbalakri, rpacheco, scui, shuang, virt-maint, vrozenfe, xuhan, yvugenfi
Target Milestone: betaKeywords: Regression, TestBlocker
Target Release: 7.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: virtio-win-prewhql-0.1-99 Doc Type: Bug Fix
Doc Text:
NO_DOCS
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-24 08:44:16 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:

Description Chengyou Liu 2014-09-17 10:16:12 UTC
Description of problem:
interface status is '2', but expect status is '7' after set_link off

Version-Release number of selected component (if applicable):
kernel-2.6.32-502.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.445.el6.x86_64
virtio-win-prewhql-0.1-91

How reproducible:
100%

Steps to Reproduce:
1. boot a guest win8.1-i386 with -device virtio-net-pci

2. update the NIC driver with virtio-win-prewhql-0.1-91

3. #set_link idjbgQ8J off

4. run "wmic nic where macaddress="9a:90:91:92:93:94" get netconnectionstatus" in guest cmd

Actual results:
after step 4:
NetConnectionStatus
2

Expected results:
after step 4:
NetConnectionStatus
7


Additional info:
1. Command line as following:
/usr/bin/qemu-kvm \
    -S  \
    -name 'virt-tests-vm1' \
    -M rhel6.6.0  \
    -nodefaults  \
    -vga qxl  \
    -global qxl-vga.vram_size=33554432 \
    -device AC97,bus=pci.0,addr=03  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20140917-235114-E7XlVC5N,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20140917-235114-E7XlVC5N,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20140917-235114-E7XlVC5N,path=/tmp/seabios-20140917-235114-E7XlVC5N,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20140917-235114-E7XlVC5N,iobase=0x402 \
    -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=04 \
    -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.0,addr=05 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=native,file=/root/autotest-devel/client/tests/virt/shared/data/images/win8-32.1-virtio.qcow2 \
    -device scsi-hd,id=image1,drive=drive_image1 \
    -device virtio-net-pci,mac=9a:90:91:92:93:94,id=idW2JMrm,vectors=4,netdev=idjbgQ8J,bus=pci.0,addr=06  \
    -netdev tap,id=idjbgQ8J,vhost=on  \
    -m 4096  \
    -smp 1,maxcpus=1,cores=1,threads=1,sockets=1  \
    -cpu 'Opteron_G2',+sep,hv_relaxed \
    -drive id=drive_cd1,if=none,snapshot=off,aio=native,media=cdrom,file=/root/autotest-devel/client/tests/virt/shared/data/isos/windows/winutils.iso \
    -device scsi-cd,id=cd1,drive=drive_cd1 \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -spice port=3000,password=123456,addr=0,image-compression=auto_glz,zlib-glz-wan-compression=auto,streaming-video=all,agent-mouse=on,playback-compression=on,ipv4  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off \
    -enable-kvm \
-monitor stdio \
-snapshot

2. Host info:
processor	: 15
vendor_id	: AuthenticAMD
cpu family	: 21
model		: 1
model name	: AMD Opteron(tm) Processor 4284                 
stepping	: 2
cpu MHz		: 3000.140
cache size	: 2048 KB
physical id	: 1
siblings	: 8
core id		: 7
cpu cores	: 4
apicid		: 23
initial apicid	: 23
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bogomips	: 5999.59
TLB size	: 1536 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb

Comment 2 Chengyou Liu 2014-09-18 02:34:02 UTC
Hit that problem with virtio-win-1.7.2 once only.

Comment 3 Mike Cao 2014-09-18 02:46:43 UTC
(In reply to Chengyou Liu from comment #2)
> Hit that problem with virtio-win-1.7.2 once only.

Can you help to reproduce the issue on virtio-win-1.7.2 and virtio-win-prewhql-91 on RHEL7 host ?

Comment 4 Chengyou Liu 2014-09-19 03:35:43 UTC
Hi Mike,

I've reproduced the issue with virtio-win-prewhql-91 on RHEL7. And can't reproduce this with virtio-win-1.7.2 on RHEL7.

By the way, ping is normal to me. It doesn't get reply after set_link off and It works again after set_link on. Both on RHEL6 & RHEL7, ping works well with virtio-win-1.7.2 and virtio-win-prewhql-91.

Thanks,
Chengyou

Comment 5 Mike Cao 2014-09-19 05:19:47 UTC
(In reply to Chengyou Liu from comment #4)
> Hi Mike,
> 
> I've reproduced the issue with virtio-win-prewhql-91 on RHEL7. And can't
> reproduce this with virtio-win-1.7.2 on RHEL7.

Based on above , this is a regression in internal build 
> 
> By the way, ping is normal to me. It doesn't get reply after set_link off
> and It works again after set_link on. Both on RHEL6 & RHEL7, ping works well
> with virtio-win-1.7.2 and virtio-win-prewhql-91.
> 

That's WHQL required and it is made by design . set_link off is emulate the action to unplug the network cable

Mike
> Thanks,
> Chengyou

Comment 11 lijin 2014-09-28 09:38:12 UTC
*** Bug 1147228 has been marked as a duplicate of this bug. ***

Comment 12 lijin 2014-09-28 09:40:40 UTC
win2k8-32/64 hit the same issue when run build92 netkvm whql job "Ethernet - NDISTest 6.5 (Manual)" 

package info:
qemu-kvm-rhev-2.1.0-4.el7.x86_64
kernel-3.10.0-165.el7.x86_64
seabios-1.7.5-4.el7.x86_64
virtio-win-prewhql-92

1.get following error message as following:
Warning 9/27/2014 12:49:22.265 PM Did not receive the WMI connect event within 300 seconds . This is probably a bug in the NIC driver for Red Hat VirtIO Ethernet Adapter. It may not have indicated the media connect status to NDIS or may not have connected back. 
Error 9/27/2014 12:49:22.265 PM Connect event from the NIC driver for device Red Hat VirtIO Ethernet Adapter was not received. This is probably a bug in the driver. It may not have indicated the media connect event to NDIS or may not have connected back. 

2.checked guest connection status in guest as comment#0,also get NetConnectionStatus 2

Comment 14 Mike Cao 2014-09-29 01:20:40 UTC
This bug also a testblocker based on comment #12.

Comment 16 Ronen Hod 2014-11-18 17:25:41 UTC
Deferred to 7.2, as we will ship an older build of NetKVM (that already passed WHQL) for 7.1.

Comment 18 Yossi Hindin 2015-03-11 15:41:25 UTC
The bug was apparently fixed in b99; please, test the issue with the latest build.

   Regards,
      Joseph Hindin

Comment 19 lijin 2015-03-12 03:02:11 UTC
with build 101,job "Ethernet - NDISTest 6.5 (Manual)" can pass on win2k8-32/64 guests

Comment 20 Mike Cao 2015-03-12 07:41:03 UTC
Move status to VERIFIED according to comment #19

Comment 23 errata-xmlrpc 2015-11-24 08:44:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2513.html