< TEST_PROGS=toeplitz.py TEST_GEN_PROGS="" run_tests make: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests' make[1]: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' make[1]: Nothing to be done for 'all'. make[1]: Entering directory '/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw' # overriding timeout to 1800 # selftests: drivers/net/hw: toeplitz.py # # Interface: enp1s0, driver: fbnic # TAP version 13 # 1..12 # # Exception| Traceback (most recent call last): # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/ksft.py", line 420, in ksft_run # # Exception| func(*args) # # Exception| ~~~~^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/./toeplitz.py", line 216, in test # # Exception| with bkg(" ".join(rx_cmd), ksft_ready=True, exit_wait=True) as rx_proc: # # Exception| ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 205, in __exit__ # # Exception| return self.process(terminate=terminate, fail=self.check_fail, # # Exception| ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| expect_fail=self.expect_fail) # # Exception| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # # Exception| File "/srv/vmksft/testing/wt-24/tools/testing/selftests/net/lib/py/utils.py", line 134, in process # # Exception| raise CmdExitFailure("Command failed", self) # # Exception| net.lib.py.utils.CmdExitFailure: Command failed # # Exception| CMD: /srv/vmksft/testing/wt-24/tools/testing/selftests/drivers/net/hw/toeplitz -4 -t -d 38553 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 40 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x56de7efb [saddr 192.0.3.2 daddr 192.0.3.1 sport 52214 dport 38553] != expected 0x30e480c2 # # Exception| cpu 0: rx_hash 0xbf1cc965 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52230 dport 38553] != expected 0x3d0b49b7 # # Exception| cpu 4: rx_hash 0x8ae887ab [saddr 192.0.3.2 daddr 192.0.3.1 sport 52180 dport 38553] != expected 0x516ae493 # # Exception| cpu 4: rx_hash 0x98ff5345 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52242 dport 38553] != expected 0x20dde68 # # Exception| cpu 5: rx_hash 0xad0b1d8b [saddr 192.0.3.2 daddr 192.0.3.1 sport 52160 dport 38553] != expected 0x6e6c734c # # Exception| cpu 5: rx_hash 0x81dd00f4 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52164 dport 38553] != expected 0xf73e6055 # # Exception| cpu 5: rx_hash 0xbb601334 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52168 dport 38553] != expected 0x22c57ac0 # # Exception| cpu 5: rx_hash 0xff92a02b [saddr 192.0.3.2 daddr 192.0.3.1 sport 52178 dport 38553] != expected 0xfa9cd1b8 # # Exception| cpu 5: rx_hash 0xc52fb3eb [saddr 192.0.3.2 daddr 192.0.3.1 sport 52190 dport 38553] != expected 0x2f67cb2d # # Exception| cpu 5: rx_hash 0x6756ea64 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52202 dport 38553] != expected 0x434b1e91 # # Exception| cpu 0: rx_hash 0x906fc57d [saddr 192.0.3.2 daddr 192.0.3.1 sport 52344 dport 38553] != expected 0x86bf9284 # # Exception| cpu 4: rx_hash 0x476cbb72 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52298 dport 38553] != expected 0x41657213 # # Exception| cpu 4: rx_hash 0x76e42fed [saddr 192.0.3.2 daddr 192.0.3.1 sport 52310 dport 38553] != expected 0x32caec40 # # Exception| cpu 5: rx_hash 0xb4294e3a [saddr 192.0.3.2 daddr 192.0.3.1 sport 52246 dport 38553] != expected 0x9b5fcd71 # # Exception| cpu 5: rx_hash 0xa2424085 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52254 dport 38553] != expected 0xd7f6c4fd # # Exception| cpu 5: rx_hash 0x003b190a [saddr 192.0.3.2 daddr 192.0.3.1 sport 52266 dport 38553] != expected 0xbbda1141 # # Exception| cpu 5: rx_hash 0x0b0e9e55 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52282 dport 38553] != expected 0x1d8e9587 # # Exception| cpu 5: rx_hash 0x608f2152 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52318 dport 38553] != expected 0x7e63e5cc # # Exception| cpu 5: rx_hash 0xa1e751e2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52324 dport 38553] != expected 0xf5100cd7 # # Exception| cpu 5: rx_hash 0xdfa8f13d [saddr 192.0.3.2 daddr 192.0.3.1 sport 52338 dport 38553] != expected 0xf8b2bd3a # # Exception| cpu 0: rx_hash 0x25af1afe [saddr 192.0.3.2 daddr 192.0.3.1 sport 52400 dport 38553] != expected 0xb7492aa1 # # Exception| cpu 0: rx_hash 0x0adc16e6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52430 dport 38553] != expected 0xcfdf192 # # Exception| cpu 0: rx_hash 0xd6eaefb6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52460 dport 38553] != expected 0x6d7395c3 # # Exception| cpu 4: rx_hash 0xbd6b50b1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52360 dport 38553] != expected 0xe9ee588 # # Exception| cpu 4: rx_hash 0xf999e3ae [saddr 192.0.3.2 daddr 192.0.3.1 sport 52370 dport 38553] != expected 0xd6c74ef0 # # Exception| cpu 4: rx_hash 0x17829f06 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52438 dport 38553] != expected 0xe6007cd8 # # Exception| cpu 5: rx_hash 0xe515e2fd [saddr 192.0.3.2 daddr 192.0.3.1 sport 52350 dport 38553] != expected 0x2d49a7af # # Exception| cpu 5: rx_hash 0x7736a75e [saddr 192.0.3.2 daddr 192.0.3.1 sport 52386 dport 38553] != expected 0x23b98855 # # Exception| cpu 5: rx_hash 0x6a682ebe [saddr 192.0.3.2 daddr 192.0.3.1 sport 52410 dport 38553] != expected 0xc944051f # # Exception| cpu 5: rx_hash 0x69cd3fd9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52416 dport 38553] != expected 0xeba2cd35 # # Exception| cpu 5: rx_hash 0xec57fc76 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52448 dport 38553] != expected 0xb8888f56 # # Exception| cpu 0: rx_hash 0xdddf68e9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52476 dport 38553] != expected 0xcb271105 # # Exception| cpu 0: rx_hash 0x6cbeb82f [saddr 192.0.3.2 daddr 192.0.3.1 sport 52488 dport 38553] != expected 0xb0313d5c # # Exception| cpu 0: rx_hash 0x5d362cb0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52500 dport 38553] != expected 0xc39ea30f # # Exception| cpu 0: rx_hash 0xbbbdc620 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52538 dport 38553] != expected 0x77ebddcb # # Exception| cpu 0: rx_hash 0xae73d9f8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52552 dport 38553] != expected 0x19a41c6d # # Exception| cpu 0: rx_hash 0xc6577798 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52566 dport 38553] != expected 0x58afa40c # # Exception| cpu 4: rx_hash 0x4b5d220f [saddr 192.0.3.2 daddr 192.0.3.1 sport 52508 dport 38553] != expected 0x8f37aa83 # # Exception| cpu 4: rx_hash 0xf47af260 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52528 dport 38553] != expected 0x9e6f275 # # Exception| cpu 4: rx_hash 0xd03c7927 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52574 dport 38553] != expected 0x1406ad80 # # Exception| count: pass=0 nohash=0 fail=40 # # Exception| # not ok 1 toeplitz.test.tcp_ipv4 # # Receiver output: # # # # RSS indirection table size: 256 # # # cpu 0: rx_hash 0xdca56c71 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54112 dport 34944] OK # # # cpu 0: rx_hash 0xa338441d [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54146 dport 34944] OK # # # cpu 0: rx_hash 0x998557dd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54158 dport 34944] OK # # # cpu 4: rx_hash 0x6382bc1e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54092 dport 34944] OK # # # cpu 4: rx_hash 0x520a2881 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54096 dport 34944] OK # # # cpu 4: rx_hash 0xfb46f651 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54132 dport 34944] OK # # # cpu 4: rx_hash 0xf1a1f9bd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54160 dport 34944] OK # # # cpu 5: rx_hash 0xa9df4bf1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54118 dport 34944] OK # # # cpu 5: rx_hash 0xbe66cdfd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54170 dport 34944] OK # # # cpu 5: rx_hash 0x0a749acd [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54182 dport 34944] OK # # # cpu 0: rx_hash 0x625034ad [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54200 dport 34944] OK # # # cpu 0: rx_hash 0x148f024a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54212 dport 34944] OK # # # cpu 0: rx_hash 0xc8b9fb1a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54246 dport 34944] OK # # # cpu 0: rx_hash 0xf204e8da [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54250 dport 34944] OK # # # cpu 0: rx_hash 0xa09d557a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54264 dport 34944] OK # # # cpu 4: rx_hash 0x1c1f9472 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54190 dport 34944] OK # # # cpu 4: rx_hash 0x1fba8515 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54228 dport 34944] OK # # # cpu 4: rx_hash 0x4616bfea [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54230 dport 34944] OK # # # cpu 4: rx_hash 0x250796d5 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54232 dport 34944] OK # # # cpu 4: rx_hash 0xc38c7c45 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54262 dport 34944] OK # # # cpu 5: rx_hash 0xbdc3dc9a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54240 dport 34944] OK # # # cpu 5: rx_hash 0xd5e772fa [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54270 dport 34944] OK # # # cpu 0: rx_hash 0x0698d6a4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54274 dport 34944] OK # # # cpu 0: rx_hash 0x1bc65f44 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54298 dport 34944] OK # # # cpu 0: rx_hash 0xafd40874 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54310 dport 34944] OK # # # cpu 0: rx_hash 0x9df98d8c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54336 dport 34944] OK # # # cpu 0: rx_hash 0xfee8a4b3 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54350 dport 34944] OK # # # cpu 4: rx_hash 0x73e2f124 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54276 dport 34944] OK # # # cpu 4: rx_hash 0x2a4ecbdb [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54278 dport 34944] OK # # # cpu 4: rx_hash 0x217b4c84 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54294 dport 34944] OK # # # cpu 4: rx_hash 0x88379254 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54322 dport 34944] OK # # # cpu 4: rx_hash 0x8b928333 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54344 dport 34944] OK # # # cpu 5: rx_hash 0x426a65bb [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54296 dport 34944] OK # # # cpu 5: rx_hash 0xdaae2ff4 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54304 dport 34944] OK # # # cpu 5: rx_hash 0xba1a17ac [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54356 dport 34944] OK # # # cpu 5: rx_hash 0x41cf74dc [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54370 dport 34944] OK # # # cpu 0: rx_hash 0x29ebdabc [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54396 dport 34944] OK # # # cpu 0: rx_hash 0x5d43758f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54414 dport 34944] OK # # # cpu 0: rx_hash 0x0fdac82f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54428 dport 34944] OK # # # cpu 0: rx_hash 0xf40fab5f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54442 dport 34944] 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 35115 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 40 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 51684 dport 35115] != expected 0x22dd2cc7 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 51684 dport 35115] != expected 0x22dd2cc7 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 37174 dport 35115] != expected 0x35315736 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 37174 dport 35115] != expected 0x35315736 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 40536 dport 35115] != expected 0x80531fb3 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 40536 dport 35115] != expected 0x80531fb3 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 60437 dport 35115] != expected 0x741b27b2 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 60437 dport 35115] != expected 0x741b27b2 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 56549 dport 35115] != expected 0x61cf2e78 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 56549 dport 35115] != expected 0x61cf2e78 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 36630 dport 35115] != expected 0xb25a1eed # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 36630 dport 35115] != expected 0xb25a1eed # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 42160 dport 35115] != expected 0xe704961c # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 42160 dport 35115] != expected 0xe704961c # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 56427 dport 35115] != expected 0x525a8247 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 56427 dport 35115] != expected 0x525a8247 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 59854 dport 35115] != expected 0x84a96b58 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 59854 dport 35115] != expected 0x84a96b58 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 47806 dport 35115] != expected 0xd41aa103 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 47806 dport 35115] != expected 0xd41aa103 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 47096 dport 35115] != expected 0xcbc9064f # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 47096 dport 35115] != expected 0xcbc9064f # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 36490 dport 35115] != expected 0x7f5a586a # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 36490 dport 35115] != expected 0x7f5a586a # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 44843 dport 35115] != expected 0x7cc4a4fb # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 44843 dport 35115] != expected 0x7cc4a4fb # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 54118 dport 35115] != expected 0x4a6bc3c6 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 54118 dport 35115] != expected 0x4a6bc3c6 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 35563 dport 35115] != expected 0xba34254f # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 35563 dport 35115] != expected 0xba34254f # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 45468 dport 35115] != expected 0x478f8031 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 45468 dport 35115] != expected 0x478f8031 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 38859 dport 35115] != expected 0xe20880fe # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 38859 dport 35115] != expected 0xe20880fe # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 46616 dport 35115] != expected 0x8fd9bdc9 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 46616 dport 35115] != expected 0x8fd9bdc9 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 54771 dport 35115] != expected 0x2b447ed0 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 54771 dport 35115] != expected 0x2b447ed0 # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 56752 dport 35115] != expected 0xf8719cbe # # Exception| cpu 5: rx_hash 0x7e1bc29a [saddr 192.0.3.2 daddr 192.0.3.1 sport 56752 dport 35115] != expected 0xf8719cbe # # Exception| count: pass=0 nohash=0 fail=40 # # 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 35719 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 46 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37608 dport 35719] != expected 0xfe9b351 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37608 dport 35719] != expected 0xfe9b351 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 33852 dport 35719] != expected 0x34dfb7ed # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 33852 dport 35719] != expected 0x34dfb7ed # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58120 dport 35719] != expected 0x85279b92 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58120 dport 35719] != expected 0x85279b92 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46296 dport 35719] != expected 0x90b61745 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46296 dport 35719] != expected 0x90b61745 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41138 dport 35719] != expected 0x7f0162e7 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41138 dport 35719] != expected 0x7f0162e7 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41285 dport 35719] != expected 0x2494fd21 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41285 dport 35719] != expected 0x2494fd21 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54082 dport 35719] != expected 0xa6a36141 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54082 dport 35719] != expected 0xa6a36141 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50591 dport 35719] != expected 0x38a61ebd # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50591 dport 35719] != expected 0x38a61ebd # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51043 dport 35719] != expected 0x7746348b # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51043 dport 35719] != expected 0x7746348b # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42233 dport 35719] != expected 0x6d7f9492 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42233 dport 35719] != expected 0x6d7f9492 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40876 dport 35719] != expected 0xeb7b2a9f # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40876 dport 35719] != expected 0xeb7b2a9f # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40918 dport 35719] != expected 0xe8de3bf8 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40918 dport 35719] != expected 0xe8de3bf8 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35411 dport 35719] != expected 0x41a2587c # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 35411 dport 35719] != expected 0x41a2587c # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54534 dport 35719] != expected 0x3ccd67ce # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 54534 dport 35719] != expected 0x3ccd67ce # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51446 dport 35719] != expected 0xd04b22e3 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 51446 dport 35719] != expected 0xd04b22e3 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43597 dport 35719] != expected 0x4c036cdf # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 43597 dport 35719] != expected 0x4c036cdf # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41453 dport 35719] != expected 0xd60380da # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41453 dport 35719] != expected 0xd60380da # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40326 dport 35719] != expected 0x797f714a # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40326 dport 35719] != expected 0x797f714a # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47822 dport 35719] != expected 0xc9aa6b3 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47822 dport 35719] != expected 0xc9aa6b3 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44377 dport 35719] != expected 0xaf26d4ad # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 44377 dport 35719] != expected 0xaf26d4ad # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47706 dport 35719] != expected 0x4a1f8c78 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 47706 dport 35719] != expected 0x4a1f8c78 # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41572 dport 35719] != expected 0xfabcbf3e # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41572 dport 35719] != expected 0xfabcbf3e # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58766 dport 35719] != expected 0xe54e76de # # Exception| cpu 5: rx_hash 0x6ee50ff1 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 58766 dport 35719] != expected 0xe54e76de # # Exception| count: pass=0 nohash=0 fail=46 # # 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__->