< 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' # 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 420, 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 200, in __exit__ # # Exception| return self.process(terminate=terminate, fail=self.check_fail, # # Exception| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| expect_fail=self.expect_fail) # # Exception| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 129, 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 58772 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 42 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0xaa1779d4 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48396 dport 58772] != expected 0x5942e8a7 # # Exception| cpu 0: rx_hash 0xddcbb183 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48428 dport 58772] != expected 0x71364b59 # # Exception| cpu 0: rx_hash 0x0da0fb6b [saddr 192.0.3.2 daddr 192.0.3.1 sport 48450 dport 58772] != expected 0x284516bb # # Exception| cpu 4: rx_hash 0x3272212d [saddr 192.0.3.2 daddr 192.0.3.1 sport 48444 dport 58772] != expected 0x21df0ca4 # # Exception| cpu 5: rx_hash 0x3a90ee19 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48380 dport 58772] != expected 0x7af6e1db # # Exception| cpu 5: rx_hash 0x59f70fee [saddr 192.0.3.2 daddr 192.0.3.1 sport 48402 dport 58772] != expected 0x6c9600b9 # # Exception| cpu 5: rx_hash 0xbc5ed267 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48416 dport 58772] != expected 0x9341db55 # # Exception| cpu 0: rx_hash 0xe2196bc5 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48466 dport 58772] != expected 0x78ac5146 # # Exception| cpu 0: rx_hash 0x4ab682ce [saddr 192.0.3.2 daddr 192.0.3.1 sport 48506 dport 58772] != expected 0xf10a7d43 # # Exception| cpu 0: rx_hash 0x26bf99d7 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48536 dport 58772] != expected 0xc0139852 # # Exception| cpu 4: rx_hash 0x838c0821 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48478 dport 58772] != expected 0x9adbc14a # # Exception| cpu 4: rx_hash 0x7a7c333c [saddr 192.0.3.2 daddr 192.0.3.1 sport 48482 dport 58772] != expected 0x31b545 # # Exception| cpu 4: rx_hash 0x6625d5a8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48492 dport 58772] != expected 0x650c1aa6 # # Exception| cpu 4: rx_hash 0xb4ca8c09 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48522 dport 58772] != expected 0x17b0e040 # # Exception| cpu 4: rx_hash 0x0a2cceb1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48526 dport 58772] != expected 0x5415ffb7 # # Exception| cpu 5: rx_hash 0xe5955e1f [saddr 192.0.3.2 daddr 192.0.3.1 sport 48542 dport 58772] != expected 0x4fcb84a # # Exception| cpu 5: rx_hash 0xdf4fa2ca [saddr 192.0.3.2 daddr 192.0.3.1 sport 48548 dport 58772] != expected 0x5af9ec5d # # Exception| cpu 5: rx_hash 0xc316445e [saddr 192.0.3.2 daddr 192.0.3.1 sport 48554 dport 58772] != expected 0x3fc443be # # Exception| cpu 0: rx_hash 0x51635180 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48568 dport 58772] != expected 0xe8673bac # # Exception| cpu 0: rx_hash 0xda478459 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48608 dport 58772] != expected 0xd66a255 # # Exception| cpu 0: rx_hash 0x0534a505 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48616 dport 58772] != expected 0xacb42dae # # Exception| cpu 4: rx_hash 0xd057c97e [saddr 192.0.3.2 daddr 192.0.3.1 sport 48578 dport 58772] != expected 0xa2583e44 # # Exception| cpu 4: rx_hash 0x48329187 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48626 dport 58772] != expected 0xdac5da47 # # Exception| cpu 4: rx_hash 0xf6d4d33f [saddr 192.0.3.2 daddr 192.0.3.1 sport 48630 dport 58772] != expected 0x9960c5b0 # # Exception| cpu 5: rx_hash 0x3fee59d0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48594 dport 58772] != expected 0xf2b179b9 # # Exception| cpu 5: rx_hash 0x5e7b3a34 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48606 dport 58772] != expected 0x10c6e9b5 # # Exception| cpu 0: rx_hash 0xd12e8877 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48646 dport 58772] != expected 0x585386f3 # # Exception| cpu 0: rx_hash 0xfdbddf11 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48656 dport 58772] != expected 0xcc55e116 # # Exception| cpu 0: rx_hash 0x9c28bcf5 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48668 dport 58772] != expected 0x2e22711a # # Exception| cpu 0: rx_hash 0xdb3ec550 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48676 dport 58772] != expected 0xf76d1ae2 # # Exception| cpu 0: rx_hash 0x348755fe [saddr 192.0.3.2 daddr 192.0.3.1 sport 48692 dport 58772] != expected 0xa7845d1f # # Exception| cpu 0: rx_hash 0x170c692c [saddr 192.0.3.2 daddr 192.0.3.1 sport 48708 dport 58772] != expected 0xcb23e8e3 # # Exception| cpu 4: rx_hash 0x9741b0db [saddr 192.0.3.2 daddr 192.0.3.1 sport 48634 dport 58772] != expected 0x7b1755bc # # Exception| cpu 4: rx_hash 0x29a7f263 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48638 dport 58772] != expected 0x38b24a4b # # Exception| cpu 4: rx_hash 0x6fc8cacf [saddr 192.0.3.2 daddr 192.0.3.1 sport 48642 dport 58772] != expected 0x1bf69904 # # Exception| cpu 0: rx_hash 0x6ac0ec5c [saddr 192.0.3.2 daddr 192.0.3.1 sport 48710 dport 58772] != expected 0x4c69d70c # # Exception| cpu 0: rx_hash 0x85797cf2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48726 dport 58772] != expected 0x1c8090f1 # # Exception| cpu 0: rx_hash 0x9eacafbc [saddr 192.0.3.2 daddr 192.0.3.1 sport 48788 dport 58772] != expected 0x5edd61e # # Exception| cpu 4: rx_hash 0xde36e3c3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48736 dport 58772] != expected 0xa0f254ea # # Exception| cpu 4: rx_hash 0x60d0a17b [saddr 192.0.3.2 daddr 192.0.3.1 sport 48740 dport 58772] != expected 0xe3574b1d # # Exception| cpu 4: rx_hash 0xc26f0557 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48750 dport 58772] != expected 0xc5cffb09 # # Exception| cpu 4: rx_hash 0x71153f12 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48772 dport 58772] != expected 0x550491e3 # # Exception| count: pass=0 nohash=0 fail=42 # # Exception| # not ok 1 toeplitz.test.tcp_ipv4 # # Receiver output: # # # # RSS indirection table size: 256 # # # cpu 5: rx_hash 0x3053bcdc [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49658 dport 39449] OK # # # cpu 5: rx_hash 0x763c8470 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49670 dport 39449] OK # # # cpu 5: rx_hash 0x5aafd316 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49680 dport 39449] OK # # # cpu 0: rx_hash 0xf2003a1d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49720 dport 39449] OK # # # cpu 4: rx_hash 0x01e04c27 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49702 dport 39449] OK # # # cpu 4: rx_hash 0x60752fc3 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49706 dport 39449] OK # # # cpu 4: rx_hash 0x4ce678a5 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49724 dport 39449] OK # # # cpu 4: rx_hash 0x04e86ab4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49762 dport 39449] OK # # # cpu 5: rx_hash 0xf810773a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49690 dport 39449] OK # # # cpu 5: rx_hash 0x8fccbf6d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49722 dport 39449] OK # # # cpu 5: rx_hash 0x5fa7f585 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49748 dport 39449] OK # # # cpu 0: rx_hash 0x6f6d4477 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49740 dport 39449] OK # # # cpu 0: rx_hash 0x657d0950 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49774 dport 39449] OK # # # cpu 0: rx_hash 0x152df4dd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49794 dport 39449] OK # # # cpu 0: rx_hash 0x25e7452f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49818 dport 39449] OK # # # cpu 4: rx_hash 0x287b3dd2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49780 dport 39449] OK # # # cpu 4: rx_hash 0x74b89739 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49806 dport 39449] OK # # # cpu 4: rx_hash 0x62f13c8a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49826 dport 39449] OK # # # cpu 5: rx_hash 0xdb9b4be8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49770 dport 39449] OK # # # cpu 5: rx_hash 0x969d7f6a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49776 dport 39449] OK # # # cpu 0: rx_hash 0xdc177e32 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49830 dport 39449] OK # # # cpu 0: rx_hash 0x4e626bec [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49844 dport 39449] OK # # # cpu 0: rx_hash 0x2ff70808 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49848 dport 39449] OK # # # cpu 4: rx_hash 0x8d48ac24 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49842 dport 39449] OK # # # cpu 4: rx_hash 0x1025d24e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49862 dport 39449] OK # # # cpu 4: rx_hash 0xcf56f312 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49870 dport 39449] OK # # # cpu 4: rx_hash 0x5d23e6cc [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49884 dport 39449] OK # # # cpu 5: rx_hash 0xbd821dd6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49834 dport 39449] OK # # # cpu 5: rx_hash 0x066c79fd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49898 dport 39449] OK # # # cpu 5: rx_hash 0x4b6a4d7f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49904 dport 39449] OK # # # cpu 0: rx_hash 0x94196c23 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49912 dport 39449] OK # # # cpu 0: rx_hash 0x2aff2e9b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49916 dport 39449] OK # # # cpu 0: rx_hash 0xba78b956 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49932 dport 39449] OK # # # cpu 0: rx_hash 0xf77e8dd4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49942 dport 39449] OK # # # cpu 4: rx_hash 0x96ebee30 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49946 dport 39449] OK # # # cpu 4: rx_hash 0x12d7505d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49956 dport 39449] OK # # # cpu 4: rx_hash 0xfd6ec0f3 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49972 dport 39449] OK # # # cpu 5: rx_hash 0xeb276b40 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49944 dport 39449] OK # # # cpu 5: rx_hash 0xac3112e5 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49952 dport 39449] OK # # # cpu 5: rx_hash 0xe1372667 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49978 dport 39449] 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 420, 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 200, in __exit__ # # Exception| return self.process(terminate=terminate, fail=self.check_fail, # # Exception| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| expect_fail=self.expect_fail) # # Exception| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 129, 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 46800 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 40 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 60060 dport 46800] != expected 0xf566fa95 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 60060 dport 46800] != expected 0xf566fa95 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 44890 dport 46800] != expected 0x4f7a8bc # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 44890 dport 46800] != expected 0x4f7a8bc # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 39813 dport 46800] != expected 0x12ab7e87 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 39813 dport 46800] != expected 0x12ab7e87 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 42238 dport 46800] != expected 0x3a133085 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 42238 dport 46800] != expected 0x3a133085 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 52217 dport 46800] != expected 0x7f3f8861 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 52217 dport 46800] != expected 0x7f3f8861 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 44759 dport 46800] != expected 0xa707fbee # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 44759 dport 46800] != expected 0xa707fbee # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 39400 dport 46800] != expected 0x2081296b # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 39400 dport 46800] != expected 0x2081296b # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 57734 dport 46800] != expected 0x5c3f01b3 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 57734 dport 46800] != expected 0x5c3f01b3 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 58753 dport 46800] != expected 0x6707fb6a # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 58753 dport 46800] != expected 0x6707fb6a # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 46881 dport 46800] != expected 0xc4ade942 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 46881 dport 46800] != expected 0xc4ade942 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 49985 dport 46800] != expected 0xd4cc19e9 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 49985 dport 46800] != expected 0xd4cc19e9 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 40908 dport 46800] != expected 0x58947a42 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 40908 dport 46800] != expected 0x58947a42 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 40795 dport 46800] != expected 0x481b4a86 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 40795 dport 46800] != expected 0x481b4a86 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 52514 dport 46800] != expected 0x8a399676 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 52514 dport 46800] != expected 0x8a399676 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 36998 dport 46800] != expected 0x445d3279 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 36998 dport 46800] != expected 0x445d3279 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 41525 dport 46800] != expected 0x9ffc696f # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 41525 dport 46800] != expected 0x9ffc696f # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 44571 dport 46800] != expected 0xdb5712e2 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 44571 dport 46800] != expected 0xdb5712e2 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 33584 dport 46800] != expected 0x29ebe99a # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 33584 dport 46800] != expected 0x29ebe99a # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 46179 dport 46800] != expected 0x70545912 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 46179 dport 46800] != expected 0x70545912 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 49044 dport 46800] != expected 0x83bd9718 # # Exception| cpu 5: rx_hash 0xb68836fa [saddr 192.0.3.2 daddr 192.0.3.1 sport 49044 dport 46800] != expected 0x83bd9718 # # Exception| count: pass=0 nohash=0 fail=40 # # 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 420, 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 200, in __exit__ # # Exception| return self.process(terminate=terminate, fail=self.check_fail, # # Exception| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| expect_fail=self.expect_fail) # # Exception| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 129, 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 44403 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 47 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35905 dport 44403] != expected 0xaf0345e3 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35905 dport 44403] != expected 0xaf0345e3 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50381 dport 44403] != expected 0x7b058957 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50381 dport 44403] != expected 0x7b058957 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36907 dport 44403] != expected 0xa1006140 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36907 dport 44403] != expected 0xa1006140 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57543 dport 44403] != expected 0x97317f1 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57543 dport 44403] != expected 0x97317f1 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54748 dport 44403] != expected 0x17313382 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54748 dport 44403] != expected 0x17313382 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45658 dport 44403] != expected 0x4518473e # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45658 dport 44403] != expected 0x4518473e # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45918 dport 44403] != expected 0x95059c8c # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45918 dport 44403] != expected 0x95059c8c # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39188 dport 44403] != expected 0x9d813fe7 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39188 dport 44403] != expected 0x9d813fe7 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 55519 dport 44403] != expected 0x89feb07a # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 55519 dport 44403] != expected 0x89feb07a # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48128 dport 44403] != expected 0x72ec4e71 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57448 dport 44403] != expected 0x449801c6 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57448 dport 44403] != expected 0x449801c6 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47194 dport 44403] != expected 0xdfbaf89a # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47194 dport 44403] != expected 0xdfbaf89a # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44411 dport 44403] != expected 0x7055fcf4 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44411 dport 44403] != expected 0x7055fcf4 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49544 dport 44403] != expected 0xb0d1da6d # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49544 dport 44403] != expected 0xb0d1da6d # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38118 dport 44403] != expected 0x6abb839 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38118 dport 44403] != expected 0x6abb839 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54904 dport 44403] != expected 0xda7adef7 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54904 dport 44403] != expected 0xda7adef7 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36058 dport 44403] != expected 0xc46b4995 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36058 dport 44403] != expected 0xc46b4995 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57950 dport 44403] != expected 0xa8aa5272 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57950 dport 44403] != expected 0xa8aa5272 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42443 dport 44403] != expected 0x1818e539 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42443 dport 44403] != expected 0x1818e539 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37725 dport 44403] != expected 0x9827cfd5 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37725 dport 44403] != expected 0x9827cfd5 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 55415 dport 44403] != expected 0xfca66b64 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 55415 dport 44403] != expected 0xfca66b64 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37249 dport 44403] != expected 0xc76fa624 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37249 dport 44403] != expected 0xc76fa624 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48666 dport 44403] != expected 0x8897b676 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48666 dport 44403] != expected 0x8897b676 # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59940 dport 44403] != expected 0x441b9ad # # Exception| cpu 0: rx_hash 0xaf186b14 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59940 dport 44403] != expected 0x441b9ad # # Exception| count: pass=0 nohash=0 fail=47 # # 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 420, 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 420, 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 420, 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 420, 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 420, 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 420, 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 420, 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 420, 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 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__->