< TEST_PROGS=toeplitz.py TEST_GEN_PROGS="" run_tests make: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests' make[1]: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' make[1]: Nothing to be done for 'all'. make[1]: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' TAP version 13 1..1 # overriding timeout to 720 # selftests: drivers/net/hw: toeplitz.py # TAP version 13 # 1..12 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 194, in test # # Exception| with bkg(" ".join(rx_cmd), ksft_ready=True, exit_wait=True) as rx_proc: # # Exception| ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 182, in __exit__ # # Exception| return self.process(terminate=terminate, fail=self.check_fail) # # Exception| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 117, in process # # Exception| raise CmdExitFailure("Command failed", self) # # Exception| net.lib.py.utils.CmdExitFailure: Command failed # # Exception| CMD: /srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/toeplitz -4 -t -d 39326 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 42 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0xe580e805 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57538 dport 39326] != expected 0x9cb38102 # # Exception| cpu 0: rx_hash 0xc21ae7f2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57572 dport 39326] != expected 0xefeed678 # # Exception| cpu 0: rx_hash 0xafc33171 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57614 dport 39326] != expected 0xfe55a11 # # Exception| cpu 4: rx_hash 0x2f0172c3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57552 dport 39326] != expected 0xd226b595 # # Exception| cpu 4: rx_hash 0x6ddbb057 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57554 dport 39326] != expected 0x63178a4 # # Exception| cpu 4: rx_hash 0x29f61c7e [saddr 192.0.3.2 daddr 192.0.3.1 sport 57586 dport 39326] != expected 0xcb700477 # # Exception| cpu 4: rx_hash 0xda354cb7 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57634 dport 39326] != expected 0x9daa3316 # # Exception| cpu 4: rx_hash 0xbc0e368a [saddr 192.0.3.2 daddr 192.0.3.1 sport 57666 dport 39326] != expected 0x364bf1ac # # Exception| cpu 5: rx_hash 0xc4ed894f [saddr 192.0.3.2 daddr 192.0.3.1 sport 57542 dport 39326] != expected 0xf6b8679a # # Exception| cpu 5: rx_hash 0xe37786b8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57568 dport 39326] != expected 0x85e530e0 # # Exception| cpu 5: rx_hash 0xdcc2220a [saddr 192.0.3.2 daddr 192.0.3.1 sport 57600 dport 39326] != expected 0x84fc82f4 # # Exception| cpu 5: rx_hash 0x442fcafd [saddr 192.0.3.2 daddr 192.0.3.1 sport 57624 dport 39326] != expected 0x2b7b881e # # Exception| cpu 5: rx_hash 0xebee9d58 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57646 dport 39326] != expected 0xc2a426c2 # # Exception| cpu 5: rx_hash 0x730375af [saddr 192.0.3.2 daddr 192.0.3.1 sport 57654 dport 39326] != expected 0x6d232c28 # # Exception| cpu 0: rx_hash 0x8dd5e765 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57678 dport 39326] != expected 0x6945e478 # # Exception| cpu 0: rx_hash 0x32a20065 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57712 dport 39326] != expected 0xb59fb9e8 # # Exception| cpu 0: rx_hash 0x09e4e529 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57760 dport 39326] != expected 0x7aeda113 # # Exception| cpu 0: rx_hash 0x1952558c [saddr 192.0.3.2 daddr 192.0.3.1 sport 57768 dport 39326] != expected 0x4fe8525f # # Exception| cpu 4: rx_hash 0x8b2289d8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57708 dport 39326] != expected 0x7013559a # # Exception| cpu 4: rx_hash 0x4dc94900 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57728 dport 39326] != expected 0xb7acddc0 # # Exception| cpu 4: rx_hash 0x8748d3c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57746 dport 39326] != expected 0xf939e957 # # Exception| cpu 4: rx_hash 0x91090dde [saddr 192.0.3.2 daddr 192.0.3.1 sport 57784 dport 39326] != expected 0xd56aabf9 # # Exception| cpu 5: rx_hash 0x058ebf37 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57694 dport 39326] != expected 0xf3c71dde # # Exception| cpu 5: rx_hash 0xbaf95837 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57696 dport 39326] != expected 0x2f1d404e # # Exception| cpu 5: rx_hash 0x5115a3bb [saddr 192.0.3.2 daddr 192.0.3.1 sport 57718 dport 39326] != expected 0xb839241 # # Exception| cpu 5: rx_hash 0x1fa53b31 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57738 dport 39326] != expected 0x56bee3bd # # Exception| cpu 5: rx_hash 0xa0d2dc31 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57780 dport 39326] != expected 0x8a64be2d # # Exception| cpu 0: rx_hash 0x6fdf9f14 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57792 dport 39326] != expected 0xd10c63a9 # # Exception| cpu 0: rx_hash 0x5e044efb [saddr 192.0.3.2 daddr 192.0.3.1 sport 57804 dport 39326] != expected 0x8e02767d # # Exception| cpu 0: rx_hash 0x3b448398 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57832 dport 39326] != expected 0x2948ec36 # # Exception| cpu 4: rx_hash 0xa55e05d2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57810 dport 39326] != expected 0x9f99573e # # Exception| cpu 4: rx_hash 0x799e410c [saddr 192.0.3.2 daddr 192.0.3.1 sport 57834 dport 39326] != expected 0xfd5f2107 # # Exception| cpu 4: rx_hash 0x68e8a5ba [saddr 192.0.3.2 daddr 192.0.3.1 sport 57880 dport 39326] != expected 0xfe07b049 # # Exception| cpu 4: rx_hash 0x7ea97ba2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57906 dport 39326] != expected 0xd254f2e7 # # Exception| cpu 4: rx_hash 0x2cc50993 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57912 dport 39326] != expected 0x3346cc9a # # Exception| cpu 4: rx_hash 0xb1a43887 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57926 dport 39326] != expected 0x893c2f63 # # Exception| cpu 4: rx_hash 0x1892019f [saddr 192.0.3.2 daddr 192.0.3.1 sport 57938 dport 39326] != expected 0x79b5305d # # Exception| cpu 5: rx_hash 0x2bf2333d [saddr 192.0.3.2 daddr 192.0.3.1 sport 57824 dport 39326] != expected 0x1c4d1f7a # # Exception| cpu 5: rx_hash 0xf1c5195e [saddr 192.0.3.2 daddr 192.0.3.1 sport 57850 dport 39326] != expected 0x67ddd8a1 # # Exception| cpu 5: rx_hash 0xa2693f7c [saddr 192.0.3.2 daddr 192.0.3.1 sport 57866 dport 39326] != expected 0xb09284de # # Exception| cpu 5: rx_hash 0xa49e51c1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57896 dport 39326] != expected 0xa9c4353c # # Exception| cpu 5: rx_hash 0xa1128822 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57934 dport 39326] != expected 0xbc39dc2f # # Exception| count: pass=0 nohash=0 fail=42 # # Exception| # not ok 1 toeplitz.test.tcp_ipv4 # # Receiver output: # # # # RSS indirection table size: 256 # # # cpu 0: rx_hash 0xf6a32bef [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47216 dport 59400] OK # # # cpu 0: rx_hash 0x20fe5b92 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47252 dport 59400] OK # # # cpu 0: rx_hash 0xec88afe9 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47268 dport 59400] OK # # # cpu 0: rx_hash 0x8ab3d5d4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47300 dport 59400] OK # # # cpu 4: rx_hash 0x7ef873bd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47200 dport 59400] OK # # # cpu 4: rx_hash 0x55082654 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47288 dport 59400] OK # # # cpu 4: rx_hash 0x2385eccc [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47312 dport 59400] OK # # # cpu 4: rx_hash 0x5084ffb7 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47326 dport 59400] OK # # # cpu 4: rx_hash 0xeff318b7 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47328 dport 59400] OK # # # cpu 5: rx_hash 0x85a23894 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47230 dport 59400] OK # # # cpu 5: rx_hash 0xfac971f1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47246 dport 59400] OK # # # cpu 5: rx_hash 0xfc3e1f4c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47276 dport 59400] OK # # # cpu 5: rx_hash 0xe904760a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47298 dport 59400] OK # # # cpu 0: rx_hash 0x25728271 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47346 dport 59400] OK # # # cpu 0: rx_hash 0x35c432d4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47354 dport 59400] OK # # # cpu 0: rx_hash 0x3baa4789 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47382 dport 59400] OK # # # cpu 0: rx_hash 0x6f315b05 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47422 dport 59400] OK # # # cpu 0: rx_hash 0x38d1f0d7 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47442 dport 59400] OK # # # cpu 0: rx_hash 0x090a2138 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47454 dport 59400] OK # # # cpu 4: rx_hash 0xb5067166 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47396 dport 59400] OK # # # cpu 4: rx_hash 0xe76a0357 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47406 dport 59400] OK # # # cpu 4: rx_hash 0xe2e6dab4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47432 dport 59400] OK # # # cpu 4: rx_hash 0x9710a772 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47460 dport 59400] OK # # # cpu 5: rx_hash 0x67a840e5 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47344 dport 59400] OK # # # cpu 5: rx_hash 0xc0f00ca0 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47368 dport 59400] OK # # # cpu 5: rx_hash 0x69c635b8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47388 dport 59400] OK # # # cpu 0: rx_hash 0x87a617d7 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47468 dport 59400] OK # # # cpu 0: rx_hash 0x4d278d11 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47486 dport 59400] OK # # # cpu 0: rx_hash 0x709606e0 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47500 dport 59400] OK # # # cpu 0: rx_hash 0x570c0917 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47530 dport 59400] OK # # # cpu 0: rx_hash 0xcfe1e1e0 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47538 dport 59400] OK # # # cpu 0: rx_hash 0xa9da9bdd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47570 dport 59400] OK # # # cpu 0: rx_hash 0x44c10eec [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47590 dport 59400] OK # # # cpu 4: rx_hash 0x5d913db4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47478 dport 59400] OK # # # cpu 4: rx_hash 0x9b7afd6c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47514 dport 59400] OK # # # cpu 4: rx_hash 0x635b011b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47552 dport 59400] OK # # # cpu 4: rx_hash 0x3137732a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47562 dport 59400] OK # # # cpu 5: rx_hash 0x0ffd4f85 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47484 dport 59400] OK # # # cpu 5: rx_hash 0xdadb88a6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47580 dport 59400] OK # # # cpu 5: rx_hash 0x65ac6fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47586 dport 59400] OK # # # count: pass=40 nohash=0 fail=0 # ok 2 toeplitz.test.tcp_ipv6 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 194, in test # # Exception| with bkg(" ".join(rx_cmd), ksft_ready=True, exit_wait=True) as rx_proc: # # Exception| ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 182, in __exit__ # # Exception| return self.process(terminate=terminate, fail=self.check_fail) # # Exception| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 117, in process # # Exception| raise CmdExitFailure("Command failed", self) # # Exception| net.lib.py.utils.CmdExitFailure: Command failed # # Exception| CMD: /srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/toeplitz -4 -u -d 40179 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 49289 dport 40179] != expected 0xae92d5f3 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 49289 dport 40179] != expected 0xae92d5f3 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 35109 dport 40179] != expected 0x7f766917 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 35109 dport 40179] != expected 0x7f766917 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 47670 dport 40179] != expected 0xd1e73c31 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 47670 dport 40179] != expected 0xd1e73c31 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 60500 dport 40179] != expected 0x97530dd6 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 60500 dport 40179] != expected 0x97530dd6 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 39752 dport 40179] != expected 0x86f8b12e # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 39752 dport 40179] != expected 0x86f8b12e # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 51358 dport 40179] != expected 0xf116986c # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 51358 dport 40179] != expected 0xf116986c # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 47349 dport 40179] != expected 0xb4fb9df3 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 47349 dport 40179] != expected 0xb4fb9df3 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 48285 dport 40179] != expected 0x8c75a7e3 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 48285 dport 40179] != expected 0x8c75a7e3 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 40756 dport 40179] != expected 0x4eff9400 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 40756 dport 40179] != expected 0x4eff9400 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 53254 dport 40179] != expected 0x576e4ab8 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 53254 dport 40179] != expected 0x576e4ab8 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 56048 dport 40179] != expected 0x74a01707 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 56048 dport 40179] != expected 0x74a01707 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 58608 dport 40179] != expected 0xd07ccd5a # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 58608 dport 40179] != expected 0xd07ccd5a # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 35802 dport 40179] != expected 0x12a75874 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 35802 dport 40179] != expected 0x12a75874 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 42450 dport 40179] != expected 0x6ae4f39c # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 42450 dport 40179] != expected 0x6ae4f39c # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 55349 dport 40179] != expected 0xafa09d6c # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 55349 dport 40179] != expected 0xafa09d6c # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 35281 dport 40179] != expected 0x174eeba7 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 35281 dport 40179] != expected 0x174eeba7 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 37595 dport 40179] != expected 0x198f6a87 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 37595 dport 40179] != expected 0x198f6a87 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 34685 dport 40179] != expected 0x8fdac44c # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 34685 dport 40179] != expected 0x8fdac44c # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 54741 dport 40179] != expected 0xdbe6216d # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 54741 dport 40179] != expected 0xdbe6216d # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 38555 dport 40179] != expected 0xd945df08 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 38555 dport 40179] != expected 0xd945df08 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 37170 dport 40179] != expected 0xc968a671 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 37170 dport 40179] != expected 0xc968a671 # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 47128 dport 40179] != expected 0xdb6b8fca # # Exception| cpu 0: rx_hash 0x0995a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 47128 dport 40179] != expected 0xdb6b8fca # # Exception| count: pass=0 nohash=0 fail=44 # # Exception| # not ok 3 toeplitz.test.udp_ipv4 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 194, in test # # Exception| with bkg(" ".join(rx_cmd), ksft_ready=True, exit_wait=True) as rx_proc: # # Exception| ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 182, in __exit__ # # Exception| return self.process(terminate=terminate, fail=self.check_fail) # # Exception| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 117, in process # # Exception| raise CmdExitFailure("Command failed", self) # # Exception| net.lib.py.utils.CmdExitFailure: Command failed # # Exception| CMD: /srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/toeplitz -6 -u -d 53727 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56325 dport 53727] != expected 0x59273920 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56325 dport 53727] != expected 0x59273920 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40489 dport 53727] != expected 0x57b188f2 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40489 dport 53727] != expected 0x57b188f2 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39854 dport 53727] != expected 0x1a1c1dea # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39854 dport 53727] != expected 0x1a1c1dea # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58239 dport 53727] != expected 0x8011ab1c # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58239 dport 53727] != expected 0x8011ab1c # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46882 dport 53727] != expected 0x8fb95172 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46882 dport 53727] != expected 0x8fb95172 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52240 dport 53727] != expected 0x92cde48 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52240 dport 53727] != expected 0x92cde48 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 55735 dport 53727] != expected 0x7c24bc21 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 55735 dport 53727] != expected 0x7c24bc21 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59926 dport 53727] != expected 0x42bce799 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59926 dport 53727] != expected 0x42bce799 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37233 dport 53727] != expected 0xcabc0287 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37233 dport 53727] != expected 0xcabc0287 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40722 dport 53727] != expected 0x849b3e15 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40722 dport 53727] != expected 0x849b3e15 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44257 dport 53727] != expected 0x5294297f # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44257 dport 53727] != expected 0x5294297f # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43816 dport 53727] != expected 0xaa6ca3ca # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43816 dport 53727] != expected 0xaa6ca3ca # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57394 dport 53727] != expected 0x3aae4688 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57394 dport 53727] != expected 0x3aae4688 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56181 dport 53727] != expected 0x69a11969 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56181 dport 53727] != expected 0x69a11969 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59024 dport 53727] != expected 0xbb31f49c # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59024 dport 53727] != expected 0xbb31f49c # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60710 dport 53727] != expected 0x502c11c4 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60710 dport 53727] != expected 0x502c11c4 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53201 dport 53727] != expected 0x13438939 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53201 dport 53727] != expected 0x13438939 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38747 dport 53727] != expected 0xca9e6b3c # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38747 dport 53727] != expected 0xca9e6b3c # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42457 dport 53727] != expected 0xbfc16e94 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42457 dport 53727] != expected 0xbfc16e94 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40228 dport 53727] != expected 0xcf18b372 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40228 dport 53727] != expected 0xcf18b372 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50348 dport 53727] != expected 0x9c9a2666 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50348 dport 53727] != expected 0x9c9a2666 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58144 dport 53727] != expected 0xdce8b309 # # Exception| cpu 4: rx_hash 0x5a8a50cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58144 dport 53727] != expected 0xdce8b309 # # Exception| count: pass=0 nohash=0 fail=44 # # Exception| # not ok 4 toeplitz.test.udp_ipv6 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 182, in test # # Exception| irq_cpus = ",".join([str(x) for x in _get_irq_cpus(cfg)]) # # Exception| ~~~~~~~~~~~~~^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 67, in _get_irq_cpus # # Exception| cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) # # Exception| ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 47, in _get_cpu_for_irq # # Exception| raise KsftFailEx(f"IRQ{irq} is not mapped to a single core: {data}") # # Exception| net.lib.py.ksft.KsftFailEx: IRQ36 is not mapped to a single core: 0-5 # # Exception| # not ok 5 toeplitz.test.rss_tcp_ipv4 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 182, in test # # Exception| irq_cpus = ",".join([str(x) for x in _get_irq_cpus(cfg)]) # # Exception| ~~~~~~~~~~~~~^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 67, in _get_irq_cpus # # Exception| cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) # # Exception| ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 47, in _get_cpu_for_irq # # Exception| raise KsftFailEx(f"IRQ{irq} is not mapped to a single core: {data}") # # Exception| net.lib.py.ksft.KsftFailEx: IRQ36 is not mapped to a single core: 0-5 # # Exception| # not ok 6 toeplitz.test.rss_tcp_ipv6 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 182, in test # # Exception| irq_cpus = ",".join([str(x) for x in _get_irq_cpus(cfg)]) # # Exception| ~~~~~~~~~~~~~^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 67, in _get_irq_cpus # # Exception| cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) # # Exception| ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 47, in _get_cpu_for_irq # # Exception| raise KsftFailEx(f"IRQ{irq} is not mapped to a single core: {data}") # # Exception| net.lib.py.ksft.KsftFailEx: IRQ36 is not mapped to a single core: 0-5 # # Exception| # not ok 7 toeplitz.test.rss_udp_ipv4 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 182, in test # # Exception| irq_cpus = ",".join([str(x) for x in _get_irq_cpus(cfg)]) # # Exception| ~~~~~~~~~~~~~^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 67, in _get_irq_cpus # # Exception| cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) # # Exception| ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 47, in _get_cpu_for_irq # # Exception| raise KsftFailEx(f"IRQ{irq} is not mapped to a single core: {data}") # # Exception| net.lib.py.ksft.KsftFailEx: IRQ36 is not mapped to a single core: 0-5 # # Exception| # not ok 8 toeplitz.test.rss_udp_ipv6 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 187, in test # # Exception| rps_cpus = _get_unused_rps_cpus(cfg, count=2) # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 80, in _get_unused_rps_cpus # # Exception| rx_cpus = set(_get_irq_cpus(cfg)) # # Exception| ~~~~~~~~~~~~~^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 67, in _get_irq_cpus # # Exception| cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) # # Exception| ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 47, in _get_cpu_for_irq # # Exception| raise KsftFailEx(f"IRQ{irq} is not mapped to a single core: {data}") # # Exception| net.lib.py.ksft.KsftFailEx: IRQ36 is not mapped to a single core: 0-5 # # Exception| # not ok 9 toeplitz.test.rps_tcp_ipv4 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 187, in test # # Exception| rps_cpus = _get_unused_rps_cpus(cfg, count=2) # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 80, in _get_unused_rps_cpus # # Exception| rx_cpus = set(_get_irq_cpus(cfg)) # # Exception| ~~~~~~~~~~~~~^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 67, in _get_irq_cpus # # Exception| cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) # # Exception| ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 47, in _get_cpu_for_irq # # Exception| raise KsftFailEx(f"IRQ{irq} is not mapped to a single core: {data}") # # Exception| net.lib.py.ksft.KsftFailEx: IRQ36 is not mapped to a single core: 0-5 # # Exception| # not ok 10 toeplitz.test.rps_tcp_ipv6 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 187, in test # # Exception| rps_cpus = _get_unused_rps_cpus(cfg, count=2) # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 80, in _get_unused_rps_cpus # # Exception| rx_cpus = set(_get_irq_cpus(cfg)) # # Exception| ~~~~~~~~~~~~~^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 67, in _get_irq_cpus # # Exception| cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) # # Exception| ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 47, in _get_cpu_for_irq # # Exception| raise KsftFailEx(f"IRQ{irq} is not mapped to a single core: {data}") # # Exception| net.lib.py.ksft.KsftFailEx: IRQ36 is not mapped to a single core: 0-5 # # Exception| # not ok 11 toeplitz.test.rps_udp_ipv4 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 417, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 187, in test # # Exception| rps_cpus = _get_unused_rps_cpus(cfg, count=2) # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 80, in _get_unused_rps_cpus # # Exception| rx_cpus = set(_get_irq_cpus(cfg)) # # Exception| ~~~~~~~~~~~~~^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 67, in _get_irq_cpus # # Exception| cpus.append(_get_cpu_for_irq(napis[queues[name]["napi-id"]]["irq"])) # # Exception| ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 47, in _get_cpu_for_irq # # Exception| raise KsftFailEx(f"IRQ{irq} is not mapped to a single core: {data}") # # Exception| net.lib.py.ksft.KsftFailEx: IRQ36 is not mapped to a single core: 0-5 # # Exception| # not ok 12 toeplitz.test.rps_udp_ipv6 # # Totals: pass:1 fail:11 xfail:0 xpass:0 skip:0 error:0 not ok 1 selftests: drivers/net/hw: toeplitz.py # exit=1 /srv/vmksft/testing/wt-24/tools/testing/selftests/kselftest/runner.sh: line 50: : No such file or directory make[1]: Leaving directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' make: Leaving directory '/srv/vmksft/testing/wt-24/tools/testing/selftests' xx__-> echo $? 0 xx__-> echo scan > /sys/kernel/debug/kmemleak xx__-> /opt/nipa/contest/scripts/env_check.py Comparing to existing state file: no differences detected. Current system state saved to /tmp/nipa-env-state.json xx__-> echo $? 0 xx__->