< 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 480 # 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 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 46842 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 40 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0xf0128589 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38654 dport 46842] != expected 0xd835c113 # # Exception| cpu 0: rx_hash 0x8b8ac0b9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38662 dport 46842] != expected 0x19cd4157 # # Exception| cpu 0: rx_hash 0x932cdf8c [saddr 192.0.3.2 daddr 192.0.3.1 sport 38692 dport 46842] != expected 0x83f79bbf # # Exception| cpu 0: rx_hash 0xde163fb0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38726 dport 46842] != expected 0x15dd9a36 # # Exception| cpu 0: rx_hash 0x6235d220 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38736 dport 46842] != expected 0x66882d8c # # Exception| cpu 0: rx_hash 0x24823bdd [saddr 192.0.3.2 daddr 192.0.3.1 sport 38750 dport 46842] != expected 0x45182cb9 # # Exception| cpu 4: rx_hash 0x276d38f0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38670 dport 46842] != expected 0x794b9a5d # # Exception| cpu 4: rx_hash 0x9b4ed560 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38680 dport 46842] != expected 0xa1e2de7 # # Exception| cpu 4: rx_hash 0x69b8dbe1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38716 dport 46842] != expected 0xd3322d30 # # Exception| cpu 4: rx_hash 0x8007c978 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38762 dport 46842] != expected 0xac7741eb # # Exception| cpu 5: rx_hash 0x1a42943d [saddr 192.0.3.2 daddr 192.0.3.1 sport 38648 dport 46842] != expected 0x9b231b2c # # Exception| cpu 5: rx_hash 0x2f0f321c [saddr 192.0.3.2 daddr 192.0.3.1 sport 38706 dport 46842] != expected 0xf0a22c05 # # Exception| cpu 5: rx_hash 0x2ce03131 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38754 dport 46842] != expected 0xccf19ae1 # # Exception| cpu 0: rx_hash 0xc90c2c32 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38768 dport 46842] != expected 0x7ea99b4e # # Exception| cpu 0: rx_hash 0xcb14ae89 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38784 dport 46842] != expected 0x5cd3f6d8 # # Exception| cpu 0: rx_hash 0x3e3ca653 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38796 dport 46842] != expected 0xfd589bc7 # # Exception| cpu 0: rx_hash 0x8da34774 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38798 dport 46842] != expected 0x7f43f7ed # # Exception| cpu 0: rx_hash 0xd3b2b1bc [saddr 192.0.3.2 daddr 192.0.3.1 sport 38818 dport 46842] != expected 0xc6e92c30 # # Exception| cpu 0: rx_hash 0xdc0ebd0b [saddr 192.0.3.2 daddr 192.0.3.1 sport 38838 dport 46842] != expected 0x37a7f7a0 # # Exception| cpu 0: rx_hash 0xc376a465 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38844 dport 46842] != expected 0xd53a4080 # # Exception| cpu 4: rx_hash 0x788b4fae [saddr 192.0.3.2 daddr 192.0.3.1 sport 38786 dport 46842] != expected 0xdec89af2 # # Exception| cpu 4: rx_hash 0x2ef8b38a [saddr 192.0.3.2 daddr 192.0.3.1 sport 38802 dport 46842] != expected 0xee8bf777 # # Exception| cpu 4: rx_hash 0x269ab966 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38830 dport 46842] != expected 0x6762412f # # Exception| cpu 4: rx_hash 0x6ba0595a [saddr 192.0.3.2 daddr 192.0.3.1 sport 38860 dport 46842] != expected 0xf14840a6 # # Exception| cpu 4: rx_hash 0x3dd3a57e [saddr 192.0.3.2 daddr 192.0.3.1 sport 38876 dport 46842] != expected 0xc10b2d23 # # Exception| cpu 5: rx_hash 0x81f048ee [saddr 192.0.3.2 daddr 192.0.3.1 sport 38858 dport 46842] != expected 0xb25e9a99 # # Exception| cpu 0: rx_hash 0xd1fb5926 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38912 dport 46842] != expected 0x48fc3db1 # # Exception| cpu 4: rx_hash 0x995657db [saddr 192.0.3.2 daddr 192.0.3.1 sport 38888 dport 46842] != expected 0x28644071 # # Exception| cpu 4: rx_hash 0x7306466f [saddr 192.0.3.2 daddr 192.0.3.1 sport 38894 dport 46842] != expected 0x6b729a4e # # Exception| cpu 4: rx_hash 0x96ea5b6c [saddr 192.0.3.2 daddr 192.0.3.1 sport 38908 dport 46842] != expected 0xd92a9be1 # # Exception| cpu 4: rx_hash 0x7d1ca16f [saddr 192.0.3.2 daddr 192.0.3.1 sport 38920 dport 46842] != expected 0x287ae6bb # # Exception| cpu 4: rx_hash 0x974cb0db [saddr 192.0.3.2 daddr 192.0.3.1 sport 38926 dport 46842] != expected 0x6b6c3c84 # # Exception| cpu 4: rx_hash 0x2b6f5d4b [saddr 192.0.3.2 daddr 192.0.3.1 sport 38936 dport 46842] != expected 0x18398b3e # # Exception| cpu 4: rx_hash 0x98f0bc6c [saddr 192.0.3.2 daddr 192.0.3.1 sport 38938 dport 46842] != expected 0x9a22e714 # # Exception| cpu 4: rx_hash 0x33c9427e [saddr 192.0.3.2 daddr 192.0.3.1 sport 38970 dport 46842] != expected 0x820351d6 # # Exception| cpu 4: rx_hash 0x28805e66 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38984 dport 46842] != expected 0x246a3dda # # Exception| cpu 5: rx_hash 0x6c7e5f01 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38884 dport 46842] != expected 0x89ef2d6e # # Exception| cpu 5: rx_hash 0x6264b801 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38914 dport 46842] != expected 0xcae7519b # # Exception| cpu 5: rx_hash 0xc95d4613 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38946 dport 46842] != expected 0xd2c6e759 # # Exception| cpu 5: rx_hash 0x2cb15b10 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38960 dport 46842] != expected 0x609ee6f6 # # Exception| count: pass=0 nohash=0 fail=40 # # Exception| # not ok 1 toeplitz.test.tcp_ipv4 # # Receiver output: # # # # RSS indirection table size: 256 # # # cpu 4: rx_hash 0xc2b121ed [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52080 dport 54999] OK # # # cpu 4: rx_hash 0xccfaaccc [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52164 dport 54999] OK # # # cpu 4: rx_hash 0x67c352de [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52196 dport 54999] OK # # # cpu 0: rx_hash 0x38252580 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52072 dport 54999] OK # # # cpu 0: rx_hash 0xddc93883 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52090 dport 54999] OK # # # cpu 0: rx_hash 0x73364271 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52098 dport 54999] OK # # # cpu 0: rx_hash 0xd06db68f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52126 dport 54999] OK # # # cpu 0: rx_hash 0x9eb8559e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52140 dport 54999] OK # # # cpu 0: rx_hash 0xd7b3b0d4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52150 dport 54999] OK # # # cpu 5: rx_hash 0x2545be55 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52114 dport 54999] OK # # # cpu 5: rx_hash 0xc777a50d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52136 dport 54999] OK # # # cpu 5: rx_hash 0x9a8950e8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52180 dport 54999] OK # # # cpu 4: rx_hash 0xdbe0bf4e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52210 dport 54999] OK # # # cpu 4: rx_hash 0x0c0d4b48 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52232 dport 54999] OK # # # cpu 4: rx_hash 0x5a7eb76c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52248 dport 54999] OK # # # cpu 4: rx_hash 0xb02ea6d8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52254 dport 54999] OK # # # cpu 4: rx_hash 0xfefb45c9 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52268 dport 54999] OK # # # cpu 4: rx_hash 0xa888b9ed [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52284 dport 54999] OK # # # cpu 4: rx_hash 0x18f85be7 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52334 dport 54999] OK # # # cpu 0: rx_hash 0xf9254392 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52228 dport 54999] OK # # # cpu 0: rx_hash 0x1f265dbc [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52294 dport 54999] OK # # # cpu 0: rx_hash 0x5991b441 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52296 dport 54999] OK # # # cpu 0: rx_hash 0x0fe24865 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52312 dport 54999] OK # # # cpu 0: rx_hash 0xe5b259d1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52318 dport 54999] OK # # # cpu 5: rx_hash 0x2ec8b794 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52222 dport 54999] OK # # # cpu 4: rx_hash 0x4c932578 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52366 dport 54999] OK # # # cpu 4: rx_hash 0x432f29cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52378 dport 54999] OK # # # cpu 4: rx_hash 0x0246c669 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52412 dport 54999] OK # # # cpu 4: rx_hash 0x16b3d6c6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52442 dport 54999] OK # # # cpu 4: rx_hash 0x1ed1dc2a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52454 dport 54999] OK # # # cpu 0: rx_hash 0xa4dbb677 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52344 dport 54999] OK # # # cpu 0: rx_hash 0x0598c032 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52372 dport 54999] OK # # # cpu 0: rx_hash 0x4b4d2323 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52390 dport 54999] OK # # # cpu 0: rx_hash 0xaea13e20 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52404 dport 54999] OK # # # cpu 0: rx_hash 0xb5e82238 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52422 dport 54999] OK # # # cpu 0: rx_hash 0xaa903b56 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52428 dport 54999] OK # # # cpu 0: rx_hash 0xf481cd9e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52448 dport 54999] OK # # # cpu 5: rx_hash 0xe074dd31 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52358 dport 54999] OK # # # cpu 5: rx_hash 0xe7aadb6a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52398 dport 54999] OK # # # cpu 4: rx_hash 0xa2f231ba [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52464 dport 54999] OK # # # cpu 4: rx_hash 0x758d8cc3 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52480 dport 54999] OK # # # cpu 4: rx_hash 0x8f1988ae [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52504 dport 54999] OK # # # cpu 4: rx_hash 0x9c329e5a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52566 dport 54999] OK # # # cpu 4: rx_hash 0x8b288dd8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52576 dport 54999] OK # # # count: pass=44 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 37312 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 51107 dport 37312] != expected 0x51307349 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 51107 dport 37312] != expected 0x51307349 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 59831 dport 37312] != expected 0xfd45196e # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 59831 dport 37312] != expected 0xfd45196e # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 36038 dport 37312] != expected 0x94d0cb1f # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 36038 dport 37312] != expected 0x94d0cb1f # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 56134 dport 37312] != expected 0x4ea3d51b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 56134 dport 37312] != expected 0x4ea3d51b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 36821 dport 37312] != expected 0x60383f50 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 36821 dport 37312] != expected 0x60383f50 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 46019 dport 37312] != expected 0x17e4615c # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 46019 dport 37312] != expected 0x17e4615c # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 36453 dport 37312] != expected 0xcd56bf7f # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 36453 dport 37312] != expected 0xcd56bf7f # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 38908 dport 37312] != expected 0xb4f94f7a # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 38908 dport 37312] != expected 0xb4f94f7a # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 42670 dport 37312] != expected 0xdd9dc1b7 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 42670 dport 37312] != expected 0xdd9dc1b7 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 45129 dport 37312] != expected 0xb1f79678 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 45129 dport 37312] != expected 0xb1f79678 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 44279 dport 37312] != expected 0x749ce9ba # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 44279 dport 37312] != expected 0x749ce9ba # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 44903 dport 37312] != expected 0x51c43b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 44903 dport 37312] != expected 0x51c43b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 39986 dport 37312] != expected 0xef9753f1 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 39986 dport 37312] != expected 0xef9753f1 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 41491 dport 37312] != expected 0x368bcfbd # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 41491 dport 37312] != expected 0x368bcfbd # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 47349 dport 37312] != expected 0xe76cb4b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 47349 dport 37312] != expected 0xe76cb4b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 52015 dport 37312] != expected 0xa612f88b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 52015 dport 37312] != expected 0xa612f88b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 39031 dport 37312] != expected 0x467deb67 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 39031 dport 37312] != expected 0x467deb67 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 44813 dport 37312] != expected 0xf6fd1eb8 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 44813 dport 37312] != expected 0xf6fd1eb8 # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 40879 dport 37312] != expected 0x3ee7cb3b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 40879 dport 37312] != expected 0x3ee7cb3b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 46979 dport 37312] != expected 0x7b35b78b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 46979 dport 37312] != expected 0x7b35b78b # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 44989 dport 37312] != expected 0xd897a84f # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 44989 dport 37312] != expected 0xd897a84f # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 52046 dport 37312] != expected 0xb6154d7c # # Exception| cpu 5: rx_hash 0xee1279dc [saddr 192.0.3.2 daddr 192.0.3.1 sport 52046 dport 37312] != expected 0xb6154d7c # # 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 46551 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 42 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48556 dport 46551] != expected 0x88d8a0f1 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48556 dport 46551] != expected 0x88d8a0f1 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59041 dport 46551] != expected 0x8db4c2bc # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59041 dport 46551] != expected 0x8db4c2bc # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43934 dport 46551] != expected 0x64b1600d # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43934 dport 46551] != expected 0x64b1600d # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37942 dport 46551] != expected 0x1a7ddbfb # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37942 dport 46551] != expected 0x1a7ddbfb # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34892 dport 46551] != expected 0x9f70645e # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34892 dport 46551] != expected 0x9f70645e # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52369 dport 46551] != expected 0x3e4a816d # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52369 dport 46551] != expected 0x3e4a816d # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35458 dport 46551] != expected 0xcc2692cf # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35458 dport 46551] != expected 0xcc2692cf # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59991 dport 46551] != expected 0xea0979bb # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59991 dport 46551] != expected 0xea0979bb # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49223 dport 46551] != expected 0xf2cec478 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49223 dport 46551] != expected 0xf2cec478 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53334 dport 46551] != expected 0x7ed489ef # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 53334 dport 46551] != expected 0x7ed489ef # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35770 dport 46551] != expected 0x48ec5772 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35770 dport 46551] != expected 0x48ec5772 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38546 dport 46551] != expected 0xa8f6351f # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38546 dport 46551] != expected 0xa8f6351f # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45031 dport 46551] != expected 0xf2e668c4 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45031 dport 46551] != expected 0xf2e668c4 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35008 dport 46551] != expected 0xc0961300 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35008 dport 46551] != expected 0xc0961300 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43712 dport 46551] != expected 0xf48eb51f # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43712 dport 46551] != expected 0xf48eb51f # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58418 dport 46551] != expected 0x4f1afd95 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58418 dport 46551] != expected 0x4f1afd95 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50659 dport 46551] != expected 0x8ac8454f # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50659 dport 46551] != expected 0x8ac8454f # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59146 dport 46551] != expected 0x2163a7c9 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59146 dport 46551] != expected 0x2163a7c9 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40953 dport 46551] != expected 0x81df371f # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40953 dport 46551] != expected 0x81df371f # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49138 dport 46551] != expected 0x2733d5c0 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49138 dport 46551] != expected 0x2733d5c0 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46295 dport 46551] != expected 0xf7825ed5 # # Exception| cpu 0: rx_hash 0x29df9bda [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46295 dport 46551] != expected 0xf7825ed5 # # 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__->