< TEST_PROGS=toeplitz.py TEST_GEN_PROGS="" run_tests make: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests' make[1]: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' make[1]: Nothing to be done for 'all'. make[1]: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' # overriding timeout to 720 # selftests: drivers/net/hw: toeplitz.py # TAP version 13 # 1..12 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 420, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 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 53347 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 42 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0xf45d1fe3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41644 dport 53347] != expected 0x7fb49d04 # # Exception| cpu 0: rx_hash 0x3953b444 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41688 dport 53347] != expected 0x473eebbb # # Exception| cpu 0: rx_hash 0xfae1ac3b [saddr 192.0.3.2 daddr 192.0.3.1 sport 41694 dport 53347] != expected 0xb21e44ac # # Exception| cpu 0: rx_hash 0x60fcfb74 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41700 dport 53347] != expected 0xc30aa9d2 # # Exception| cpu 0: rx_hash 0xd3a26514 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41722 dport 53347] != expected 0xcb622d00 # # Exception| cpu 0: rx_hash 0x0a101ead [saddr 192.0.3.2 daddr 192.0.3.1 sport 41736 dport 53347] != expected 0x891c7614 # # Exception| cpu 4: rx_hash 0x84b199fc [saddr 192.0.3.2 daddr 192.0.3.1 sport 41652 dport 53347] != expected 0x82fcb6c1 # # Exception| cpu 4: rx_hash 0x16f7c9b1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41672 dport 53347] != expected 0xec06f2f8 # # Exception| cpu 4: rx_hash 0xd88ab87b [saddr 192.0.3.2 daddr 192.0.3.1 sport 41684 dport 53347] != expected 0xbdaebc30 # # Exception| cpu 4: rx_hash 0xfc0618e1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41706 dport 53347] != expected 0x605a3443 # # Exception| cpu 4: rx_hash 0x07df7718 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41746 dport 53347] != expected 0x2d9497cb # # Exception| cpu 5: rx_hash 0xdbf96216 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41660 dport 53347] != expected 0xd48c8447 # # Exception| cpu 5: rx_hash 0xae818abe [saddr 192.0.3.2 daddr 192.0.3.1 sport 41720 dport 53347] != expected 0x92a2e71a # # Exception| cpu 0: rx_hash 0xbfa93417 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41762 dport 53347] != expected 0x53308229 # # Exception| cpu 0: rx_hash 0x0138c3c2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41766 dport 53347] != expected 0xffd0e724 # # Exception| cpu 0: rx_hash 0x0cf7aa77 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41788 dport 53347] != expected 0x5b5806fb # # Exception| cpu 0: rx_hash 0xbcdaee7a [saddr 192.0.3.2 daddr 192.0.3.1 sport 41802 dport 53347] != expected 0x3a12ba5e # # Exception| cpu 0: rx_hash 0x0f84701a [saddr 192.0.3.2 daddr 192.0.3.1 sport 41812 dport 53347] != expected 0x327a3e8c # # Exception| cpu 0: rx_hash 0xf31e7286 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41862 dport 53347] != expected 0xdf2be8ad # # Exception| cpu 4: rx_hash 0x2def645a [saddr 192.0.3.2 daddr 192.0.3.1 sport 41822 dport 53347] != expected 0x3dcac610 # # Exception| cpu 4: rx_hash 0x1f08170c [saddr 192.0.3.2 daddr 192.0.3.1 sport 41872 dport 53347] != expected 0x81335ef9 # # Exception| cpu 4: rx_hash 0x83f2f499 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41886 dport 53347] != expected 0x2263c368 # # Exception| cpu 5: rx_hash 0x2353d782 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41772 dport 53347] != expected 0xf0601fb8 # # Exception| cpu 5: rx_hash 0x2e9cbe37 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41782 dport 53347] != expected 0x54e8fe67 # # Exception| cpu 5: rx_hash 0x9eb1fa3a [saddr 192.0.3.2 daddr 192.0.3.1 sport 41792 dport 53347] != expected 0x35a242c2 # # Exception| cpu 5: rx_hash 0x95992755 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41838 dport 53347] != expected 0x436ed3f2 # # Exception| cpu 5: rx_hash 0xc71eb50a [saddr 192.0.3.2 daddr 192.0.3.1 sport 41852 dport 53347] != expected 0xb19600ab # # Exception| cpu 0: rx_hash 0xf836afe9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41896 dport 53347] != expected 0xa9e7799d # # Exception| cpu 0: rx_hash 0xa40d8e6e [saddr 192.0.3.2 daddr 192.0.3.1 sport 41928 dport 53347] != expected 0x96b5736c # # Exception| cpu 0: rx_hash 0x1753100e [saddr 192.0.3.2 daddr 192.0.3.1 sport 41942 dport 53347] != expected 0x9eddf7be # # Exception| cpu 0: rx_hash 0x11b4a4d4 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41954 dport 53347] != expected 0x4c998751 # # Exception| cpu 0: rx_hash 0x615822cb [saddr 192.0.3.2 daddr 192.0.3.1 sport 41978 dport 53347] != expected 0xb1d1ac94 # # Exception| cpu 4: rx_hash 0x46a7583c [saddr 192.0.3.2 daddr 192.0.3.1 sport 41900 dport 53347] != expected 0x5071c90 # # Exception| cpu 4: rx_hash 0xa9c2e7db [saddr 192.0.3.2 daddr 192.0.3.1 sport 41938 dport 53347] != expected 0x323d92b3 # # Exception| cpu 4: rx_hash 0x3e10d921 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41970 dport 53347] != expected 0xe7a19e12 # # Exception| cpu 4: rx_hash 0x300a04c0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41994 dport 53347] != expected 0x99a1d35 # # Exception| cpu 4: rx_hash 0x8e9bf315 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41998 dport 53347] != expected 0xa57a7838 # # Exception| cpu 4: rx_hash 0x1486a45a [saddr 192.0.3.2 daddr 192.0.3.1 sport 42036 dport 53347] != expected 0xd46e9546 # # Exception| cpu 5: rx_hash 0xd792d21c [saddr 192.0.3.2 daddr 192.0.3.1 sport 41912 dport 53347] != expected 0x2df60de # # Exception| cpu 5: rx_hash 0xacf0e755 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41988 dport 53347] != expected 0xaaca80a4 # # Exception| cpu 5: rx_hash 0xfe77750a [saddr 192.0.3.2 daddr 192.0.3.1 sport 42006 dport 53347] != expected 0x583253fd # # Exception| cpu 5: rx_hash 0x3b22d9af [saddr 192.0.3.2 daddr 192.0.3.1 sport 42020 dport 53347] != expected 0x7f568c05 # # Exception| count: pass=0 nohash=0 fail=42 # # Exception| # not ok 1 toeplitz.test.tcp_ipv4 # # Receiver output: # # # # RSS indirection table size: 256 # # # cpu 0: rx_hash 0x68462b77 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38184 dport 33255] OK # # # cpu 0: rx_hash 0x18aaad68 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38192 dport 33255] OK # # # cpu 0: rx_hash 0xdb18b517 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38198 dport 33255] OK # # # cpu 0: rx_hash 0x44918cef [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38224 dport 33255] OK # # # cpu 0: rx_hash 0x81c4204a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38242 dport 33255] OK # # # cpu 4: rx_hash 0xd0306878 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38168 dport 33255] OK # # # cpu 4: rx_hash 0xd5a406cf [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38212 dport 33255] OK # # # cpu 4: rx_hash 0x3f55d79f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38246 dport 33255] OK # # # cpu 4: rx_hash 0x8c0b49ff [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38264 dport 33255] OK # # # cpu 5: rx_hash 0x4a2d3f37 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38178 dport 33255] OK # # # cpu 5: rx_hash 0xfa007b3a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38228 dport 33255] OK # # # cpu 5: rx_hash 0x10f1aa6a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38262 dport 33255] OK # # # cpu 5: rx_hash 0xb80b8e73 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38274 dport 33255] OK # # # cpu 0: rx_hash 0xea8c1c2c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38288 dport 33255] OK # # # cpu 0: rx_hash 0x293e0453 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38294 dport 33255] OK # # # cpu 0: rx_hash 0x6c3b0047 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57230 dport 33255] OK # # # cpu 0: rx_hash 0x61f469f2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57236 dport 33255] OK # # # cpu 4: rx_hash 0xc8e7086c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38298 dport 33255] OK # # # cpu 4: rx_hash 0xec6ba8f6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38308 dport 33255] OK # # # cpu 4: rx_hash 0x5189854e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38344 dport 33255] OK # # # cpu 4: rx_hash 0x9b89dfb4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57202 dport 33255] OK # # # cpu 4: rx_hash 0x8de20c78 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57218 dport 33255] OK # # # cpu 5: rx_hash 0x007dcd7c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38322 dport 33255] OK # # # cpu 5: rx_hash 0xe1a4c143 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38334 dport 33255] OK # # # cpu 5: rx_hash 0x4e501407 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57220 dport 33255] OK # # # cpu 5: rx_hash 0x1a303282 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57250 dport 33255] OK # # # cpu 0: rx_hash 0x126b3580 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57316 dport 33255] OK # # # cpu 0: rx_hash 0x1fa45c35 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57342 dport 33255] OK # # # cpu 0: rx_hash 0x7b32ab2c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57356 dport 33255] OK # # # cpu 0: rx_hash 0x0d3999e9 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57376 dport 33255] OK # # # cpu 0: rx_hash 0x00f6f05c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57402 dport 33255] OK # # # cpu 0: rx_hash 0xc344e823 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57404 dport 33255] OK # # # cpu 4: rx_hash 0xfbe93ebd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57262 dport 33255] OK # # # cpu 4: rx_hash 0x8b05b8a2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57270 dport 33255] OK # # # cpu 5: rx_hash 0xf89ae4d0 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57286 dport 33255] OK # # # cpu 5: rx_hash 0xd73e9925 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57302 dport 33255] OK # # # cpu 5: rx_hash 0x835ebfa0 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57328 dport 33255] OK # # # cpu 5: rx_hash 0x9724cea6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57370 dport 33255] OK # # # cpu 5: rx_hash 0xece095d6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57388 dport 33255] OK # # # cpu 5: rx_hash 0x229de41c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57392 dport 33255] 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 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 36651 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 44859 dport 36651] != expected 0xdfc3421a # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 44859 dport 36651] != expected 0xdfc3421a # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 44829 dport 36651] != expected 0xff7fe1ac # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 44829 dport 36651] != expected 0xff7fe1ac # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38573 dport 36651] != expected 0x3527a2d5 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38573 dport 36651] != expected 0x3527a2d5 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38829 dport 36651] != expected 0x4f942341 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38829 dport 36651] != expected 0x4f942341 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51712 dport 36651] != expected 0x437608ab # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51712 dport 36651] != expected 0x437608ab # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 46428 dport 36651] != expected 0x7394fb29 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 46428 dport 36651] != expected 0x7394fb29 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55502 dport 36651] != expected 0x657d6891 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55502 dport 36651] != expected 0x657d6891 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41061 dport 36651] != expected 0xab751191 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 41061 dport 36651] != expected 0xab751191 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 60404 dport 36651] != expected 0x27fd60a4 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 60404 dport 36651] != expected 0x27fd60a4 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 36067 dport 36651] != expected 0xa91db1f5 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 36067 dport 36651] != expected 0xa91db1f5 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49825 dport 36651] != expected 0x9f5ae324 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49825 dport 36651] != expected 0x9f5ae324 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42151 dport 36651] != expected 0x73b03e96 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42151 dport 36651] != expected 0x73b03e96 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58967 dport 36651] != expected 0x460e20c0 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58967 dport 36651] != expected 0x460e20c0 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40311 dport 36651] != expected 0x86ba771e # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40311 dport 36651] != expected 0x86ba771e # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51413 dport 36651] != expected 0xd5df2563 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 51413 dport 36651] != expected 0xd5df2563 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49376 dport 36651] != expected 0xfb4cb18a # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49376 dport 36651] != expected 0xfb4cb18a # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40276 dport 36651] != expected 0xb9672591 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40276 dport 36651] != expected 0xb9672591 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38943 dport 36651] != expected 0xb872e98 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 38943 dport 36651] != expected 0xb872e98 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43421 dport 36651] != expected 0xa9edc22b # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43421 dport 36651] != expected 0xa9edc22b # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55984 dport 36651] != expected 0x6f1e2678 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 55984 dport 36651] != expected 0x6f1e2678 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 50092 dport 36651] != expected 0xacf8a10f # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 50092 dport 36651] != expected 0xacf8a10f # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 35677 dport 36651] != expected 0x58c89b95 # # Exception| cpu 4: rx_hash 0xbeb892c6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 35677 dport 36651] != expected 0x58c89b95 # # 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 54996 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 42 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39401 dport 54996] != expected 0x8da81cc8 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 39401 dport 54996] != expected 0x8da81cc8 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34350 dport 54996] != expected 0x60095260 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34350 dport 54996] != expected 0x60095260 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57939 dport 54996] != expected 0x6bea77ae # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57939 dport 54996] != expected 0x6bea77ae # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38547 dport 54996] != expected 0x4d3ae9c6 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 38547 dport 54996] != expected 0x4d3ae9c6 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47512 dport 54996] != expected 0x71e74dd1 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47512 dport 54996] != expected 0x71e74dd1 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52310 dport 54996] != expected 0x793777f3 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 52310 dport 54996] != expected 0x793777f3 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45102 dport 54996] != expected 0xb72963b # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45102 dport 54996] != expected 0xb72963b # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44534 dport 54996] != expected 0xf6b7ba49 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44534 dport 54996] != expected 0xf6b7ba49 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50877 dport 54996] != expected 0x17f679cb # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50877 dport 54996] != expected 0x17f679cb # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54302 dport 54996] != expected 0xd0e67fe2 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54302 dport 54996] != expected 0xd0e67fe2 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40074 dport 54996] != expected 0x48b3db98 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40074 dport 54996] != expected 0x48b3db98 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51884 dport 54996] != expected 0xb8f40267 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51884 dport 54996] != expected 0xb8f40267 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41532 dport 54996] != expected 0xeba783f6 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41532 dport 54996] != expected 0xeba783f6 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57971 dport 54996] != expected 0xfc384954 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57971 dport 54996] != expected 0xfc384954 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54513 dport 54996] != expected 0x8f94ed1b # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54513 dport 54996] != expected 0x8f94ed1b # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41211 dport 54996] != expected 0x2532f7f0 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41211 dport 54996] != expected 0x2532f7f0 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45175 dport 54996] != expected 0x4a30d00c # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45175 dport 54996] != expected 0x4a30d00c # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47856 dport 54996] != expected 0x9913f38c # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47856 dport 54996] != expected 0x9913f38c # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49176 dport 54996] != expected 0x54c55217 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49176 dport 54996] != expected 0x54c55217 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34065 dport 54996] != expected 0x5545499f # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34065 dport 54996] != expected 0x5545499f # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41074 dport 54996] != expected 0xe5c95cf1 # # Exception| cpu 5: rx_hash 0x52917fa6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41074 dport 54996] != expected 0xe5c95cf1 # # 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__->