< 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 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 37734 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 41 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x8afdabe0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37428 dport 37734] != expected 0x6f5090a2 # # Exception| cpu 0: rx_hash 0xb8bf670e [saddr 192.0.3.2 daddr 192.0.3.1 sport 37466 dport 37734] != expected 0xdeedb0e3 # # Exception| cpu 0: rx_hash 0xafc85f77 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37478 dport 37734] != expected 0x119a8013 # # Exception| cpu 0: rx_hash 0x0fb04138 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37506 dport 37734] != expected 0x17e29370 # # Exception| cpu 0: rx_hash 0x445bc971 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37542 dport 37734] != expected 0xf40916b5 # # Exception| cpu 4: rx_hash 0x1dea8bc0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37436 dport 37734] != expected 0xa7b8497b # # Exception| cpu 4: rx_hash 0x7334f71e [saddr 192.0.3.2 daddr 192.0.3.1 sport 37450 dport 37734] != expected 0x3a99dc0f # # Exception| cpu 4: rx_hash 0x0186076f [saddr 192.0.3.2 daddr 192.0.3.1 sport 37462 dport 37734] != expected 0x87d4da89 # # Exception| cpu 4: rx_hash 0xe4e3e78d [saddr 192.0.3.2 daddr 192.0.3.1 sport 37464 dport 37734] != expected 0xfd4ed785 # # Exception| cpu 4: rx_hash 0x81e61f36 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37474 dport 37734] != expected 0x804b33a0 # # Exception| cpu 4: rx_hash 0x986751ab [saddr 192.0.3.2 daddr 192.0.3.1 sport 37520 dport 37734] != expected 0xd03598fa # # Exception| cpu 4: rx_hash 0xea159169 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37526 dport 37734] != expected 0x62474c2f # # Exception| cpu 5: rx_hash 0x6443cf67 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37494 dport 37734] != expected 0xf5eeecff # # Exception| cpu 5: rx_hash 0xfda299a3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37552 dport 37734] != expected 0xa20fae8c # # Exception| cpu 0: rx_hash 0x18c77941 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37566 dport 37734] != expected 0xd895a380 # # Exception| cpu 0: rx_hash 0xcfe0554d [saddr 192.0.3.2 daddr 192.0.3.1 sport 37598 dport 37734] != expected 0x13b28ecd # # Exception| cpu 0: rx_hash 0x4f804d14 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37610 dport 37734] != expected 0x142d67e4 # # Exception| cpu 0: rx_hash 0x5457ca7a [saddr 192.0.3.2 daddr 192.0.3.1 sport 37638 dport 37734] != expected 0x74faeb90 # # Exception| cpu 0: rx_hash 0x26e53a0b [saddr 192.0.3.2 daddr 192.0.3.1 sport 37658 dport 37734] != expected 0xc9b7ed16 # # Exception| cpu 4: rx_hash 0x583745de [saddr 192.0.3.2 daddr 192.0.3.1 sport 37580 dport 37734] != expected 0xd4658547 # # Exception| cpu 4: rx_hash 0x046bc55d [saddr 192.0.3.2 daddr 192.0.3.1 sport 37582 dport 37734] != expected 0xf7c6e221 # # Exception| cpu 4: rx_hash 0xaae5adf6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37604 dport 37734] != expected 0x6eb76ae8 # # Exception| cpu 4: rx_hash 0x131cfd24 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37618 dport 37734] != expected 0x38b1d2d1 # # Exception| cpu 4: rx_hash 0xd8575d87 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37624 dport 37734] != expected 0xd3fa6c6e # # Exception| cpu 4: rx_hash 0xed6eaa1b [saddr 192.0.3.2 daddr 192.0.3.1 sport 37642 dport 37734] != expected 0x2dc381fa # # Exception| cpu 5: rx_hash 0x26250ab8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37632 dport 37734] != expected 0xc6883f45 # # Exception| cpu 5: rx_hash 0x7ab9ba88 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37656 dport 37734] != expected 0xea148a70 # # Exception| cpu 0: rx_hash 0x08cb7a4a [saddr 192.0.3.2 daddr 192.0.3.1 sport 37662 dport 37734] != expected 0x58665ea5 # # Exception| cpu 0: rx_hash 0xd437d223 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37682 dport 37734] != expected 0x736502b9 # # Exception| cpu 0: rx_hash 0x94c7eebc [saddr 192.0.3.2 daddr 192.0.3.1 sport 37696 dport 37734] != expected 0x7f95247e # # Exception| cpu 0: rx_hash 0x2d3ebe6e [saddr 192.0.3.2 daddr 192.0.3.1 sport 37718 dport 37734] != expected 0x29939c47 # # Exception| cpu 0: rx_hash 0xc85b5e8c [saddr 192.0.3.2 daddr 192.0.3.1 sport 37720 dport 37734] != expected 0x5309914b # # Exception| cpu 0: rx_hash 0xdf2c66f5 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37732 dport 37734] != expected 0x9c7ea1bb # # Exception| cpu 0: rx_hash 0x3a498617 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37738 dport 37734] != expected 0xe6e4acb7 # # Exception| cpu 4: rx_hash 0x483b46d5 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37740 dport 37734] != expected 0x54967862 # # Exception| cpu 4: rx_hash 0x48fb7666 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37750 dport 37734] != expected 0x5ba9aa31 # # Exception| cpu 5: rx_hash 0x88ab6213 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37674 dport 37734] != expected 0x5ff9b78c # # Exception| cpu 5: rx_hash 0x5f8c4e1f [saddr 192.0.3.2 daddr 192.0.3.1 sport 37706 dport 37734] != expected 0x94de9ac1 # # Exception| cpu 5: rx_hash 0xe6751ecd [saddr 192.0.3.2 daddr 192.0.3.1 sport 37724 dport 37734] != expected 0xc2d822f8 # # Exception| cpu 5: rx_hash 0xad5ea637 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37730 dport 37734] != expected 0x2e0c756e # # Exception| cpu 5: rx_hash 0xf1c21607 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37754 dport 37734] != expected 0x290c05b # # Exception| count: pass=0 nohash=0 fail=41 # # Exception| # not ok 1 toeplitz.test.tcp_ipv4 # # Receiver output: # # # # RSS indirection table size: 256 # # # cpu 0: rx_hash 0x1e5f4826 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46212 dport 54428] OK # # # cpu 0: rx_hash 0xfbfa9877 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46224 dport 54428] OK # # # cpu 0: rx_hash 0x27c600ad [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46246 dport 54428] OK # # # cpu 0: rx_hash 0xb011103e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46260 dport 54428] OK # # # cpu 0: rx_hash 0x0928705f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46264 dport 54428] OK # # # cpu 0: rx_hash 0xf0e12ca1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46278 dport 54428] OK # # # cpu 0: rx_hash 0x67363c32 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46292 dport 54428] OK # # # cpu 0: rx_hash 0xe756246b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46304 dport 54428] OK # # # cpu 4: rx_hash 0x6cedb857 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46232 dport 54428] OK # # # cpu 4: rx_hash 0xec4d90bd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46262 dport 54428] OK # # # cpu 5: rx_hash 0x898858b5 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46230 dport 54428] OK # # # cpu 5: rx_hash 0xacbdac22 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46276 dport 54428] OK # # # cpu 0: rx_hash 0x0233c489 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46318 dport 54428] OK # # # cpu 0: rx_hash 0x95e4d41a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46332 dport 54428] OK # # # cpu 0: rx_hash 0xd2afe344 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46344 dport 54428] OK # # # cpu 0: rx_hash 0xfc4193b6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46358 dport 54428] OK # # # cpu 0: rx_hash 0xbcb1af29 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46436 dport 54428] OK # # # cpu 4: rx_hash 0x0e534b2d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46372 dport 54428] OK # # # cpu 4: rx_hash 0xb7aa1bff [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46386 dport 54428] OK # # # cpu 4: rx_hash 0xf75a2760 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46400 dport 54428] OK # # # cpu 4: rx_hash 0x8528e7a2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46406 dport 54428] OK # # # cpu 4: rx_hash 0x59147f78 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46448 dport 54428] OK # # # cpu 4: rx_hash 0x773a3f39 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46452 dport 54428] OK # # # cpu 5: rx_hash 0x02f3f43a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46324 dport 54428] OK # # # cpu 5: rx_hash 0x99446b0d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46380 dport 54428] OK # # # cpu 5: rx_hash 0x4ea377b2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46422 dport 54428] OK # # # cpu 5: rx_hash 0x409531e5 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46466 dport 54428] OK # # # cpu 0: rx_hash 0x40550156 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46488 dport 54428] OK # # # cpu 0: rx_hash 0x5722392f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46500 dport 54428] OK # # # cpu 0: rx_hash 0x17d205b0 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46550 dport 54428] OK # # # cpu 4: rx_hash 0xa530e1b4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46486 dport 54428] OK # # # cpu 4: rx_hash 0xee1b594e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46504 dport 54428] OK # # # cpu 4: rx_hash 0xf277d5e1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46530 dport 54428] OK # # # cpu 4: rx_hash 0x00a53dc9 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46570 dport 54428] OK # # # cpu 5: rx_hash 0x8bde9146 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46472 dport 54428] OK # # # cpu 5: rx_hash 0x3227c194 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46494 dport 54428] OK # # # cpu 5: rx_hash 0xb247d9cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46506 dport 54428] OK # # # cpu 5: rx_hash 0xeedb69fd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46514 dport 54428] OK # # # cpu 5: rx_hash 0x2590c95e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46520 dport 54428] OK # # # cpu 5: rx_hash 0x6560f5c1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46538 dport 54428] OK # # # cpu 5: rx_hash 0xcbee9d6a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46560 dport 54428] OK # # # count: pass=41 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 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 50883 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 34107 dport 50883] != expected 0xa2035183 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 34107 dport 50883] != expected 0xa2035183 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52848 dport 50883] != expected 0xcd062aa0 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52848 dport 50883] != expected 0xcd062aa0 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37913 dport 50883] != expected 0x87393231 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37913 dport 50883] != expected 0x87393231 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55861 dport 50883] != expected 0x13f9e93b # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55861 dport 50883] != expected 0x13f9e93b # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49175 dport 50883] != expected 0xfa6f87f9 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49175 dport 50883] != expected 0xfa6f87f9 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40035 dport 50883] != expected 0xf6e925f6 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40035 dport 50883] != expected 0xf6e925f6 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55386 dport 50883] != expected 0x3221a4d1 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55386 dport 50883] != expected 0x3221a4d1 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 36928 dport 50883] != expected 0x3e6f8340 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 36928 dport 50883] != expected 0x3e6f8340 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43539 dport 50883] != expected 0xd29e58d9 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43539 dport 50883] != expected 0xd29e58d9 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 47642 dport 50883] != expected 0x87d43ba0 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 47642 dport 50883] != expected 0x87d43ba0 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55451 dport 50883] != expected 0x90f4fcbb # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55451 dport 50883] != expected 0x90f4fcbb # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42938 dport 50883] != expected 0x39a8b83 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42938 dport 50883] != expected 0x39a8b83 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54669 dport 50883] != expected 0xb6ec3b26 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54669 dport 50883] != expected 0xb6ec3b26 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 50290 dport 50883] != expected 0x8c4e0678 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 50290 dport 50883] != expected 0x8c4e0678 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58837 dport 50883] != expected 0x94fbdb72 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58837 dport 50883] != expected 0x94fbdb72 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33062 dport 50883] != expected 0x3399487a # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33062 dport 50883] != expected 0x3399487a # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 35549 dport 50883] != expected 0x20e5f945 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 35549 dport 50883] != expected 0x20e5f945 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 60920 dport 50883] != expected 0x4d76a17b # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 60920 dport 50883] != expected 0x4d76a17b # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57563 dport 50883] != expected 0x2bb74103 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57563 dport 50883] != expected 0x2bb74103 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43310 dport 50883] != expected 0x23cb434c # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43310 dport 50883] != expected 0x23cb434c # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40741 dport 50883] != expected 0x84e20fb1 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40741 dport 50883] != expected 0x84e20fb1 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41778 dport 50883] != expected 0xfc6d0e74 # # Exception| cpu 0: rx_hash 0x83fe3e47 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41778 dport 50883] != expected 0xfc6d0e74 # # 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 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 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 59510 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36197 dport 59510] != expected 0xe3a47433 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36197 dport 59510] != expected 0xe3a47433 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42427 dport 59510] != expected 0xba2b402f # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42427 dport 59510] != expected 0xba2b402f # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44815 dport 59510] != expected 0x10f161d4 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44815 dport 59510] != expected 0x10f161d4 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44378 dport 59510] != expected 0x69530807 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44378 dport 59510] != expected 0x69530807 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47666 dport 59510] != expected 0xaa62447a # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47666 dport 59510] != expected 0xaa62447a # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47983 dport 59510] != expected 0xfe33e808 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47983 dport 59510] != expected 0xfe33e808 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53238 dport 59510] != expected 0x3f55a9c0 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53238 dport 59510] != expected 0x3f55a9c0 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56464 dport 59510] != expected 0xd22f2b1f # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56464 dport 59510] != expected 0xd22f2b1f # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44800 dport 59510] != expected 0x4d2d8030 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44800 dport 59510] != expected 0x4d2d8030 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58533 dport 59510] != expected 0x84cf6b38 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58533 dport 59510] != expected 0x84cf6b38 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34337 dport 59510] != expected 0x201b22d7 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34337 dport 59510] != expected 0x201b22d7 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52471 dport 59510] != expected 0x3d084d47 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52471 dport 59510] != expected 0x3d084d47 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53835 dport 59510] != expected 0x3920e94c # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53835 dport 59510] != expected 0x3920e94c # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40999 dport 59510] != expected 0x767e551d # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40999 dport 59510] != expected 0x767e551d # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53909 dport 59510] != expected 0xfc5d0fb8 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53909 dport 59510] != expected 0xfc5d0fb8 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50461 dport 59510] != expected 0xb13a1dcb # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50461 dport 59510] != expected 0xb13a1dcb # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57380 dport 59510] != expected 0xae29367c # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57380 dport 59510] != expected 0xae29367c # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43607 dport 59510] != expected 0x1919a2a1 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43607 dport 59510] != expected 0x1919a2a1 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34981 dport 59510] != expected 0xefa17574 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34981 dport 59510] != expected 0xefa17574 # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38104 dport 59510] != expected 0x2eff1aff # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38104 dport 59510] != expected 0x2eff1aff # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41530 dport 59510] != expected 0x2a29f8ea # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41530 dport 59510] != expected 0x2a29f8ea # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 33870 dport 59510] != expected 0x3cbcb3bf # # Exception| cpu 5: rx_hash 0x83ec1970 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 33870 dport 59510] != expected 0x3cbcb3bf # # 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 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 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__->