Uploaded image for project: 'Fast Datapath Product'
  1. Fast Datapath Product
  2. FDP-1056

ice/ixgbe driver: run iperf ipv4 test failed when running ovs qinq or ovs dpdk qinq svlan case

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • rhel-10
    • ovs-dpdk
    • ice/ixgbe driver: run iperf ipv4 test failed when running ovs qinq or ovs dpdk qinq svlan case
    • 8
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      Please mark each item below with ( / ) if completed or ( x ) if incomplete:

      ( ) The acceptance criteria defined below are met.

      Given an environment running RHEL 10.0 with the ice driver and configured for OVS qinq VLANs,

      When an iperf IPv4 test is executed between two VMs,

      Then the test should complete successfully without errors and match the performance observed in RHEL 9.4.


      ( ) The epics work is available in a downstream build (nightly/Async or other)


      ( ) All cards under the epic have been moved to Done

      Show
      Please mark each item below with ( / ) if completed or ( x ) if incomplete: ( ) The acceptance criteria defined below are met. Given an environment running RHEL 10.0 with the ice driver and configured for OVS qinq VLANs, When an iperf IPv4 test is executed between two VMs, Then the test should complete successfully without errors and match the performance observed in RHEL 9.4. ( ) The epics work is available in a downstream build (nightly/Async or other) ( ) All cards under the epic have been moved to Done
    • rhel-10
    • rhel-net-ovs-dpdk
    • 100% To Do, 0% In Progress, 0% Done
    • ssg_networking

      This epic tracks all the effort needed to deliver the solution related to the bug described below.

       Problem Description: Clearly explain the issue.

      ice driver: run iperf ipv4 test failed when running ovs or ovs dpdk qinq svlan case on rhel10.0
       

       Impact Assessment: Describe the severity and impact (e.g., network down,availability of a workaround, etc.).

      When configure the ovs qinq svlan topo, it can ping successfully, but do iperf test fail. This issue only occur on ice driver of rhel10.0. It has no issue on rhel9.4. It also has no issue on other driver cards(i40e,mlx5_core) on rhel10.0.
       

       Software Versions: Specify the exact versions in use (e.g.,openvswitch3.1-3.1.0-147.el8fdp).

      kernel-6.12.0-36.el10
      openvswitch3.3-3.3.0-21.el10fdp.x86_64 
       

        Issue Type: Indicate whether this is a new issue or a regression (if a regression, state the last known working version).

      It has no issue on rhel9.4, but it has issue on rhel10.0. so It should be a regression bug.
       

       Reproducibility: Confirm if the issue can be reproduced consistently. If not, describe how often it occurs.

      It can reproduced.

       Reproduction Steps: Provide detailed steps or scripts to replicate the issue.

      on 740-57 server:

      ip link set mtu 1500 dev vnet1
       ovs-vsctl add-br ovsbr0
       ovs-vsctl add-br ovsbr1
       ovs-vsctl add-br ovsbr2
       ip link set ovsbr1 up
       ip link set ovsbr2 up
       ovs-vsctl add-port ovsbr1 vnet1 -- set port vnet1 vlan_mode=access tag=3
       ovs-vsctl add-port ovsbr2 vnet3 -- set port vnet3 vlan_mode=access tag=4
       ovs-vsctl add-port ovsbr0 ens1f3 -- set port ens1f3 vlan_mode=trunk trunks=5,6
       ip link add name veth0 type veth peer name veth1
       ip link set veth0 up
       ip link set veth1 up
       ovs-vsctl add-port ovsbr1 veth0 -- set port veth0 vlan_mode=trunk trunks=3
       ip link add name veth2 type veth peer name veth3
       ip link set veth2 up
       ip link set veth3 up
       ovs-vsctl add-port ovsbr2 veth2 -- set port veth2 vlan_mode=trunk trunks=4
       ovs-vsctl add-port ovsbr0 veth1
       ovs-vsctl add-port ovsbr0 veth3
       ovs-vsctl set Port veth1 vlan_mode=dot1q-tunnel tag=5
       ovs-vsctl set Port veth3 vlan_mode=dot1q-tunnel tag=6
      [root@dell-per740-57 ~]# ovs-vsctl show
      97b50a4f-e124-434c-a83a-8c6649a5dc76
          Bridge ovsbr0
              Port ens1f3
                  trunks: [5, 6]
                  Interface ens1f3
              Port veth1
                  tag: 5
                  Interface veth1
              Port ovsbr0
                  Interface ovsbr0
                      type: internal
              Port veth3
                  tag: 6
                  Interface veth3
          Bridge ovsbr1
              Port vnet1
                  tag: 3
                  Interface vnet1
              Port ovsbr1
                  Interface ovsbr1
                      type: internal
              Port veth0
                  trunks: [3]
                  Interface veth0
          Bridge ovsbr2
              Port ovsbr2
                  Interface ovsbr2
                      type: internal
              Port veth2
                  trunks: [4]
                  Interface veth2
              Port vnet3
                  tag: 4
                  Interface vnet3
          ovs_version: "3.3.4-67.el9fdp"
      

      start g1 with g1.xml
      start g2 with g2.xml

      [root@dell-per740-57 ~]# virsh dumpxml g1
      <domain type='kvm' id='1'>
        <name>g1</name>
        <uuid>f9c92805-af28-4190-ba79-5ad318f72aa7</uuid>
        <memory unit='KiB'>2097152</memory>
        <currentMemory unit='KiB'>2097152</currentMemory>
        <vcpu placement='static'>2</vcpu>
        <resource>
          <partition>/machine</partition>
        </resource>
        <os>
          <type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
          <boot dev='hd'/>
        </os>
        <features>
          <acpi/>
          <apic/>
        </features>
        <cpu mode='host-passthrough' check='none' migratable='on'/>
        <clock offset='utc'>
          <timer name='rtc' tickpolicy='catchup'/>
          <timer name='pit' tickpolicy='delay'/>
          <timer name='hpet' present='no'/>
        </clock>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>destroy</on_crash>
        <pm>
          <suspend-to-mem enabled='no'/>
          <suspend-to-disk enabled='no'/>
        </pm>
        <devices>
          <emulator>/usr/libexec/qemu-kvm</emulator>
          <disk type='file' device='disk'>
            <driver name='qemu' type='qcow2'/>
            <source file='/var/lib/libvirt/images/g1.qcow2' index='1'/>
            <backingStore/>
            <target dev='vda' bus='virtio'/>
            <alias name='virtio-disk0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
          </disk>
          <controller type='usb' index='0' model='ich9-ehci1'>
            <alias name='usb'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci1'>
            <alias name='usb'/>
            <master startport='0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci2'>
            <alias name='usb'/>
            <master startport='2'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci3'>
            <alias name='usb'/>
            <master startport='4'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
          </controller>
          <controller type='pci' index='0' model='pci-root'>
            <alias name='pci.0'/>
          </controller>
          <interface type='bridge'>
            <mac address='00:de:ad:6e:01:01'/>
            <source bridge='virbr0'/>
            <target dev='vnet0'/>
            <model type='virtio'/>
            <alias name='net0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
          </interface>
          <interface type='bridge'>
            <mac address='00:de:ad:6e:01:02'/>
            <source network='vnet_g1' portid='f352b0e1-14eb-44cf-9076-5b685cbc7995' bridge='ovsbr0'/>
            <virtualport type='openvswitch'>
              <parameters interfaceid='d59d621f-ee89-4224-97eb-c4ec23c9ddaf'/>
            </virtualport>
            <target dev='vnet1'/>
            <model type='virtio'/>
            <alias name='net1'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
          </interface>
          <serial type='pty'>
            <source path='/dev/pts/0'/>
            <target type='isa-serial' port='0'>
              <model name='isa-serial'/>
            </target>
            <alias name='serial0'/>
          </serial>
          <console type='pty' tty='/dev/pts/0'>
            <source path='/dev/pts/0'/>
            <target type='serial' port='0'/>
            <alias name='serial0'/>
          </console>
          <input type='tablet' bus='usb'>
            <alias name='input0'/>
            <address type='usb' bus='0' port='1'/>
          </input>
          <input type='mouse' bus='ps2'>
            <alias name='input1'/>
          </input>
          <input type='keyboard' bus='ps2'>
            <alias name='input2'/>
          </input>
          <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
            <listen type='address' address='0.0.0.0'/>
          </graphics>
          <audio id='1' type='none'/>
          <video>
            <model type='vga' vram='16384' heads='1' primary='yes'/>
            <alias name='video0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
          </video>
          <memballoon model='virtio'>
            <alias name='balloon0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
          </memballoon>
        </devices>
        <seclabel type='dynamic' model='selinux' relabel='yes'>
          <label>system_u:system_r:svirt_t:s0:c817,c834</label>
          <imagelabel>system_u:object_r:svirt_image_t:s0:c817,c834</imagelabel>
        </seclabel>
        <seclabel type='dynamic' model='dac' relabel='yes'>
          <label>+107:+991</label>
          <imagelabel>+107:+991</imagelabel>
        </seclabel>
      </domain>
      
      [root@dell-per740-57 ~]# virsh dumpxml g2
      <domain type='kvm' id='2'>
        <name>g2</name>
        <uuid>9a42300f-66fa-41a2-8c39-5f0c42db4572</uuid>
        <memory unit='KiB'>2097152</memory>
        <currentMemory unit='KiB'>2097152</currentMemory>
        <vcpu placement='static'>2</vcpu>
        <resource>
          <partition>/machine</partition>
        </resource>
        <os>
          <type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
          <boot dev='hd'/>
        </os>
        <features>
          <acpi/>
          <apic/>
        </features>
        <cpu mode='host-passthrough' check='none' migratable='on'/>
        <clock offset='utc'>
          <timer name='rtc' tickpolicy='catchup'/>
          <timer name='pit' tickpolicy='delay'/>
          <timer name='hpet' present='no'/>
        </clock>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>destroy</on_crash>
        <pm>
          <suspend-to-mem enabled='no'/>
          <suspend-to-disk enabled='no'/>
        </pm>
        <devices>
          <emulator>/usr/libexec/qemu-kvm</emulator>
          <disk type='file' device='disk'>
            <driver name='qemu' type='qcow2'/>
            <source file='/var/lib/libvirt/images/g2.qcow2' index='1'/>
            <backingStore/>
            <target dev='vda' bus='virtio'/>
            <alias name='virtio-disk0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
          </disk>
          <controller type='usb' index='0' model='ich9-ehci1'>
            <alias name='usb'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci1'>
            <alias name='usb'/>
            <master startport='0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci2'>
            <alias name='usb'/>
            <master startport='2'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci3'>
            <alias name='usb'/>
            <master startport='4'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
          </controller>
          <controller type='pci' index='0' model='pci-root'>
            <alias name='pci.0'/>
          </controller>
          <interface type='bridge'>
            <mac address='00:de:ad:6e:01:11'/>
            <source bridge='virbr0'/>
            <target dev='vnet2'/>
            <model type='virtio'/>
            <alias name='net0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
          </interface>
          <interface type='bridge'>
            <mac address='00:de:ad:6e:01:12'/>
            <source network='vnet_g2' portid='6c0cb455-0d60-4455-ae54-be5d26e7264a' bridge='ovsbr0'/>
            <virtualport type='openvswitch'>
              <parameters interfaceid='aaff290b-99b1-4ea3-ace9-effe41b42fbe'/>
            </virtualport>
            <target dev='vnet3'/>
            <model type='virtio'/>
            <alias name='net1'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
          </interface>
          <serial type='pty'>
            <source path='/dev/pts/1'/>
            <target type='isa-serial' port='0'>
              <model name='isa-serial'/>
            </target>
            <alias name='serial0'/>
          </serial>
          <console type='pty' tty='/dev/pts/1'>
            <source path='/dev/pts/1'/>
            <target type='serial' port='0'/>
            <alias name='serial0'/>
          </console>
          <input type='tablet' bus='usb'>
            <alias name='input0'/>
            <address type='usb' bus='0' port='1'/>
          </input>
          <input type='mouse' bus='ps2'>
            <alias name='input1'/>
          </input>
          <input type='keyboard' bus='ps2'>
            <alias name='input2'/>
          </input>
          <graphics type='vnc' port='5901' autoport='yes' listen='0.0.0.0'>
            <listen type='address' address='0.0.0.0'/>
          </graphics>
          <audio id='1' type='none'/>
          <video>
            <model type='vga' vram='16384' heads='1' primary='yes'/>
            <alias name='video0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
          </video>
          <memballoon model='virtio'>
            <alias name='balloon0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
          </memballoon>
        </devices>
        <seclabel type='dynamic' model='selinux' relabel='yes'>
          <label>system_u:system_r:svirt_t:s0:c751,c918</label>
          <imagelabel>system_u:object_r:svirt_image_t:s0:c751,c918</imagelabel>
        </seclabel>
        <seclabel type='dynamic' model='dac' relabel='yes'>
          <label>+107:+991</label>
          <imagelabel>+107:+991</imagelabel>
        </seclabel>
      </domain>
      

      inside g1:

       iptables -F
       ip6tables -F
        systemctl stop firewalld
        systemctl stop NetworkManager
      ip link set ens4 mtu 1942
        ip addr add 172.31.210.1/24 dev ens4
      ip addr add 2001:0db8:210::1/64 dev ens4
      

      inside g2:

       iptables -F
       ip6tables -F
        systemctl stop firewalld
        systemctl stop NetworkManager
      ip link set ens4 mtu 1942
        ip addr add 172.31.210.11/24 dev ens4
      ip addr add 2001:0db8:210::11/64 dev ens4
      

      inside g1:

      [root@localhost ~]# ip a
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute 
             valid_lft forever preferred_lft forever
      2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:de:ad:3c:01:01 brd ff:ff:ff:ff:ff:ff
          altname enp0s3
          inet6 fe80::8440:32dd:3c6f:7be5/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:de:ad:3c:01:02 brd ff:ff:ff:ff:ff:ff
          altname enp0s4
          inet 172.31.160.1/24 scope global ens4
             valid_lft forever preferred_lft forever
          inet6 2001:db8:160::1/64 scope global 
             valid_lft forever preferred_lft forever
      
      

      inside g2:

      [root@localhost ~]# ip a
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute 
             valid_lft forever preferred_lft forever
      2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:de:ad:3c:01:11 brd ff:ff:ff:ff:ff:ff
          altname enp0s3
          inet6 fe80::a57c:a4a2:c0d0:cd5a/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:de:ad:3c:01:12 brd ff:ff:ff:ff:ff:ff
          altname enp0s4
          inet 172.31.160.11/24 scope global ens4
             valid_lft forever preferred_lft forever
          inet6 2001:db8:160::11/64 scope global 
             valid_lft forever preferred_lft forever
      
      

      in 750-37 client:

         ip link set mtu 1500 dev vnet1
       ovs-vsctl add-br ovsbr0
       ovs-vsctl add-br ovsbr1
       ovs-vsctl add-br ovsbr2
       ip link set ovsbr1 up
       ip link set ovsbr2 up
       ovs-vsctl add-port ovsbr1 vnet1 -- set port vnet1 vlan_mode=access tag=3
       ovs-vsctl add-port ovsbr2 vnet3 -- set port vnet3 vlan_mode=access tag=4
       ovs-vsctl add-port ovsbr0 ens7f1 -- set port ens7f1 vlan_mode=trunk trunks=5,6
       ip link add name veth0 type veth peer name veth1
       ip link set veth0 up
       ip link set veth1 up
       ovs-vsctl add-port ovsbr1 veth0 -- set port veth0 vlan_mode=trunk trunks=3
       ip link add name veth2 type veth peer name veth3
       ip link set veth2 up
       ip link set veth3 up
       ovs-vsctl add-port ovsbr2 veth2 -- set port veth2 vlan_mode=trunk trunks=4
       ovs-vsctl add-port ovsbr0 veth1
       ovs-vsctl add-port ovsbr0 veth3
       ovs-vsctl set Port veth1 vlan_mode=dot1q-tunnel tag=5
       ovs-vsctl set Port veth3 vlan_mode=dot1q-tunnel tag=6
       [root@dell-per750-37 ~]# ovs-vsctl show
      a1d98e5e-09e0-4512-8969-c023b2328dce
          Bridge ovsbr1
              Port veth0
                  trunks: [3]
                  Interface veth0
              Port vnet1
                  tag: 3
                  Interface vnet1
              Port ovsbr1
                  Interface ovsbr1
                      type: internal
          Bridge ovsbr0
              Port ens7f1
                  trunks: [5, 6]
                  Interface ens7f1
              Port veth3
                  tag: 6
                  Interface veth3
              Port veth1
                  tag: 5
                  Interface veth1
              Port ovsbr0
                  Interface ovsbr0
                      type: internal
          Bridge ovsbr2
              Port vnet3
                  tag: 4
                  Interface vnet3
              Port veth2
                  trunks: [4]
                  Interface veth2
              Port ovsbr2
                  Interface ovsbr2
                      type: internal
          ovs_version: "3.3.4-67.el9fdp"
          
      

      inside g1:

       iptables -F
       ip6tables -F
        systemctl stop firewalld
        systemctl stop NetworkManager
      ip link set ens4 mtu 1942
        ip addr add 172.31.210.2/24 dev ens4
      ip addr add 2001:0db8:210::2/64 dev ens4
      

      inside g2:

        iptables -F
       ip6tables -F
        systemctl stop firewalld
        systemctl stop NetworkManager
      ip link set ens4 mtu 1942
        ip addr add 172.31.210.12/24 dev ens4
      ip addr add 2001:0db8:210::12/64 dev ens4
      

      inside g1:

      [root@localhost ~]# ip a
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute 
             valid_lft forever preferred_lft forever
      2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:de:ad:3c:02:01 brd ff:ff:ff:ff:ff:ff
          altname enp0s3
          inet6 fe80::85c:cd18:7820:a0ff/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:de:ad:3c:02:02 brd ff:ff:ff:ff:ff:ff
          altname enp0s4
          inet 172.31.160.2/24 scope global ens4
             valid_lft forever preferred_lft forever
          inet6 2001:db8:160::2/64 scope global 
             valid_lft forever preferred_lft forever
      
      

      inside g2:

      [root@localhost ~]# ip a
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute 
             valid_lft forever preferred_lft forever
      2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:de:ad:3c:02:11 brd ff:ff:ff:ff:ff:ff
          altname enp0s3
          inet6 fe80::e4bc:48f9:120f:6153/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1492 qdisc fq_codel state UP group default qlen 1000
          link/ether 00:de:ad:3c:02:12 brd ff:ff:ff:ff:ff:ff
          altname enp0s4
          inet 172.31.160.12/24 scope global ens4
             valid_lft forever preferred_lft forever
          inet6 2001:db8:160::12/64 scope global 
             valid_lft forever preferred_lft forever
      

      inside g1 of 740-57, ping the ipv4 and ipv6 address inside g1 of 750-37
      [root@localhost ~]# ping 172.31.210.2
      [root@localhost ~]#ping6 2001:0db8:210::2

      [root@localhost ~]# ping 172.31.210.2 -c 10
      PING 172.31.210.2 (172.31.210.2) 56(84) bytes of data.
      64 bytes from 172.31.210.2: icmp_seq=1 ttl=64 time=3.27 ms
      64 bytes from 172.31.210.2: icmp_seq=2 ttl=64 time=0.582 ms
      64 bytes from 172.31.210.2: icmp_seq=3 ttl=64 time=0.527 ms

      [root@localhost ~]# ping6 2001:0db8:210::2 -c 10
      PING 2001:0db8:210::2(2001:db8:210::2) 56 data bytes
      64 bytes from 2001:db8:210::2: icmp_seq=1 ttl=64 time=2.99 ms
      64 bytes from 2001:db8:210::2: icmp_seq=2 ttl=64 time=0.574 ms
      64 bytes from 2001:db8:210::2: icmp_seq=3 ttl=64 time=0.499 ms

      [root@localhost ~]# tcpdump -i ens4 -vven
      dropped privs to tcpdump
      tcpdump: listening on ens4, link-type EN10MB (Ethernet), snapshot length 262144 bytes
      21:10:36.268475 00:de:ad:6e:01:02 > 00:de:ad:6e:02:02, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 12341, offset 0, flags [DF], proto ICMP (1), length 84)
      172.31.210.1 > 172.31.210.2: ICMP echo request, id 12, seq 1, length 64
      21:10:36.268493 00:de:ad:6e:02:02 > 00:de:ad:6e:01:02, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 12496, offset 0, flags [none], proto ICMP (1), length 84)
      172.31.210.2 > 172.31.210.1: ICMP echo reply, id 12, seq 1, length 64

      inside g1 of 740-57, start iperf3 server with iperf3 -s -p 59876.
      inside g1 of 740-57, run iperf3 test with ipv4 address and ipv6 address
      [root@localhost ~]# iperf3 -c 172.31.210.2 -p 59876 --connect-timeout=10000
      Connecting to host 172.31.210.2, port 59876
      iperf3: error - control socket has closed unexpectedly

      [root@localhost ~]# iperf3 -c 2001:0db8:210::2 -p 59876 --connect-timeout=10000
      Connecting to host 2001:0db8:210::2, port 59876
      [ 5] local 2001:db8:204::1 port 33940 connected to 2001:db8:210::2 port 59876
      [ ID] Interval Transfer Bitrate Retr Cwnd
      [ 5] 0.00-1.00 sec 2.66 GBytes 22.8 Gbits/sec 0 3.15 MBytes
      [ 5] 1.00-2.00 sec 2.67 GBytes 23.0 Gbits/sec 0 3.15 MBytes
      [ 5] 2.00-3.00 sec 2.67 GBytes 23.0 Gbits/sec 0 3.15 MBytes

      [root@localhost ~]# iperf3 -c 172.31.210.2 -p 59876 -u -b 0 --connect-timeout=10000
      Connecting to host 172.31.210.2, port 59876
      iperf3: error - unable to send control message - port may not be available, the other side may have stopped running, etc.: Broken pipe

      [root@localhost ~]# iperf3 -c 2001:0db8:210::2 -p 59876 -u -b 0 --connect-timeout=10000
      Connecting to host 2001:0db8:210::2, port 59876
      [ 5] local 2001:db8:210::1 port 58100 connected to 2001:db8:210::2 port 59876
      [ ID] Interval Transfer Bitrate Total Datagrams
      [ 5] 0.00-1.00 sec 411 MBytes 3.44 Gbits/sec 303137
      [ 5] 1.00-2.00 sec 375 MBytes 3.15 Gbits/sec 276878
      [ 5] 2.00-3.00 sec 605 MBytes 5.07 Gbits/sec 446402

       Expected Behavior: Describe what should happen under normal circumstances.

      It run do iperf ipv4 test successfully on rhel10.0.
       

       Observed Behavior: Explain what actually happens.

      on rhel10.0.
      do iperf ipv4 address failed.
      do iperf ipv6 address successfully.

      on rhel9.4:
      do both iperf ipv4 and ipv6 address succeefully.

      when do the iperf ipv4 test on rhel9.4, catch the packet in the port of guest as following.
      rhel9.4:
      [root@localhost ~]# iperf3 -c 172.31.210.2 -p 59876
      Connecting to host 172.31.210.2, port 59876
      [ 5] local 172.31.210.1 port 38754 connected to 172.31.210.2 port 59876
      [ ID] Interval Transfer Bitrate Retr Cwnd
      [ 5] 0.00-1.00 sec 2.43 GBytes 20.9 Gbits/sec 0 3.09 MBytes
      [ 5] 1.00-1.97 sec 2.39 GBytes 21.1 Gbits/sec 0 3.09 MBytes

      iperf tcp packet:

      [root@localhost ~]# tcpdump -i ens4 -vven
              172.31.210.1.38742 > 172.31.210.2.59876: Flags [P.], cksum 0x0be5 (correct), seq 142:143, ack 5, win 511, options [nop,nop,TS val 1708473568 ecr 1577085950], length 1
      21:11:16.081540 00:de:ad:6e:02:02 > 00:de:ad:6e:01:02, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 14765, offset 0, flags [DF], proto TCP (6), length 52)
          172.31.210.2.59876 > 172.31.210.1.38754: Flags [F.], cksum 0xfc69 (incorrect -> 0x3983), seq 1, ack 881427142, win 24559, options [nop,nop,TS val 1577087927 ecr 1708473565], length 0
      21:11:16.081552 00:de:ad:6e:02:02 > 00:de:ad:6e:01:02, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 58887, offset 0, flags [DF], proto TCP (6), length 52)
          172.31.210.2.59876 > 172.31.210.1.38742: Flags [F.], cksum 0xfc69 (incorrect -> 0x1038), seq 5, ack 143, win 506, options [nop,nop,TS val 1577087927 ecr 1708473568], length 0
      21:11:16.081921 00:de:ad:6e:01:02 > 00:de:ad:6e:02:02, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 21923, offset 0, flags [DF], proto TCP (6), length 52)
          172.31.210.1.38754 > 172.31.210.2.59876: Flags [.], cksum 0x976f (correct), seq 881427142, ack 2, win 511, options [nop,nop,TS val 1708473569 ecr 1577087927], length 0
      21:11:16.082113 00:de:ad:6e:01:02 > 00:de:ad:6e:02:02, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 21924, offset 0, flags [DF], proto TCP (6), length 52)
      

      [root@localhost ~]# iperf3 -c 172.31.210.2 -p 59876 -u
      Connecting to host 172.31.210.2, port 59876
      [ 5] local 172.31.210.1 port 40675 connected to 172.31.210.2 port 59876
      [ ID] Interval Transfer Bitrate Total Datagrams
      [ 5] 0.00-1.00 sec 128 KBytes 1.05 Mbits/sec 91
      [ 5] 1.00-2.00 sec 128 KBytes 1.05 Mbits/sec 91

      iperf udp packet:

          172.31.210.1.40675 > 172.31.210.2.59876: [udp sum ok] UDP, length 1440
      21:17:24.805055 00:de:ad:6e:01:02 > 00:de:ad:6e:02:02, ethertype IPv4 (0x0800), length 1482: (tos 0x0, ttl 64, id 34238, offset 0, flags [DF], proto UDP (17), length 1468)
          172.31.210.1.40675 > 172.31.210.2.59876: [udp sum ok] UDP, length 1440
      21:17:24.816035 00:de:ad:6e:01:02 > 00:de:ad:6e:02:02, ethertype IPv4 (0x0800), length 1482: (tos 0x0, ttl 64, id 34239, offset 0, flags [DF], proto UDP (17), length 1468)
          172.31.210.1.40675 > 172.31.210.2.59876: [udp sum ok] UDP, length 1440
      21:17:24.829325 00:de:ad:6e:01:02 > 00:de:ad:6e:02:02, ethertype IPv4 (0x0800), length 67: (tos 0x0, ttl 64, id 10652, offset 0, flags [DF], proto TCP (6), length 53)
          172.31.210.1.41636 > 172.31.210.2.59876: Flags [P.], cksum 0x226f (correct), seq 160:161, ack 5, win 511, options [nop,nop,TS val 1708842328 ecr 1577452607], length 1
      21:17:24.829372 00:de:ad:6e:02:02 > 00:de:ad:6e:01:02, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 59922, offset 0, flags [DF], proto TCP (6), length 52)
          172.31.210.2.59876 > 172.31.210.1.41636: Flags [F.], cksum 0xfc69 (incorrect -> 0x1e97), seq 5, ack 161, win 506, options [nop,nop,TS val 1577456675 ecr 1708842328], length 0
      21:17:24.831105 00:de:ad:6e:01:02 > 00:de:ad:6e:02:02, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 10653, offset 0, flags [DF], proto TCP (6), length 52)
          172.31.210.1.41636 > 172.31.210.2.59876: Flags [F.], cksum 0x1e8f (correct), seq 161, ack 6, win 511, options [nop,nop,TS val 1708842330 ecr 1577456675], length 0
      21:17:24.831110 00:de:ad:6e:02:02 > 00:de:ad:6e:01:02, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 59923, offset 0, flags [DF], proto TCP (6), length 52)
      
      

       Logs: If you collected logs please provide them (e.g. sos report, /var/log/openvswitch/* , testpmd console)

      beaker job:
      rhel10.0:
      https://beaker.engineering.redhat.com/jobs/10430184
      rhel9.4:
      https://beaker.engineering.redhat.com/jobs/10430874
      https://beaker.engineering.redhat.com/jobs/10431490

      sosreport in attachment

              ovsdpdk-bot ovsdpdk bot
              tli@redhat.com Ting Li
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: