< 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 214, 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 51442 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 40 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x7fa36b8f [saddr 192.0.3.2 daddr 192.0.3.1 sport 45270 dport 51442] != expected 0x4f257592 # # Exception| cpu 0: rx_hash 0xf71cbd32 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45278 dport 51442] != expected 0xbdd9c7e3 # # Exception| cpu 0: rx_hash 0x2a5382f2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45280 dport 51442] != expected 0xe4efad10 # # Exception| cpu 0: rx_hash 0xe6b3bf11 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45304 dport 51442] != expected 0xef6d4659 # # Exception| cpu 0: rx_hash 0x04da232f [saddr 192.0.3.2 daddr 192.0.3.1 sport 45316 dport 51442] != expected 0xf34e5d94 # # Exception| cpu 0: rx_hash 0x627a9286 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45334 dport 51442] != expected 0xc1c2cd68 # # Exception| cpu 4: rx_hash 0x4c239c03 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45264 dport 51442] != expected 0x612ed8b4 # # Exception| cpu 4: rx_hash 0x19d3757e [saddr 192.0.3.2 daddr 192.0.3.1 sport 45286 dport 51442] != expected 0xcae40036 # # Exception| cpu 4: rx_hash 0x262579d8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45318 dport 51442] != expected 0x38bc9450 # # Exception| cpu 4: rx_hash 0x1575210c [saddr 192.0.3.2 daddr 192.0.3.1 sport 45346 dport 51442] != expected 0xa1fadc2e # # Exception| cpu 5: rx_hash 0x6edcc6f4 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45266 dport 51442] != expected 0xaadc1170 # # Exception| cpu 5: rx_hash 0xa2ec544f [saddr 192.0.3.2 daddr 192.0.3.1 sport 45288 dport 51442] != expected 0x16131f61 # # Exception| cpu 5: rx_hash 0x375ad4a3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45314 dport 51442] != expected 0xdd45f0b2 # # Exception| cpu 0: rx_hash 0x269d812c [saddr 192.0.3.2 daddr 192.0.3.1 sport 45408 dport 51442] != expected 0xd45783a4 # # Exception| cpu 0: rx_hash 0x9da2a01d [saddr 192.0.3.2 daddr 192.0.3.1 sport 45422 dport 51442] != expected 0x8a09cf3 # # Exception| cpu 0: rx_hash 0xc882e638 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45434 dport 51442] != expected 0x1427a129 # # Exception| cpu 4: rx_hash 0x73d590a5 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45360 dport 51442] != expected 0x93764cd2 # # Exception| cpu 4: rx_hash 0x3732830f [saddr 192.0.3.2 daddr 192.0.3.1 sport 45382 dport 51442] != expected 0x86e3021e # # Exception| cpu 4: rx_hash 0x9d720f45 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45388 dport 51442] != expected 0xbfed79ab # # Exception| cpu 4: rx_hash 0xd92de41b [saddr 192.0.3.2 daddr 192.0.3.1 sport 45404 dport 51442] != expected 0x46932093 # # Exception| cpu 4: rx_hash 0xb76eff75 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45450 dport 51442] != expected 0xf09689e4 # # Exception| cpu 4: rx_hash 0x6af16fed [saddr 192.0.3.2 daddr 192.0.3.1 sport 45462 dport 51442] != expected 0x1eed064f # # Exception| cpu 4: rx_hash 0x3f018690 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45472 dport 51442] != expected 0xb527decd # # Exception| cpu 5: rx_hash 0xc8eab194 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45374 dport 51442] != expected 0x4f815385 # # Exception| cpu 5: rx_hash 0x59719861 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45456 dport 51442] != expected 0x30e6ab69 # # Exception| cpu 0: rx_hash 0x95410ada [saddr 192.0.3.2 daddr 192.0.3.1 sport 45482 dport 51442] != expected 0x8c29a578 # # Exception| cpu 0: rx_hash 0x1d968bcb [saddr 192.0.3.2 daddr 192.0.3.1 sport 45542 dport 51442] != expected 0x2573e5a5 # # Exception| cpu 0: rx_hash 0x7b363a62 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45556 dport 51442] != expected 0x17ff7559 # # Exception| cpu 0: rx_hash 0xc6e2c99e [saddr 192.0.3.2 daddr 192.0.3.1 sport 45588 dport 51442] != expected 0x126c13f6 # # Exception| cpu 0: rx_hash 0x931220e3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45602 dport 51442] != expected 0xb9a6cb74 # # Exception| cpu 4: rx_hash 0x48de9a42 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45494 dport 51442] != expected 0x62522ad3 # # Exception| cpu 4: rx_hash 0xc0614cff [saddr 192.0.3.2 daddr 192.0.3.1 sport 45502 dport 51442] != expected 0x90ae98a2 # # Exception| cpu 4: rx_hash 0xa67905a2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45514 dport 51442] != expected 0x4ec91faa # # Exception| cpu 4: rx_hash 0xe226eefc [saddr 192.0.3.2 daddr 192.0.3.1 sport 45530 dport 51442] != expected 0xb7b74692 # # Exception| cpu 4: rx_hash 0x82bd22c0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45572 dport 51442] != expected 0xeb124ace # # Exception| cpu 4: rx_hash 0x282d01d2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45612 dport 51442] != expected 0x6551d423 # # Exception| cpu 5: rx_hash 0xb706a8d9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45518 dport 51442] != expected 0xab307b48 # # Exception| cpu 5: rx_hash 0x48b6cdee [saddr 192.0.3.2 daddr 192.0.3.1 sport 45554 dport 51442] != expected 0x39f4d87f # # Exception| cpu 5: rx_hash 0xa0427837 [saddr 192.0.3.2 daddr 192.0.3.1 sport 45574 dport 51442] != expected 0x20e0830a # # Exception| cpu 5: rx_hash 0x1badf65e [saddr 192.0.3.2 daddr 192.0.3.1 sport 45610 dport 51442] != expected 0x4b5a7905 # # 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 0xafba9bcf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46558 dport 57925] OK # # # cpu 4: rx_hash 0xeb35dfc9 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46572 dport 57925] OK # # # cpu 4: rx_hash 0x36aa4f51 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46576 dport 57925] OK # # # cpu 4: rx_hash 0x9ceac31b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46586 dport 57925] OK # # # cpu 4: rx_hash 0x213e30e7 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46618 dport 57925] OK # # # cpu 4: rx_hash 0x30419d9c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46622 dport 57925] OK # # # cpu 4: rx_hash 0x65b174e1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46632 dport 57925] OK # # # cpu 4: rx_hash 0x126e6833 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46654 dport 57925] OK # # # cpu 0: rx_hash 0x638a0974 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46564 dport 57925] OK # # # cpu 5: rx_hash 0xfca1a07f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46598 dport 57925] OK # # # cpu 5: rx_hash 0x9a0111d6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46612 dport 57925] OK # # # cpu 5: rx_hash 0x74ced99a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46636 dport 57925] OK # # # cpu 5: rx_hash 0x5631836d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46638 dport 57925] OK # # # cpu 4: rx_hash 0xedb65aa8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46662 dport 57925] OK # # # cpu 4: rx_hash 0xa9e9b1f6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46678 dport 57925] OK # # # cpu 4: rx_hash 0x2156674b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46686 dport 57925] OK # # # cpu 4: rx_hash 0x74a68e36 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46696 dport 57925] OK # # # cpu 4: rx_hash 0xe555f06f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46722 dport 57925] OK # # # cpu 4: rx_hash 0x6dea26d2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46730 dport 57925] OK # # # cpu 4: rx_hash 0x83f541c6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46736 dport 57925] OK # # # cpu 0: rx_hash 0x8bc64459 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46710 dport 57925] OK # # # cpu 0: rx_hash 0x29b5cd8c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46746 dport 57925] OK # # # cpu 5: rx_hash 0x8b16eb01 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46676 dport 57925] OK # # # cpu 5: rx_hash 0x5659d4c1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46698 dport 57925] OK # # # cpu 5: rx_hash 0xe5855f37 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46752 dport 57925] OK # # # cpu 4: rx_hash 0x8f3b4218 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46864 dport 57925] OK # # # cpu 0: rx_hash 0x8325ee9e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46770 dport 57925] OK # # # cpu 0: rx_hash 0x0b9a3823 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46778 dport 57925] OK # # # cpu 0: rx_hash 0xb01de1e6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46802 dport 57925] OK # # # cpu 0: rx_hash 0xe5ed089b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46820 dport 57925] OK # # # cpu 0: rx_hash 0x0bf26f8f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46846 dport 57925] OK # # # cpu 5: rx_hash 0x7c4524f1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46764 dport 57925] OK # # # cpu 5: rx_hash 0x1ae59558 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46782 dport 57925] OK # # # cpu 5: rx_hash 0xf4420ab8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46786 dport 57925] OK # # # cpu 5: rx_hash 0xa1624c9d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46806 dport 57925] OK # # # cpu 5: rx_hash 0x1a5d6dac [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46808 dport 57925] OK # # # cpu 5: rx_hash 0x38a2375b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46810 dport 57925] OK # # # cpu 5: rx_hash 0x92321449 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46834 dport 57925] OK # # # cpu 5: rx_hash 0xcb64a946 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46848 dport 57925] OK # # # cpu 5: rx_hash 0xbcbbb594 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46870 dport 57925] OK # # # count: pass=40 nohash=0 fail=0 # ok 2 toeplitz.test.tcp_ipv6 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 420, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 214, 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 48379 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49119 dport 48379] != expected 0xb208a373 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49119 dport 48379] != expected 0xb208a373 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33148 dport 48379] != expected 0x4dd628ef # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 33148 dport 48379] != expected 0x4dd628ef # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51684 dport 48379] != expected 0x5337aba5 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51684 dport 48379] != expected 0x5337aba5 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58540 dport 48379] != expected 0xd968d0f3 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58540 dport 48379] != expected 0xd968d0f3 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57496 dport 48379] != expected 0xc2b538d1 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57496 dport 48379] != expected 0xc2b538d1 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57136 dport 48379] != expected 0x7c17bee2 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57136 dport 48379] != expected 0x7c17bee2 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 60375 dport 48379] != expected 0x9256c9a9 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 60375 dport 48379] != expected 0x9256c9a9 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57387 dport 48379] != expected 0xc44cdc1f # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57387 dport 48379] != expected 0xc44cdc1f # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41126 dport 48379] != expected 0xec3d0db4 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41126 dport 48379] != expected 0xec3d0db4 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48114 dport 48379] != expected 0x35b23391 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48114 dport 48379] != expected 0x35b23391 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 59089 dport 48379] != expected 0x95dd84ca # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 59089 dport 48379] != expected 0x95dd84ca # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38074 dport 48379] != expected 0x4826ba0e # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38074 dport 48379] != expected 0x4826ba0e # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40225 dport 48379] != expected 0x92f9d90c # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40225 dport 48379] != expected 0x92f9d90c # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40728 dport 48379] != expected 0x85ea7f99 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40728 dport 48379] != expected 0x85ea7f99 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51115 dport 48379] != expected 0x97a6462a # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51115 dport 48379] != expected 0x97a6462a # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56004 dport 48379] != expected 0xe92dee3a # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56004 dport 48379] != expected 0xe92dee3a # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56661 dport 48379] != expected 0x3b200192 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56661 dport 48379] != expected 0x3b200192 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41976 dport 48379] != expected 0x6fb7cacf # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41976 dport 48379] != expected 0x6fb7cacf # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 35499 dport 48379] != expected 0xc998f9f9 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 35499 dport 48379] != expected 0xc998f9f9 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 53209 dport 48379] != expected 0xda3890b6 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 53209 dport 48379] != expected 0xda3890b6 # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49724 dport 48379] != expected 0x9c6bf66d # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49724 dport 48379] != expected 0x9c6bf66d # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51764 dport 48379] != expected 0xd365b8ae # # Exception| cpu 4: rx_hash 0x43e58cf3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51764 dport 48379] != expected 0xd365b8ae # # 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 214, 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 48231 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46803 dport 48231] != expected 0x2d8b76fe # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46803 dport 48231] != expected 0x2d8b76fe # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48916 dport 48231] != expected 0xe6a47242 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48916 dport 48231] != expected 0xe6a47242 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52956 dport 48231] != expected 0x9fb53a12 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52956 dport 48231] != expected 0x9fb53a12 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41665 dport 48231] != expected 0x5a7ee711 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41665 dport 48231] != expected 0x5a7ee711 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52785 dport 48231] != expected 0x78380628 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52785 dport 48231] != expected 0x78380628 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45685 dport 48231] != expected 0x75bef61b # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45685 dport 48231] != expected 0x75bef61b # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34563 dport 48231] != expected 0xc6b14b7 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34563 dport 48231] != expected 0xc6b14b7 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48682 dport 48231] != expected 0x3faeb337 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48682 dport 48231] != expected 0x3faeb337 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48868 dport 48231] != expected 0x9d0d95ba # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 48868 dport 48231] != expected 0x9d0d95ba # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58921 dport 48231] != expected 0x3c72abe8 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58921 dport 48231] != expected 0x3c72abe8 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51355 dport 48231] != expected 0x3bef0251 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51355 dport 48231] != expected 0x3bef0251 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38715 dport 48231] != expected 0xb2e08310 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38715 dport 48231] != expected 0xb2e08310 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39440 dport 48231] != expected 0x9aad71d4 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39440 dport 48231] != expected 0x9aad71d4 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47264 dport 48231] != expected 0x5e5642e1 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47264 dport 48231] != expected 0x5e5642e1 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60926 dport 48231] != expected 0x3120bb50 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60926 dport 48231] != expected 0x3120bb50 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54509 dport 48231] != expected 0xced58e6b # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54509 dport 48231] != expected 0xced58e6b # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43617 dport 48231] != expected 0xd0525003 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43617 dport 48231] != expected 0xd0525003 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43793 dport 48231] != expected 0xa3704a90 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43793 dport 48231] != expected 0xa3704a90 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44193 dport 48231] != expected 0xafdd748 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44193 dport 48231] != expected 0xafdd748 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54806 dport 48231] != expected 0xdca551d9 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54806 dport 48231] != expected 0xdca551d9 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44689 dport 48231] != expected 0xeeaf36e3 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44689 dport 48231] != expected 0xeeaf36e3 # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34902 dport 48231] != expected 0x6a5cdc3e # # Exception| cpu 5: rx_hash 0x90974d04 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34902 dport 48231] != expected 0x6a5cdc3e # # 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 203, 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 203, 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 203, 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 203, 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 208, 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 208, 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 208, 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 208, 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__->