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