< 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 50722 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 40 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x55b5b895 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56614 dport 50722] != expected 0x619cb165 # # Exception| cpu 0: rx_hash 0xab60b535 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56670 dport 50722] != expected 0x503d064f # # Exception| cpu 0: rx_hash 0xdfe7f0ec [saddr 192.0.3.2 daddr 192.0.3.1 sport 56682 dport 50722] != expected 0xd47f1314 # # Exception| cpu 0: rx_hash 0xc983fd8f [saddr 192.0.3.2 daddr 192.0.3.1 sport 56704 dport 50722] != expected 0xc42be237 # # Exception| cpu 0: rx_hash 0xed3687e9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56706 dport 50722] != expected 0x582e0e09 # # Exception| cpu 4: rx_hash 0xec890c99 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56586 dport 50722] != expected 0x715f62b6 # # Exception| cpu 4: rx_hash 0xaee18e15 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56632 dport 50722] != expected 0xa71a6dcc # # Exception| cpu 5: rx_hash 0x3368407f [saddr 192.0.3.2 daddr 192.0.3.1 sport 56598 dport 50722] != expected 0x2bdc5221 # # Exception| cpu 5: rx_hash 0x112317d9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56630 dport 50722] != expected 0x121c0ce2 # # Exception| cpu 5: rx_hash 0x7481f9d3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56642 dport 50722] != expected 0xabe36d8 # # Exception| cpu 5: rx_hash 0xeff61a79 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56654 dport 50722] != expected 0x23bdbbc8 # # Exception| cpu 5: rx_hash 0x9b715fa0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56698 dport 50722] != expected 0xa7ffae93 # # Exception| cpu 5: rx_hash 0x641bd970 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56714 dport 50722] != expected 0xbf2f7506 # # Exception| cpu 0: rx_hash 0x62e5f4b0 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56744 dport 50722] != expected 0x1aeac7fb # # Exception| cpu 0: rx_hash 0x70bf4983 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56748 dport 50722] != expected 0xd4e831e4 # # Exception| cpu 0: rx_hash 0x8e6a4423 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56788 dport 50722] != expected 0xe54986ce # # Exception| cpu 4: rx_hash 0xa9a028a5 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56722 dport 50722] != expected 0x2baeb38e # # Exception| cpu 4: rx_hash 0x32d7cb0f [saddr 192.0.3.2 daddr 192.0.3.1 sport 56734 dport 50722] != expected 0x2ad3e9e # # Exception| cpu 4: rx_hash 0x26735bfc [saddr 192.0.3.2 daddr 192.0.3.1 sport 56760 dport 50722] != expected 0x696a7a7c # # Exception| cpu 4: rx_hash 0xee499109 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56774 dport 50722] != expected 0xaccd777 # # Exception| cpu 4: rx_hash 0xde587b9c [saddr 192.0.3.2 daddr 192.0.3.1 sport 56802 dport 50722] != expected 0xfd0e7fab # # Exception| cpu 5: rx_hash 0x46508ed6 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56746 dport 50722] != expected 0x86ef2bc5 # # Exception| cpu 5: rx_hash 0x109c9ca9 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56766 dport 50722] != expected 0x3b6d605d # # Exception| cpu 5: rx_hash 0x753e72a3 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56778 dport 50722] != expected 0x23cf5a67 # # Exception| cpu 5: rx_hash 0x9c30f910 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56784 dport 50722] != expected 0x2b4b70d1 # # Exception| cpu 0: rx_hash 0x619ae250 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56812 dport 50722] != expected 0x48081e85 # # Exception| cpu 0: rx_hash 0x8ae4d317 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56842 dport 50722] != expected 0xe5fb6c82 # # Exception| cpu 0: rx_hash 0x8c1afed7 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56872 dport 50722] != expected 0x403ede7f # # Exception| cpu 0: rx_hash 0xc88c519b [saddr 192.0.3.2 daddr 192.0.3.1 sport 56888 dport 50722] != expected 0x33be63f8 # # Exception| cpu 0: rx_hash 0x567a8911 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56914 dport 50722] != expected 0xed9a856b # # Exception| cpu 0: rx_hash 0xe9b810dd [saddr 192.0.3.2 daddr 192.0.3.1 sport 56924 dport 50722] != expected 0x589ce445 # # Exception| cpu 4: rx_hash 0x98be6e24 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56846 dport 50722] != expected 0x2bf99a9d # # Exception| cpu 4: rx_hash 0x0537a04e [saddr 192.0.3.2 daddr 192.0.3.1 sport 56864 dport 50722] != expected 0xa73fa570 # # Exception| cpu 4: rx_hash 0xbf7402a2 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56904 dport 50722] != expected 0xe51eafdd # # Exception| cpu 5: rx_hash 0xac211385 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56820 dport 50722] != expected 0xdc89d80d # # Exception| cpu 5: rx_hash 0x03c98d8e [saddr 192.0.3.2 daddr 192.0.3.1 sport 56834 dport 50722] != expected 0x2fa178d # # Exception| cpu 5: rx_hash 0x71b0e597 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56852 dport 50722] != expected 0x237db02b # # Exception| cpu 5: rx_hash 0x55059ff1 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56854 dport 50722] != expected 0xbf785c15 # # Exception| cpu 5: rx_hash 0x2182da28 [saddr 192.0.3.2 daddr 192.0.3.1 sport 56866 dport 50722] != expected 0x3b3a494e # # Exception| cpu 5: rx_hash 0xcd0d6abb [saddr 192.0.3.2 daddr 192.0.3.1 sport 56926 dport 50722] != expected 0xc499087b # # 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 0x6df56a21 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49260 dport 59246] OK # # # cpu 5: rx_hash 0xe4d834b8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49252 dport 59246] OK # # # cpu 5: rx_hash 0x09e80f5b [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49296 dport 59246] OK # # # cpu 5: rx_hash 0x7d6f4a82 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49316 dport 59246] OK # # # cpu 5: rx_hash 0x9461c131 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49342 dport 59246] OK # # # cpu 5: rx_hash 0x18cda488 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49360 dport 59246] OK # # # cpu 0: rx_hash 0x1f8c0238 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49274 dport 59246] OK # # # cpu 0: rx_hash 0x4d7ea017 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49280 dport 59246] OK # # # cpu 0: rx_hash 0x80c551c2 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49304 dport 59246] OK # # # cpu 0: rx_hash 0x39f9e5ce [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49332 dport 59246] OK # # # cpu 0: rx_hash 0xc72ce86e [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49356 dport 59246] OK # # # cpu 0: rx_hash 0x91e0fa11 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49368 dport 59246] OK # # # cpu 0: rx_hash 0xf73d02fb [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49384 dport 59246] OK # # # cpu 4: rx_hash 0x1e338948 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49394 dport 59246] OK # # # cpu 4: rx_hash 0xa510656c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49410 dport 59246] OK # # # cpu 4: rx_hash 0xd7690d75 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49428 dport 59246] OK # # # cpu 4: rx_hash 0xb1b4f59f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49444 dport 59246] OK # # # cpu 4: rx_hash 0x2f422d15 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49486 dport 59246] OK # # # cpu 5: rx_hash 0x81a51f0a [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49408 dport 59246] OK # # # cpu 5: rx_hash 0x6e55b979 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49464 dport 59246] OK # # # cpu 5: rx_hash 0xc64ca6a6 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49492 dport 59246] OK # # # cpu 0: rx_hash 0xb74ad85f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49414 dport 59246] OK # # # cpu 0: rx_hash 0x2c3d3bf5 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49418 dport 59246] OK # # # cpu 0: rx_hash 0x0e766c53 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49450 dport 59246] OK # # # cpu 0: rx_hash 0x58ba7e2c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49470 dport 59246] OK # # # cpu 0: rx_hash 0x3d189026 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49482 dport 59246] OK # # # cpu 4: rx_hash 0xe407f100 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49524 dport 59246] OK # # # cpu 4: rx_hash 0xc48c3b36 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49560 dport 59246] OK # # # cpu 4: rx_hash 0x86e4b9ba [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49578 dport 59246] OK # # # cpu 4: rx_hash 0x18126130 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49600 dport 59246] OK # # # cpu 4: rx_hash 0xa7d0f8fc [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49614 dport 59246] OK # # # cpu 5: rx_hash 0xa0915e4c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49508 dport 59246] OK # # # cpu 5: rx_hash 0x2d82b085 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49538 dport 59246] OK # # # cpu 5: rx_hash 0x4da165af [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49552 dport 59246] OK # # # cpu 5: rx_hash 0x39262076 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49572 dport 59246] OK # # # cpu 5: rx_hash 0x1d935a10 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49574 dport 59246] OK # # # cpu 5: rx_hash 0x913f3fa9 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49608 dport 59246] OK # # # cpu 5: rx_hash 0x4ede734f [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49620 dport 59246] OK # # # cpu 0: rx_hash 0x0fc9e723 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49570 dport 59246] OK # # # cpu 0: rx_hash 0x5905f55c [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49590 dport 59246] 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 41066 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42690 dport 41066] != expected 0x55e6f70 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42690 dport 41066] != expected 0x55e6f70 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58792 dport 41066] != expected 0x1c4267f8 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 58792 dport 41066] != expected 0x1c4267f8 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54284 dport 41066] != expected 0x2b8293af # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54284 dport 41066] != expected 0x2b8293af # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48352 dport 41066] != expected 0x19359a7 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 48352 dport 41066] != expected 0x19359a7 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49834 dport 41066] != expected 0x8a14475a # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 49834 dport 41066] != expected 0x8a14475a # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37812 dport 41066] != expected 0xb645f0b9 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37812 dport 41066] != expected 0xb645f0b9 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40372 dport 41066] != expected 0x60f0f6d8 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40372 dport 41066] != expected 0x60f0f6d8 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 53957 dport 41066] != expected 0xec4a0f17 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 53957 dport 41066] != expected 0xec4a0f17 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54207 dport 41066] != expected 0xa6d65fdb # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 54207 dport 41066] != expected 0xa6d65fdb # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40116 dport 41066] != expected 0x87c8fd00 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 40116 dport 41066] != expected 0x87c8fd00 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52455 dport 41066] != expected 0xd1493b36 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 52455 dport 41066] != expected 0xd1493b36 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 50998 dport 41066] != expected 0xc0116953 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 50998 dport 41066] != expected 0xc0116953 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 39961 dport 41066] != expected 0x6170e11f # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 39961 dport 41066] != expected 0x6170e11f # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42292 dport 41066] != expected 0xdb2da0f0 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 42292 dport 41066] != expected 0xdb2da0f0 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 50467 dport 41066] != expected 0x3604ff5b # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 50467 dport 41066] != expected 0x3604ff5b # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43123 dport 41066] != expected 0x6fd04599 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43123 dport 41066] != expected 0x6fd04599 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 60249 dport 41066] != expected 0xea2c6270 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 60249 dport 41066] != expected 0xea2c6270 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43281 dport 41066] != expected 0xb1cdd3dd # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 43281 dport 41066] != expected 0xb1cdd3dd # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37460 dport 41066] != expected 0x3a2d9d73 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 37460 dport 41066] != expected 0x3a2d9d73 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 36007 dport 41066] != expected 0x1e35f478 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 36007 dport 41066] != expected 0x1e35f478 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 39178 dport 41066] != expected 0x680861f4 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 39178 dport 41066] != expected 0x680861f4 # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57471 dport 41066] != expected 0x89a829dd # # Exception| cpu 5: rx_hash 0x90677fb8 [saddr 192.0.3.2 daddr 192.0.3.1 sport 57471 dport 41066] != expected 0x89a829dd # # 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 49798 -i enp1s0 -T 4000 -s -v # # Exception| EXIT: 44 # # Exception| STDERR: RSS indirection table size: 256 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60933 dport 49798] != expected 0xbb5ab85f # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60933 dport 49798] != expected 0xbb5ab85f # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46301 dport 49798] != expected 0xc8ae1c90 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 46301 dport 49798] != expected 0xc8ae1c90 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45544 dport 49798] != expected 0x20189dcc # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45544 dport 49798] != expected 0x20189dcc # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60979 dport 49798] != expected 0xeb6887e0 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 60979 dport 49798] != expected 0xeb6887e0 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45636 dport 49798] != expected 0x77db23a7 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 45636 dport 49798] != expected 0x77db23a7 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36849 dport 49798] != expected 0x291087b4 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36849 dport 49798] != expected 0x291087b4 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34488 dport 49798] != expected 0xf4b2c198 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 34488 dport 49798] != expected 0xf4b2c198 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41503 dport 49798] != expected 0x62de61a4 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41503 dport 49798] != expected 0x62de61a4 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36903 dport 49798] != expected 0xd96caf55 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36903 dport 49798] != expected 0xd96caf55 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49746 dport 49798] != expected 0x9ad5b3ed # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49746 dport 49798] != expected 0x9ad5b3ed # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59168 dport 49798] != expected 0xcee1e1ac # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 59168 dport 49798] != expected 0xcee1e1ac # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49066 dport 49798] != expected 0xee378ee0 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49066 dport 49798] != expected 0xee378ee0 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37956 dport 49798] != expected 0x16cf8737 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 37956 dport 49798] != expected 0x16cf8737 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40259 dport 49798] != expected 0x658af304 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 40259 dport 49798] != expected 0x658af304 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42143 dport 49798] != expected 0x597a5b8a # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 42143 dport 49798] != expected 0x597a5b8a # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41968 dport 49798] != expected 0x6bc34fcc # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41968 dport 49798] != expected 0x6bc34fcc # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36595 dport 49798] != expected 0x49ec9726 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 36595 dport 49798] != expected 0x49ec9726 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57921 dport 49798] != expected 0x61bed95c # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 57921 dport 49798] != expected 0x61bed95c # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56215 dport 49798] != expected 0xf0d6552d # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 56215 dport 49798] != expected 0xf0d6552d # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50877 dport 49798] != expected 0x4693adcc # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 50877 dport 49798] != expected 0x4693adcc # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41650 dport 49798] != expected 0x1a1af48d # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 41650 dport 49798] != expected 0x1a1af48d # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49223 dport 49798] != expected 0xa757e024 # # Exception| cpu 0: rx_hash 0x44d659f8 [saddr 2001:db8:1::2 daddr 2001:db8:1::1 sport 49223 dport 49798] != expected 0xa757e024 # # 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 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__->