Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-6900

[virtual network][rhel9.2][windows]Enable netkvm driver TxLSO,no packet length >= 1514 after file transfer

    • None
    • Moderate
    • sst_cs_infra_services
    • ssg_core_services
    • 16
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • If docs needed, set a value
    • None

      Description of problem:
      Enable netkvm driver TxLSO,there is no packet length >= 1514 after file transfer.

      Version-Release number of selected component (if applicable):
      kernel-5.14.0-174.el9.x86_64
      qemu-kvm-7.1.0-2.el9.x86_64
      edk2-ovmf-20220526git16779ede2d36-4.el9.noarch
      virtio-win-prewhql-0.1-227.iso

      How reproducible:
      always

      Steps to Reproduce:
      1.Boot a windows guest
      /usr/libexec/qemu-kvm \
      -name 'avocado-vt-vm1' \
      -sandbox on \
      -blockdev node-name=file_ovmf_code,driver=file,filename=/usr/share/OVMF/OVMF_CODE.secboot.fd,auto-read-only=on,discard=unmap \
      -blockdev node-name=drive_ovmf_code,driver=raw,read-only=on,file=file_ovmf_code \
      -blockdev node-name=file_ovmf_vars,driver=file,filename=/root/avocado/data/avocado-vt/avocado-vt-vm1_win2022-64-virtio-scsi_qcow2_filesystem_VARS.fd,auto-read-only=on,discard=unmap \
      -blockdev node-name=drive_ovmf_vars,driver=raw,read-only=off,file=file_ovmf_vars \
      -machine q35,memory-backend=mem-machine_mem,pflash0=drive_ovmf_code,pflash1=drive_ovmf_vars \
      -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x1,chassis=1 \
      -device pcie-pci-bridge,id=pcie-pci-bridge-0,addr=0x0,bus=pcie-root-port-0 \
      -nodefaults \
      -device VGA,bus=pcie.0,addr=0x2 \
      -m 12000 \
      -object memory-backend-ram,size=12000M,id=mem-machine_mem \
      -smp 24,maxcpus=24,cores=12,threads=1,dies=1,sockets=2 \
      -cpu 'Icelake-Server',ss=on,vmx=on,pdcm=on,hypervisor=on,tsc-adjust=on,avx512ifma=on,sha-ni=on,rdpid=on,fsrm=on,md-clear=on,stibp=on,arch-capabilities=on,xsaves=on,ibpb=on,ibrs=on,amd-stibp=on,amd-ssbd=on,rdctl-no=on,ibrs-all=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,tsx-ctrl=on,hle=off,rtm=off,mpx=off,intel-pt=off,hv_stimer,hv_synic,hv_vpindex,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_frequencies,hv_runtime,hv_tlbflush,hv_reenlightenment,hv_stimer_direct,hv_ipi,kvm_pv_unhalt=on \
      -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x1.0x1,bus=pcie.0,chassis=2 \
      -device qemu-xhci,id=usb1,bus=pcie-root-port-1,addr=0x0 \
      -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
      -device pcie-root-port,id=pcie-root-port-2,port=0x2,addr=0x1.0x2,bus=pcie.0,chassis=3 \
      -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie-root-port-2,addr=0x0 \
      -blockdev node-name=file_image1,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/kvm_autotest_root/images/win2022-64-virtio-scsi.qcow2,cache.direct=on,cache.no-flush=off \
      -blockdev node-name=drive_image1,driver=qcow2,read-only=off,cache.direct=on,cache.no-flush=off,file=file_image1 \
      -device scsi-hd,id=image1,drive=drive_image1,write-cache=on \
      -device pcie-root-port,id=pcie-root-port-3,port=0x3,addr=0x1.0x3,bus=pcie.0,chassis=4 \
      -device virtio-net-pci,mac=9a:68:f3:47:a3:b6,id=idu1RFWM,netdev=idTu1SNV,bus=pcie-root-port-3,addr=0x0 \
      -netdev tap,id=idTu1SNV,vhost=on \
      -blockdev node-name=file_cd1,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/kvm_autotest_root/iso/windows/winutils.iso,cache.direct=on,cache.no-flush=off \
      -blockdev node-name=drive_cd1,driver=raw,read-only=on,cache.direct=on,cache.no-flush=off,file=file_cd1 \
      -device scsi-cd,id=cd1,drive=drive_cd1,write-cache=on \
      -blockdev node-name=file_virtio,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/kvm_autotest_root/iso/windows/virtio-win-prewhql-0.1-227.iso,cache.direct=on,cache.no-flush=off \
      -blockdev node-name=drive_virtio,driver=raw,read-only=on,cache.direct=on,cache.no-flush=off,file=file_virtio \
      -device scsi-cd,id=virtio,drive=drive_virtio,write-cache=on \
      -vnc :0 \
      -rtc base=localtime,clock=host,driftfix=slew \
      -boot menu=off,order=cdn,once=c,strict=off \
      -enable-kvm \
      -device pcie-root-port,id=pcie_extra_root_port_0,multifunction=on,bus=pcie.0,addr=0x3,chassis=5 \
      -monitor stdio \

      2.make sure netkvm verifier has been enabled

      3.Install winpcap
      D:\AutoIt3_%PROCESSOR_ARCHITECTURE%.exe D:\install_winpcap.au3

      4.Prepare the netkvmco.dll
      xcopy E:\NetKVM\2k22\amd64\netkvmco.dll c:\ /y && rundll32 netkvmco.dll,RegisterNetKVMNetShHelper

      5.Enable scatter gather
      netsh netkvm setparam 0 param=Offload.TxLSO value=1

      6.Restart nic to apply changes
      netsh interface set interface name="Ethernet Instance 0" admin=DISABLED
      netsh interface set interface name="Ethernet Instance 0" admin=ENABLED

      7.Log network traffic with scatter gather enabled & Start wireshark session
      start "" "C:\Program Files\Wireshark\tshark.exe" -n -w c:\temp.pcapng tcp and dst 192.168.122.1 and src 192.168.122.95

      tasklist /fi "IMAGENAME eq tshark.exe"

      8.Start file transfer.Start file transfer --> Transferring file host -> guest

      9.Stop wireshark
      taskkill /im tshark.exe /f

      10.Parse wireshark log file
      "C:\Program Files\Wireshark\tshark.exe" -2 -r c:\temp.pcapng -R "frame.len>1514"
      No packet length >= 1514

      Actual results:
      No packet length >= 1514

      Expected results:
      enable netkvm driver TxLSO,some packets length should over 1514

      Additional info:
      1. Automation log: http://virtqetools.lab.eng.pek2.redhat.com/autotest_static_job_log/7105480/test-results/060-Host_RHEL.m9.u2.ovmf.qcow2.virtio_scsi.up.virtio_net.Guest.Win2022.x86_64.io-github-autotest-qemu.enable_scatter_windows.q35/
      2. qemu-kvm-7.1.0-1.el9.x86_64 also hit this problem

            mruprich@redhat.com Michal Ruprich
            rhn-support-leiyang Lei Yang
            Michal Ruprich Michal Ruprich
            Frantisek Hrdina Frantisek Hrdina
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: