Skip to contentSkip to conversation

(ABI) unit_tests_eal/link_bonding_rssconf: link_bonding_rssconf_autotest test failed

Bug 1042 [email protected] 1 participant 2 messages Jun 27, 2022 – Aug 19, 2022

lore
Share & tools
lore

[email protected]

author Reviewed-by Ferruh Yigit
#0 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1042

            Bug ID: 1042
           Summary: [dpdk-22.07](ABI) unit_tests_eal/link_bonding_rssconf:
                    link_bonding_rssconf_autotest test failed
           Product: DPDK
           Version: 22.03
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: examples
          Assignee: [email protected]
          Reporter: [email protected]

Target Milestone: ---

[Environment]

DPDK version: Use make showversion or for a non-released version: git remote -v && git show-ref --heads
commit 7cac53f205ebd04d8ebd3ee6a9dd84f698d4ada3 (HEAD -> main, tag: v22.07-rc2, origin/main, origin/HEAD)

Author: Thomas Monjalon <[email protected]>
Date:   Mon Jun 27 04:03:44 2022 +0200    version: 22.07-rc2    
Other software versions: N/A
OS: Red Hat Enterprise Linux 8.4 (Ootpa)/Linux 4.18.0-305.el8.x86_64
Compiler: gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
Hardware platform: Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
NIC hardware:  Intel Ethernet Controller XL710 for 40GbE QSFP+ 1583
NIC firmware:   i40e-4.18.0-305.el8.x86_64/8.70 0x8000c40f 1.3179.0

[Test Setup]
Steps to reproduce
List the steps to reproduce the issue.

1. Build the DPDK-22.07-rc2 lib with the following steps:
Note: /tmp/dpdk.tar.gz is the DPDK-22.07-rc2 packet.

tar zxfm /tmp/dpdk.tar.gz -C ~
cd ~/dpdk
cd .. && rm -rf dpdk_lib && mv dpdk dpdk_lib && cd dpdk_lib

rm -rf x86_64-native-linuxapp-gcc
CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=shared x86_64-native-linuxapp-gcc
ninja -C x86_64-native-linuxapp-gcc

rm -rf /root/tmp/dpdk_share_lib DESTDIR=/root/tmp/dpdk_share_lib ninja -C x86_64-native-linuxapp-gcc -j 110 install

rm -rf /root/shared_lib_dpdk
mv /root/tmp/dpdk_share_lib/usr/local/lib /root/shared_lib_dpdk

2. Build the DPDK-21.11 APP with the following steps:
Note: /tmp/dpdk_abi.tar.gz is the DPDK-21.11 packet.

cd ..
tar zxf /tmp/dpdk_abi.tar.gz -C ~
cd ~/dpdk/
rm -rf x86_64-native-linuxapp-gcc
CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=shared x86_64-native-linuxapp-gcc
ninja -C x86_64-native-linuxapp-gcc

# delete the DPDK-21.11 target/lib and drivers directory
rm -rf x86_64-native-linuxapp-gcc/lib
rm -rf x86_64-native-linuxapp-gcc/drivers

3. Bind 2 NIC port to vfio-pci driver:

dpdk-devbind.py --force --bind=vfio-pci 0000:18:00.0 0000:18:00.1

4. Start dpdk-test APP:

x86_64-native-linuxapp-gcc/app/test/dpdk-test -l 1-4 -n 4 -a 0000:18:00.0 -a
0000:18:00.1 --file-prefix=dpdk_63552_20220624173253 -d
/root/shared_lib_dpdk

5. Execute link_bonding_rssconf_autotest command to test:

RTE>>link_bonding_rssconf_autotest

Show the output from the previous commands.

[root@abi80 dpdk]# x86_64-native-linuxapp-gcc/app/test/dpdk-test -l 1-4 -n 4 -a
0000:18:00.0 -a 0000:18:00.1 --file-prefix=dpdk_63552_20220624173253 -d
/root/shared_lib_dpdk
EAL: Detected CPU lcores: 112
EAL: Detected NUMA nodes: 2
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/dpdk_63552_20220624173253/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: 1024 hugepages of size 2097152 reserved, but no mounted hugetlbfs found for that size
EAL: VFIO support initialized
EAL: Using IOMMU type 1 (Type 1)
EAL: Ignore mapping IO port bar(1)
EAL: Ignore mapping IO port bar(4)
EAL: Probe PCI driver: net_i40e (8086:1583) device: 0000:18:00.0 (socket 0) i40e_GLQF_reg_init(): i40e device 0000:18:00.0 changed global register [0x002689a0]. original: 0x00000000, new: 0x00000029 i40e_GLQF_reg_init(): i40e device 0000:18:00.0 changed global register [0x00268ca4]. original: 0x00001840, new: 0x00009420 i40e_aq_debug_write_global_register(): i40e device 0000:18:00.0 changed global register [0x0026c7a0]. original: 0xa8, after: 0x28
EAL: Ignore mapping IO port bar(1)
EAL: Ignore mapping IO port bar(4)
EAL: Probe PCI driver: net_i40e (8086:1583) device: 0000:18:00.1 (socket 0)
TELEMETRY: No legacy callbacks, legacy socket not created
APP: HPET is not enabled, using TSC as default timer RTE>>link_bonding_rssconf_autotest
+ ------------------------------------------------------- +
+ Test Suite : RSS Dynamic Configuration for Bonding Unit Test Suite
+ ------------------------------------------------------- +
+ TestCase [ 0] : test_setup succeeded
Device with port_id=2 already stopped
Device with port_id=3 already stopped
Device with port_id=4 already stopped
Device with port_id=5 already stopped bond_ethdev_promiscuous_disable(2684) - Failed to disable promiscuous mode for port 2: Operation not supported bond_ethdev_promiscuous_disable(2684) - Failed to disable promiscuous mode for port 3: Operation not supported bond_ethdev_promiscuous_disable(2684) - Failed to disable promiscuous mode for port 4: Operation not supported bond_ethdev_promiscuous_disable(2684) - Failed to disable promiscuous mode for port 5: Operation not supported bond_ethdev_allmulticast_disable(2830) - Failed to disable allmulti mode for port 2: Operation not supported bond_ethdev_allmulticast_disable(2830) - Failed to disable allmulti mode for port 3: Operation not supported bond_ethdev_allmulticast_disable(2830) - Failed to disable allmulti mode for port 4: Operation not supported bond_ethdev_allmulticast_disable(2830) - Failed to disable allmulti mode for port 5: Operation not supported
bond_ethdev_rss_hash_update(3139) - rss_key will be truncated bond_ethdev_rss_hash_update(3139) - rss_key will be truncated bond_ethdev_rss_hash_update(3139) - rss_key will be truncated bond_ethdev_rss_hash_update(3139) - rss_key will be truncated bond_ethdev_rss_hash_update(3139) - rss_key will be truncated bond_ethdev_rss_hash_update(3139) - rss_key will be truncated bond_ethdev_rss_hash_update(3139) - rss_key will be truncated bond_ethdev_rss_hash_update(3139) - rss_key will be truncated bond_ethdev_rss_hash_update(3139) - rss_key will be truncated
Port 2 must be stopped to allow reset
Port 2 must be stopped to allow reset
Port 3 must be stopped to allow reset
Port 4 must be stopped to allow reset
Port 5 must be stopped to allow reset
+ TestCase [ 1] : test_rss succeeded
bond_ethdev_promiscuous_disable(2684) - Failed to disable promiscuous mode for port 2: Operation not supported bond_ethdev_promiscuous_disable(2684) - Failed to disable promiscuous mode for port 3: Operation not supported bond_ethdev_promiscuous_disable(2684) - Failed to disable promiscuous mode for port 4: Operation not supported bond_ethdev_promiscuous_disable(2684) - Failed to disable promiscuous mode for port 5: Operation not supported bond_ethdev_allmulticast_disable(2830) - Failed to disable allmulti mode for port 2: Operation not supported bond_ethdev_allmulticast_disable(2830) - Failed to disable allmulti mode for port 3: Operation not supported bond_ethdev_allmulticast_disable(2830) - Failed to disable allmulti mode for port 4: Operation not supported bond_ethdev_allmulticast_disable(2830) - Failed to disable allmulti mode for port 5: Operation not supported
Multi-queue RSS mode isn't enabled.
EAL: Test assert test_propagate line 350 failed: Cannot set slaves hash function
EAL: Test assert test_rss_lazy line 496 failed: Propagation test failed Port 2 must be stopped to allow reset
Port 3 must be stopped to allow reset
Port 4 must be stopped to allow reset
Port 5 must be stopped to allow reset
+ TestCase [ 2] : test_rss_lazy failed
Device with port_id=6 already stopped
+ ------------------------------------------------------- +
+ Test Suite Summary : RSS Dynamic Configuration for Bonding Unit Test Suite
+ ------------------------------------------------------- +

 + Tests Total :        3
 + Tests Skipped :      0
 + Tests Executed :     3
 + Tests Unsupported:   0
 + Tests Passed :       2
 + Tests Failed :       1

+ ------------------------------------------------------- +
Test Failed
RTE>>

[Expected Result]
Explain what is the expected result in text or as an example output:

[root@abi80 dpdk]# x86_64-native-linuxapp-gcc/app/test/dpdk-test -l 1-4 -n 4 -a
0000:18:00.0 -a 0000:18:00.1 --file-prefix=dpdk_63552_20220624173253 -d
/root/shared_lib_dpdk EAL: Detected CPU lcores: 112
EAL: Detected NUMA nodes: 2
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/dpdk_63552_202206241732/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: 1024 hugepages of size 2097152 reserved, but no mounted hugetlbfs found for that size
EAL: VFIO support initialized
EAL: Using IOMMU type 1 (Type 1)
EAL: Ignore mapping IO port bar(1)
EAL: Ignore mapping IO port bar(4)
EAL: Probe PCI driver: net_i40e (8086:1583) device: 0000:18:00.0 (socket 0)
EAL: Ignore mapping IO port bar(1)
EAL: Ignore mapping IO port bar(4)
EAL: Probe PCI driver: net_i40e (8086:1583) device: 0000:18:00.1 (socket 0)
TELEMETRY: No legacy callbacks, legacy socket not created
APP: HPET is not enabled, using TSC as default timer RTE>>link_bonding_rssconf_autotest
+ ------------------------------------------------------- +
+ Test Suite : RSS Dynamic Configuration for Bonding Unit Test Suite
+ ------------------------------------------------------- +
+ TestCase [ 0] : test_setup succeeded
Device with port_id=2 already stopped
Device with port_id=3 already stopped
Device with port_id=4 already stopped
Device with port_id=5 already stopped bond_ethdev_promiscuous_disable(2690) - Failed to disable promiscuous mode for port 2: Operation not supported bond_ethdev_promiscuous_disable(2690) - Failed to disable promiscuous mode for port 3: Operation not supported bond_ethdev_promiscuous_disable(2690) - Failed to disable promiscuous mode for port 4: Operation not supported bond_ethdev_promiscuous_disable(2690) - Failed to disable promiscuous mode for port 5: Operation not supported bond_ethdev_allmulticast_disable(2836) - Failed to disable allmulti mode for port 2: Operation not supported bond_ethdev_allmulticast_disable(2836) - Failed to disable allmulti mode for port 3: Operation not supported bond_ethdev_allmulticast_disable(2836) - Failed to disable allmulti mode for port 4: Operation not supported bond_ethdev_allmulticast_disable(2836) - Failed to disable allmulti mode for port 5: Operation not supported
bond_ethdev_rss_hash_update(3145) - rss_key will be truncated bond_ethdev_rss_hash_update(3145) - rss_key will be truncated bond_ethdev_rss_hash_update(3145) - rss_key will be truncated bond_ethdev_rss_hash_update(3145) - rss_key will be truncated bond_ethdev_rss_hash_update(3145) - rss_key will be truncated bond_ethdev_rss_hash_update(3145) - rss_key will be truncated bond_ethdev_rss_hash_update(3145) - rss_key will be truncated bond_ethdev_rss_hash_update(3145) - rss_key will be truncated bond_ethdev_rss_hash_update(3145) - rss_key will be truncated
Port 2 must be stopped to allow reset
Port 2 must be stopped to allow reset
Port 3 must be stopped to allow reset
Port 4 must be stopped to allow reset
Port 5 must be stopped to allow reset
+ TestCase [ 1] : test_rss succeeded
bond_ethdev_promiscuous_disable(2690) - Failed to disable promiscuous mode for port 2: Operation not supported bond_ethdev_promiscuous_disable(2690) - Failed to disable promiscuous mode for port 3: Operation not supported bond_ethdev_promiscuous_disable(2690) - Failed to disable promiscuous mode for port 4: Operation not supported bond_ethdev_promiscuous_disable(2690) - Failed to disable promiscuous mode for port 5: Operation not supported bond_ethdev_allmulticast_disable(2836) - Failed to disable allmulti mode for port 2: Operation not supported bond_ethdev_allmulticast_disable(2836) - Failed to disable allmulti mode for port 3: Operation not supported bond_ethdev_allmulticast_disable(2836) - Failed to disable allmulti mode for port 4: Operation not supported bond_ethdev_allmulticast_disable(2836) - Failed to disable allmulti mode for port 5: Operation not supported
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Multi-queue RSS mode isn't enabled.
Port 2 must be stopped to allow reset
Port 3 must be stopped to allow reset
Port 4 must be stopped to allow reset
Port 5 must be stopped to allow reset
+ TestCase [ 2] : test_rss_lazy succeeded
Device with port_id=6 already stopped
+ ------------------------------------------------------- +
+ Test Suite Summary : RSS Dynamic Configuration for Bonding Unit Test Suite
+ ------------------------------------------------------- +

 + Tests Total :        3
 + Tests Skipped :      0
 + Tests Executed :     3
 + Tests Unsupported:   0
 + Tests Passed :       3
 + Tests Failed :       0

+ ------------------------------------------------------- +
Test OK
RTE>>quit

[Regression]
Is this issue a regression: (Y/N)Y

Version the regression was introduced: Specify git id if known.

[Bad Commit]:
commit 93e1ea6dfa99dea359b8d66123576a395c2c0acd (HEAD, refs/bisect/bad)

Author: Huisong Li <[email protected]>
Date:   Wed Apr 6 14:57:00 2022 +0800

ethdev: fix RSS update when RSS is disabled

The RTE_ETH_MQ_RX_RSS_FLAG flag is a switch to enable RSS. If the flag is not set in dev_configure, RSS will be not configured and enabled. However, RSS hash and reta can still be configured by ethdev ops to enable RSS if the flag isn't set. The behavior is inconsistent.

Fixes 99a2dd955fba ("lib: remove librte_ prefix from directory names")
Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#1 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1042

lingwei ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from lingwei ([email protected]) --- Verified based on dpdk-stable branch 21.11 with these 2 patches PASSED.
http://git.dpdk.org/next/dpdk-next-net/commit/?id=dfa70bf8097dd3bce3a4d4e1ccc8fd2536b51d30
http://git.dpdk.org/next/dpdk-next-net/commit/?id=22fd87b7ad7c500cfa9e6448cdce3e0a3c11d7d7

OS: Red Hat Enterprise Linux 8.4 (Ootpa)/Linux 4.18.0-305.el8.x86_64 NIC driver & firmware: ice-2.19.3/8.70 0x8000c40f 1.3179.0

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.