< 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 1800 # selftests: drivers/net/hw: toeplitz.py # # Interface: enp1s0, driver: fbnic # 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 216, 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 205, 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 134, 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 35534 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 40 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x7ff4c19b [saddr 192.0.3.2 daddr 192.0.3.1 sport 41974 dport 35534] != expected 0x3f2dd427 # # Exception| cpu 0: rx_hash 0x1913cd80 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41986 dport 35534] != expected 0x8ec57f12 # # Exception| cpu 0: rx_hash 0xadce97ad [saddr 192.0.3.2 daddr 192.0.3.1 sport 41998 dport 35534] != expected 0x49e960e0 # # Exception| cpu 0: rx_hash 0x39731d29 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42004 dport 35534] != expected 0x5e10ba5e # # Exception| cpu 4: rx_hash 0xb7ecf5b1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41902 dport 35534] != expected 0xcb18a574 # # Exception| cpu 4: rx_hash 0x978c2518 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41912 dport 35534] != expected 0x1bcd6038 # # Exception| cpu 4: rx_hash 0xefc4a9cf [saddr 192.0.3.2 daddr 192.0.3.1 sport 41946 dport 35534] != expected 0xd7473681 # # Exception| cpu 4: rx_hash 0x70a979db [saddr 192.0.3.2 daddr 192.0.3.1 sport 41988 dport 35534] != expected 0x9d40f6 # # Exception| cpu 4: rx_hash 0xc37d6096 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42010 dport 35534] != expected 0x6d5370eb # # Exception| cpu 5: rx_hash 0x5c10b082 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41924 dport 35534] != expected 0xba89069c # # Exception| cpu 5: rx_hash 0x15cad470 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41940 dport 35534] != expected 0xe404fc34 # # Exception| cpu 5: rx_hash 0xcc20d8d6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41960 dport 35534] != expected 0x52e3e43a # # Exception| cpu 0: rx_hash 0x1d9e2f50 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42036 dport 35534] != expected 0x7156470a # # Exception| cpu 0: rx_hash 0x534d08c2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42038 dport 35534] != expected 0x8539924d # # Exception| cpu 0: rx_hash 0x0b6554bc [saddr 192.0.3.2 daddr 192.0.3.1 sport 42050 dport 35534] != expected 0x996601b8 # # Exception| cpu 0: rx_hash 0x4d4f6f68 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42120 dport 35534] != expected 0xcc60e051 # # Exception| cpu 4: rx_hash 0x54444ba2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42020 dport 35534] != expected 0x2fdbbda2 # # Exception| cpu 4: rx_hash 0x62dfe0e7 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42052 dport 35534] != expected 0x173e3e5c # # Exception| cpu 4: rx_hash 0x615b4157 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42080 dport 35534] != expected 0x424f29ab # # Exception| cpu 4: rx_hash 0x288125a5 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42096 dport 35534] != expected 0x1cc2d303 # # Exception| cpu 4: rx_hash 0x9028811e [saddr 192.0.3.2 daddr 192.0.3.1 sport 42114 dport 35534] != expected 0x8514c047 # # Exception| cpu 5: rx_hash 0x0c6c17dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 42064 dport 35534] != expected 0x33842e57 # # Exception| cpu 5: rx_hash 0x9c5c7f88 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42108 dport 35534] != expected 0xdbeeccf1 # # Exception| cpu 5: rx_hash 0x6d2fbfc1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42142 dport 35534] != expected 0x1cb5251d # # Exception| cpu 0: rx_hash 0xd9f2e5ec [saddr 192.0.3.2 daddr 192.0.3.1 sport 42130 dport 35534] != expected 0xdb993aef # # Exception| cpu 0: rx_hash 0x27717a83 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42154 dport 35534] != expected 0x1749c842 # # Exception| cpu 0: rx_hash 0xfd1fd795 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42162 dport 35534] != expected 0xf4dfc7bb # # Exception| cpu 0: rx_hash 0x94a563ce [saddr 192.0.3.2 daddr 192.0.3.1 sport 42164 dport 35534] != expected 0x7a87f85f # # Exception| cpu 0: rx_hash 0x81dab992 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42214 dport 35534] != expected 0xc7c6a91a # # Exception| cpu 0: rx_hash 0x7cdd874d [saddr 192.0.3.2 daddr 192.0.3.1 sport 42234 dport 35534] != expected 0x5e674c40 # # Exception| cpu 4: rx_hash 0x0711aa2a [saddr 192.0.3.2 daddr 192.0.3.1 sport 42172 dport 35534] != expected 0xc79c0d0e # # Exception| cpu 4: rx_hash 0x5f39f654 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42184 dport 35534] != expected 0xdbc39efb # # Exception| cpu 4: rx_hash 0x85575b42 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42192 dport 35534] != expected 0x38559102 # # Exception| cpu 4: rx_hash 0xe8600dc9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42208 dport 35534] != expected 0x499e96fe # # Exception| cpu 4: rx_hash 0x135d4c5d [saddr 192.0.3.2 daddr 192.0.3.1 sport 42240 dport 35534] != expected 0xff4275ff # # Exception| cpu 4: rx_hash 0x7ae7f806 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42246 dport 35534] != expected 0x711a4a1b # # Exception| cpu 5: rx_hash 0xb3ccf007 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42160 dport 35534] != expected 0xb012fc # # Exception| cpu 5: rx_hash 0x126e7076 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42222 dport 35534] != expected 0x7add5c4b # # Exception| cpu 5: rx_hash 0x333d9cf4 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42262 dport 35534] != expected 0x2f97b0b3 # # Exception| cpu 5: rx_hash 0x87e0c6d9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42266 dport 35534] != expected 0xe8bbaf41 # # Exception| count: pass=0 nohash=0 fail=40 # # Exception| # not ok 1 toeplitz.test.tcp_ipv4 # # Receiver output: # # # # RSS indirection table size: 256 # # # cpu 0: rx_hash 0x9b30f6b0 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35550 dport 44398] OK # # # cpu 0: rx_hash 0xf607a03b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35566 dport 44398] OK # # # cpu 0: rx_hash 0x62ba2abf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35572 dport 44398] OK # # # cpu 4: rx_hash 0x0c09dd84 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35552 dport 44398] OK # # # cpu 4: rx_hash 0x9e8e284b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35590 dport 44398] OK # # # cpu 4: rx_hash 0x0a33a2cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35612 dport 44398] OK # # # cpu 5: rx_hash 0xf28a42eb [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35544 dport 44398] OK # # # cpu 5: rx_hash 0xf7349c10 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35584 dport 44398] OK # # # cpu 5: rx_hash 0x43e9c63d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35596 dport 44398] OK # # # cpu 5: rx_hash 0xbeeef8e2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35600 dport 44398] OK # # # cpu 5: rx_hash 0x99876b2b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35604 dport 44398] OK # # # cpu 5: rx_hash 0x0ebe401f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35626 dport 44398] OK # # # cpu 0: rx_hash 0xa815830e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35686 dport 44398] OK # # # cpu 4: rx_hash 0xd4d0ed09 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35634 dport 44398] OK # # # cpu 4: rx_hash 0x1f4c7893 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35662 dport 44398] OK # # # cpu 4: rx_hash 0xac9861de [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35664 dport 44398] OK # # # cpu 4: rx_hash 0xe6c6a49c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35684 dport 44398] OK # # # cpu 5: rx_hash 0xab9122be [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35650 dport 44398] OK # # # cpu 5: rx_hash 0xc22b96e5 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35652 dport 44398] OK # # # cpu 5: rx_hash 0x519f5f01 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35660 dport 44398] OK # # # cpu 5: rx_hash 0xc522d585 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35670 dport 44398] OK # # # cpu 5: rx_hash 0x3f2ca83a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35672 dport 44398] OK # # # cpu 5: rx_hash 0x56961c61 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35678 dport 44398] OK # # # cpu 0: rx_hash 0xc6a67435 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35698 dport 44398] OK # # # cpu 0: rx_hash 0x5512bdd1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35706 dport 44398] OK # # # cpu 0: rx_hash 0x1431c565 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35746 dport 44398] OK # # # cpu 0: rx_hash 0xee3fb8da [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35756 dport 44398] OK # # # cpu 0: rx_hash 0xffcd8056 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35784 dport 44398] OK # # # cpu 0: rx_hash 0x02cabe89 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35796 dport 44398] OK # # # cpu 4: rx_hash 0x3ca8098a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35708 dport 44398] OK # # # cpu 4: rx_hash 0x808c4fe1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35768 dport 44398] OK # # # cpu 4: rx_hash 0xd8a4139f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35788 dport 44398] OK # # # cpu 4: rx_hash 0x6b700ad2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35794 dport 44398] OK # # # cpu 4: rx_hash 0xdfad50ff [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35806 dport 44398] OK # # # cpu 5: rx_hash 0x7e0fd08e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35712 dport 44398] OK # # # cpu 5: rx_hash 0x30dcf71c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35714 dport 44398] OK # # # cpu 5: rx_hash 0x790693ee [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35730 dport 44398] OK # # # cpu 0: rx_hash 0xb29a0674 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35822 dport 44398] OK # # # cpu 0: rx_hash 0xb5934514 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35836 dport 44398] OK # # # cpu 0: rx_hash 0x642db292 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35872 dport 44398] OK # # # cpu 0: rx_hash 0x444d623b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35894 dport 44398] OK # # # cpu 0: rx_hash 0x3b0cad8c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35910 dport 44398] OK # # # count: pass=42 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 216, 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 205, 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 134, 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 37793 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43998 dport 37793] != expected 0xf7ade6ae # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43998 dport 37793] != expected 0xf7ade6ae # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 46122 dport 37793] != expected 0xcea6db94 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 46122 dport 37793] != expected 0xcea6db94 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 44224 dport 37793] != expected 0x3c055126 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 44224 dport 37793] != expected 0x3c055126 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 34420 dport 37793] != expected 0xb24e31f1 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 34420 dport 37793] != expected 0xb24e31f1 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37336 dport 37793] != expected 0x8fcd666d # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37336 dport 37793] != expected 0x8fcd666d # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48137 dport 37793] != expected 0xded42fc # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48137 dport 37793] != expected 0xded42fc # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54584 dport 37793] != expected 0x8394ce52 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54584 dport 37793] != expected 0x8394ce52 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54762 dport 37793] != expected 0x35042042 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54762 dport 37793] != expected 0x35042042 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51301 dport 37793] != expected 0x9388163 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51301 dport 37793] != expected 0x9388163 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42463 dport 37793] != expected 0xcc410fea # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42463 dport 37793] != expected 0xcc410fea # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41648 dport 37793] != expected 0x895e6bba # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41648 dport 37793] != expected 0x895e6bba # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58888 dport 37793] != expected 0x7132b2d6 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58888 dport 37793] != expected 0x7132b2d6 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 46575 dport 37793] != expected 0xc5d485ec # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 46575 dport 37793] != expected 0xc5d485ec # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55708 dport 37793] != expected 0xccf34aef # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55708 dport 37793] != expected 0xccf34aef # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37455 dport 37793] != expected 0xfb0a0685 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37455 dport 37793] != expected 0xfb0a0685 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33793 dport 37793] != expected 0x843a675f # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33793 dport 37793] != expected 0x843a675f # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55972 dport 37793] != expected 0x473f083d # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55972 dport 37793] != expected 0x473f083d # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33258 dport 37793] != expected 0x7237392c # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33258 dport 37793] != expected 0x7237392c # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57117 dport 37793] != expected 0xc73070b # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57117 dport 37793] != expected 0xc73070b # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56526 dport 37793] != expected 0x1520f3ea # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56526 dport 37793] != expected 0x1520f3ea # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37408 dport 37793] != expected 0x1873e540 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37408 dport 37793] != expected 0x1873e540 # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33090 dport 37793] != expected 0xebbb8e7c # # Exception| cpu 0: rx_hash 0x92f5e5e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33090 dport 37793] != expected 0xebbb8e7c # # 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 216, 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 205, 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 134, 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 54138 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 42 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35920 dport 54138] != expected 0xa3e53514 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35920 dport 54138] != expected 0xa3e53514 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47012 dport 54138] != expected 0x42dbd303 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47012 dport 54138] != expected 0x42dbd303 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37253 dport 54138] != expected 0x22ddf9d8 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37253 dport 54138] != expected 0x22ddf9d8 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38207 dport 54138] != expected 0x4a916428 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38207 dport 54138] != expected 0x4a916428 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43812 dport 54138] != expected 0x661d98a3 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43812 dport 54138] != expected 0x661d98a3 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43249 dport 54138] != expected 0xe8968076 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43249 dport 54138] != expected 0xe8968076 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46662 dport 54138] != expected 0xf735b505 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46662 dport 54138] != expected 0xf735b505 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39103 dport 54138] != expected 0x7e8353a3 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39103 dport 54138] != expected 0x7e8353a3 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 33998 dport 54138] != expected 0x3199d40e # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 33998 dport 54138] != expected 0x3199d40e # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53128 dport 54138] != expected 0x91074e51 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53128 dport 54138] != expected 0x91074e51 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45914 dport 54138] != expected 0x1f884406 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45914 dport 54138] != expected 0x1f884406 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51633 dport 54138] != expected 0x14b24ae # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51633 dport 54138] != expected 0x14b24ae # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60886 dport 54138] != expected 0xb8cff035 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60886 dport 54138] != expected 0xb8cff035 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53390 dport 54138] != expected 0xb393885c # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53390 dport 54138] != expected 0xb393885c # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38086 dport 54138] != expected 0xf664c78e # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38086 dport 54138] != expected 0xf664c78e # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51090 dport 54138] != expected 0xad29701c # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51090 dport 54138] != expected 0xad29701c # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58744 dport 54138] != expected 0x478447a4 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58744 dport 54138] != expected 0x478447a4 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49347 dport 54138] != expected 0xdcd7de0d # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49347 dport 54138] != expected 0xdcd7de0d # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36586 dport 54138] != expected 0x38c01250 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36586 dport 54138] != expected 0x38c01250 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40163 dport 54138] != expected 0xc0d59dd3 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40163 dport 54138] != expected 0xc0d59dd3 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56180 dport 54138] != expected 0xd6ce24a2 # # Exception| cpu 5: rx_hash 0x886cb8cd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56180 dport 54138] != expected 0xd6ce24a2 # # Exception| count: pass=0 nohash=0 fail=42 # # 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 204, 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 88, 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 49, 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 204, 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 88, 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 49, 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 204, 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 88, 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 49, 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 204, 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 88, 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 49, 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 209, 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 101, 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 88, 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 49, 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 209, 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 101, 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 88, 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 49, 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 209, 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 101, 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 88, 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 49, 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 209, 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 101, 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 88, 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 49, 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__->