make -C tools/testing/selftests TARGETS="net/mptcp" TEST_PROGS=mptcp_join..sh TEST_GEN_PROGS="" run_tests make: Entering directory '/home/virtme/testing/wt-12/tools/testing/selftests' make[1]: Entering directory '/home/virtme/testing/wt-12/tools/testing/selftests/net/mptcp' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/virtme/testing/wt-12/tools/testing/selftests/net/mptcp' make[1]: Entering directory '/home/virtme/testing/wt-12/tools/testing/selftests/net/mptcp' TAP version 13 1..1 # overriding timeout to 3600 # selftests: net/mptcp: mptcp_join.sh # 001 no JOIN # join Rx [ OK ] # join Tx [ OK ] # 002 single subflow, limited by client # join Rx [ OK ] # join Tx [ OK ] # 003 single subflow, limited by server # join Rx [ OK ] # join Tx [ OK ] # 004 single subflow # join Rx [ OK ] # join Tx [ OK ] # 005 multiple subflows # join Rx [ OK ] # join Tx [ OK ] # 006 multiple subflows, limited by server # join Rx [ OK ] # join Tx [ OK ] # 007 single subflow, dev # join Rx [ OK ] # join Tx [ OK ] # 008 no MPC reuse with single endpoint # join Rx [ OK ] # join Tx [ OK ] # 009 multi subflows, with failing subflow # join Rx [ OK ] # join Tx [ OK ] # 010 multi subflows, with subflow timeout # join Rx [ OK ] # join Tx [ OK ] # 011 multi subflows, fair usage on close # join Rx [ OK ] # join Tx [ OK ] # 012 unused signal address # join Rx [ OK ] # join Tx [ OK ] # add addr tx [ OK ] # add addr echo tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 013 signal address # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 014 subflow and signal # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 015 subflow and signal together # join Rx [ OK ] # join Tx [ OK ] # add addr rx server [ OK ] # add addr echo rx client [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # reset tx client [ OK ] # reset rx server [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 016 multiple subflows and signal # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 017 signal addresses # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 018 signal invalid addresses # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 019 signal addresses race test # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 020 without a laminar endpoint # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 021 with a laminar endpoint # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 022 with multiple laminar endpoints # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 023 single laminar endpoint # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 024 sublow + laminar endpoints # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 025 multiple flows, signal, link failure # Info: Test file (size 10967 KB) for client # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # stale [ OK ] # 026 multi flows, signal, bidi, link fail # Info: Test file (size 28672 KB) for server # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # stale [ OK ] # 027 backup subflow unused, link failure # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # link usage [ OK ] # 028 backup flow used, multi links fail # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # stale [ OK ] # link usage [ OK ] # 029 backup flow used, bidi, link failure # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # stale [ OK ] # link usage [ OK ] # 030 signal address, ADD_ADDR timeout # join Rx [ OK ] # join Tx [ OK ] # add addr tx [ OK ] # add addr echo tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 031 signal address, ADD_ADDR6 timeout # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 032 signal addresses, ADD_ADDR timeout # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 033 invalid address, ADD_ADDR timeout # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 034 remove single subflow # join Rx [ OK ] # join Tx [ OK ] # rm addr tx client [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 035 remove multiple subflows # join Rx [ OK ] # join Tx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 036 remove single address # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 037 remove subflow and signal # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 038 remove subflows and signal # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 039 remove addresses # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 040 remove invalid addresses # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 041 flush subflows and signal # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 042 flush subflows # join Rx [ OK ] # join Tx [ OK ] # rm addr tx client [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 043 flush addresses # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 044 flush invalid addresses # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 045 remove id 0 subflow # join Rx [ OK ] # join Tx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 046 remove id 0 address # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # reset tx client [ OK ] # reset rx server [ OK ] # 047 add single subflow # currently established: 1 [ OK ] # join Rx [ OK ] # join Tx [ OK ] # currently established: 0 [ OK ] # 048 add signal address # currently established: 1 [ OK ] # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # currently established: 0 [ OK ] # 049 add multiple subflows # currently established: 1 [ OK ] # join Rx [ OK ] # join Tx [ OK ] # currently established: 0 [ OK ] # 050 add multiple subflows IPv6 # currently established: 1 [ OK ] # join Rx [ OK ] # join Tx [ OK ] # currently established: 0 [ OK ] # 051 add multiple addresses IPv6 # currently established: 1 [ OK ] # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # currently established: 0 [ OK ] # 052 single subflow IPv6 # join Rx [ OK ] # join Tx [ OK ] # 053 unused signal address IPv6 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 054 single address IPv6 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 055 remove single address IPv6 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # 056 remove subflow and signal IPv6 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 057 single subflow IPv4-mapped # join Rx [ OK ] # join Tx [ OK ] # 058 signal address IPv4-mapped # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 059 single subflow v4-map-v6 # join Rx [ OK ] # join Tx [ OK ] # 060 signal address v4-map-v6 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 061 single subflow v6-map-v4 # join Rx [ OK ] # join Tx [ OK ] # 062 signal address v6-map-v4 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 063 no JOIN with diff families v4-v6 # join Rx [ OK ] # join Tx [ OK ] # 064 no JOIN with diff families v4-v6-2 # join Rx [ OK ] # join Tx [ OK ] # 065 no JOIN with diff families v6-v4 # join Rx [ OK ] # join Tx [ OK ] # 066 IPv4 sockets do not use IPv6 addresses # join Rx [ OK ] # join Tx [ OK ] # 067 simult IPv4 and IPv6 subflows # join Rx [ OK ] # join Tx [ OK ] # 068 simult IPv4 and IPv6 subflows, fullmesh 1x1 # join Rx [ OK ] # join Tx [ OK ] # 069 simult IPv4 and IPv6 subflows, fullmesh 2x2 # join Rx [ OK ] # join Tx [ OK ] # 070 single subflow, backup # join Rx [ OK ] # join Tx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 071 single address, backup # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 072 single address, switch to backup # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 073 single address with port, backup # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 074 mpc backup # join Rx [ OK ] # join Tx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 075 mpc backup both sides # join Rx [ OK ] # join Tx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 076 mpc switch to backup # join Rx [ OK ] # join Tx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 077 mpc switch to backup both sides # join Rx [ OK ] # join Tx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 078 signal address with port # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # add addr rx with port [ OK ] # syn rx port [ OK ] # synack rx port [ OK ] # ack rx port [ OK ] # syn rx port mismatch [ OK ] # ack rx port mismatch [ OK ] # 079 subflow and signal with port # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # add addr rx with port [ OK ] # syn rx port [ OK ] # synack rx port [ OK ] # ack rx port [ OK ] # syn rx port mismatch [ OK ] # ack rx port mismatch [ OK ] # 080 remove single address with port # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # add addr rx with port [ OK ] # syn rx port [ OK ] # synack rx port [ OK ] # ack rx port [ OK ] # syn rx port mismatch [ OK ] # ack rx port mismatch [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # LISTENER_CREATED 10.0.2.1:10100 [ OK ] # LISTENER_CLOSED 10.0.2.1:10100 [ OK ] # 081 remove subflow and signal with port # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # add addr rx with port [ OK ] # syn rx port [ OK ] # synack rx port [ OK ] # ack rx port [ OK ] # syn rx port mismatch [ OK ] # ack rx port mismatch [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 082 flush subflows and signal with port # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # 083 multiple addresses with port # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # add addr rx with port [ OK ] # syn rx port [ OK ] # synack rx port [ OK ] # ack rx port [ OK ] # syn rx port mismatch [ OK ] # ack rx port mismatch [ OK ] # 084 multiple addresses with ports # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # add addr rx with port [ OK ] # syn rx port [ OK ] # synack rx port [ OK ] # ack rx port [ OK ] # syn rx port mismatch [ OK ] # ack rx port mismatch [ OK ] # 085 port-based signal endpoint must not accept mpc # Connect [ OK ] # Attempts [ OK ] # 086 single subflow with syn cookies # join Rx [ OK ] # join Tx [ OK ] # 087 multiple subflows with syn cookies # join Rx [ OK ] # join Tx [ OK ] # 088 subflows limited by server w cookies # join Rx [ OK ] # join Tx [ OK ] # 089 signal address with syn cookies # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 090 subflow and signal w cookies # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 091 subflows and signal w. cookies # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 092 checksum test 0 0 # join Rx [ OK ] # join Tx [ OK ] # checksum server [ OK ] # checksum client [ OK ] # fail tx server [ OK ] # fail rx client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # infi tx client [ OK ] # infi rx server [ OK ] # 093 checksum test 1 1 # join Rx [ OK ] # join Tx [ OK ] # checksum server [ OK ] # checksum client [ OK ] # fail tx server [ OK ] # fail rx client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # infi tx client [ OK ] # infi rx server [ OK ] # 094 checksum test 0 1 # join Rx [ OK ] # join Tx [ OK ] # checksum server [ OK ] # checksum client [ OK ] # fail tx server [ OK ] # fail rx client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # infi tx client [ OK ] # infi rx server [ OK ] # 095 checksum test 1 0 # join Rx [ OK ] # join Tx [ OK ] # checksum server [ OK ] # checksum client [ OK ] # fail tx server [ OK ] # fail rx client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # infi tx client [ OK ] # infi rx server [ OK ] # 096 single subflow allow join id0 ns1 # join Rx [ OK ] # join Tx [ OK ] # 097 single subflow allow join id0 ns2 # join Rx [ OK ] # join Tx [ OK ] # 098 signal address allow join id0 ns1 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 099 signal address allow join id0 ns2 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 100 subflow and address allow join id0 1 # join Rx [ OK ] # join Tx [ OK ] # 101 subflow and address allow join id0 2 # join Rx [ OK ] # join Tx [ OK ] # 102 default limits, server deny join id 0 # join Rx [ OK ] # join Tx [ OK ] # 103 fullmesh test 2x1 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 104 fullmesh test 1x1 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 105 fullmesh test 1x2 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 106 fullmesh test 1x2, limited # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 107 set fullmesh flag test # join Rx [ OK ] # join Tx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 108 set nofullmesh flag test # join Rx [ OK ] # join Tx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 109 set backup,fullmesh flags test # join Rx [ OK ] # join Tx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 110 set nobackup,nofullmesh flags test # join Rx [ OK ] # join Tx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 111 fastclose test # Info: Test file (size 1024 KB) for client # Info: Test file (size 1024 KB) for server # join Rx [ OK ] # join Tx [ OK ] # fast close tx client [ OK ] # fast close rx server [ OK ] # reset tx client [ OK ] # reset rx server [ OK ] # 112 fastclose server test # Info: Test file (size 1024 KB) for client # Info: Test file (size 1024 KB) for server # join Rx [ OK ] # join Tx [ OK ] # fast close tx server [ OK ] # fast close rx client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # 113 Infinite map # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # copyfd_io_poll: poll timed out (events: POLLIN 1, POLLOUT 0) # [IGNO] (flaky) client exit code 124, server 2 # Server ns stats # TcpPassiveOpens 1 0.0 # TcpInSegs 24 0.0 # TcpOutSegs 119 0.0 # TcpRetransSegs 17 0.0 # TcpExtTCPPureAcks 15 0.0 # TcpExtTCPLossUndo 9 0.0 # TcpExtTCPTimeouts 9 0.0 # TcpExtTCPLossProbes 11 0.0 # TcpExtTCPBacklogCoalesce 1 0.0 # TcpExtTCPDSACKRecv 9 0.0 # TcpExtTCPSackShiftFallback 9 0.0 # TcpExtTCPRcvCoalesce 1 0.0 # TcpExtTCPOrigDataSent 114 0.0 # TcpExtTCPDelivered 117 0.0 # TcpExtTcpTimeoutRehash 9 0.0 # TcpExtTCPDSACKRecvSegs 9 0.0 # MPTcpExtMPCapableSYNRX 1 0.0 # MPTcpExtMPCapableACKRX 1 0.0 # MPTcpExtMPTCPRetrans 8 0.0 # MPTcpExtDataCsumErr 1 0.0 # MPTcpExtMPFailTx 1 0.0 # MPTcpExtMPFailRx 1 0.0 # Client ns stats # TcpActiveOpens 1 0.0 # TcpInSegs 43 0.0 # TcpOutSegs 336 0.0 # TcpExtOutOfWindowIcmps 200 0.0 # TcpExtDelayedACKLost 17 0.0 # TcpExtTCPPureAcks 4 0.0 # TcpExtTCPLossProbes 1 0.0 # TcpExtTCPDSACKOldSent 17 0.0 # TcpExtTCPOrigDataSent 31 0.0 # TcpExtTCPDelivered 32 0.0 # MPTcpExtMPCapableSYNTX 1 0.0 # MPTcpExtMPCapableSYNACKRX 1 0.0 # MPTcpExtInfiniteMapTx 1 0.0 # MPTcpExtMPFailTx 1 0.0 # MPTcpExtMPFailRx 1 0.0 # # netns ns1-WLqWQj (listener) socket stat for 10112: # Failed to find cgroup2 mount # Failed to find cgroup2 mount # Failed to find cgroup2 mount # Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port # tcp ESTAB 0 8192 [::ffff:10.0.1.1]:10112 [::ffff:10.0.1.2]:52536 timer:(on,18sec,0) ino:76551 sk:1 cgroup:unreachable:1 <-> # skmem:(r0,rb131072,t0,tb258048,f2304,w9984,o0,bl0,d0) ts sack cubic wscale:7,7 rto:26737 rtt:3788.54/5736.87 ato:40 mss:1448 pmtu:1500 rcvmss:1448 advmss:1448 cwnd:56 bytes_sent:176652 bytes_retrans:21516 bytes_acked:146944 bytes_received:40960 segs_out:135 segs_in:47 data_segs_out:131 data_segs_in:31 send 171228bps lastsnd:8513 lastrcv:61950 lastack:16193 pacing_rate 342456bps delivery_rate 4064bps delivered:118 busy:61373ms unacked:6 retrans:0/17 dsack_dups:9 rcv_rtt:3 rcv_space:14480 rcv_ssthresh:81336 minrtt:0.293 snd_wnd:123136 rcv_wnd:81408 rehash:9 tcp-ulp-mptcp flags:Mec token:0000(id:0)/6d97e889(id:0) seq:4404854826363223539 sfseq:16385 ssnoff:1720518082 maplen:24576 # mptcp FIN-WAIT-1 0 0 [::ffff:10.0.1.1]:10112 [::ffff:10.0.1.2]:52536 timer:(keepalive,28sec,0) ino:0 sk:1001 cgroup:unreachable:1 --- # skmem:(r0,rb131072,t0,tb262144,f3452,w123524,o0,bl0,d0) subflows_max:2 remote_key token:6d97e889 write_seq:2238689388651835908 snd_una:2238689388651712999 rcv_nxt:4404854826363248115 csum_enabled:1 bytes_retrans:65536 bytes_sent:89600 bytes_received:40960 bytes_acked:8192 subflows_total:1 last_data_sent:62032 last_data_recv:62079 last_ack_recv:62083 # TcpPassiveOpens 1 0.0 # TcpInSegs 24 0.0 # TcpOutSegs 119 0.0 # TcpRetransSegs 17 0.0 # TcpExtTCPPureAcks 15 0.0 # TcpExtTCPLossUndo 9 0.0 # TcpExtTCPTimeouts 9 0.0 # TcpExtTCPLossProbes 11 0.0 # TcpExtTCPBacklogCoalesce 1 0.0 # TcpExtTCPDSACKRecv 9 0.0 # TcpExtTCPSackShiftFallback 9 0.0 # TcpExtTCPRcvCoalesce 1 0.0 # TcpExtTCPOrigDataSent 114 0.0 # TcpExtTCPDelivered 117 0.0 # TcpExtTcpTimeoutRehash 9 0.0 # TcpExtTCPDSACKRecvSegs 9 0.0 # MPTcpExtMPCapableSYNRX 1 0.0 # MPTcpExtMPCapableACKRX 1 0.0 # MPTcpExtMPTCPRetrans 8 0.0 # MPTcpExtDataCsumErr 1 0.0 # MPTcpExtMPFailTx 1 0.0 # MPTcpExtMPFailRx 1 0.0 # # netns ns2-kBfM9z (connector) socket stat for 10112: # Failed to find cgroup2 mount # Failed to find cgroup2 mount # Failed to find cgroup2 mount # Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port # tcp FIN-WAIT-1 0 90141 10.0.1.2:52536 10.0.1.1:10112 timer:(persist,4.087sec,5) ino:77444 sk:2001 cgroup:unreachable:1 <-- # skmem:(r0,rb147816,t0,tb138240,f3684,w94620,o0,bl0,d17) ts sack cubic wscale:7,7 rto:204 backoff:5 rtt:3.293/3.33 ato:40 mss:1448 pmtu:1500 rcvmss:1420 advmss:1448 cwnd:30 bytes_sent:439244 bytes_acked:40961 bytes_received:155136 segs_out:336 segs_in:136 data_segs_out:320 data_segs_in:131 send 105532949bps lastsnd:2441 lastrcv:16553 lastack:8905 pacing_rate 211057880bps delivery_rate 21591792bps delivered:32 busy:62355ms rcv_rtt:491.602 rcv_space:65536 rcv_ssthresh:123012 notsent:90141 minrtt:0.211 snd_wnd:81408 rcv_wnd:123136 tcp-ulp-mptcp flags:Mmec token:0000(id:0)/cee6681e(id:0) seq:2238689388651851751 sfseq:146945 ssnoff:2424084397 maplen:8192 # mptcp FIN-WAIT-2 0 0 10.0.1.2:52536 10.0.1.1:10112 timer:(keepalive,58sec,0) ino:0 sk:2002 cgroup:unreachable:1 --- # skmem:(r0,rb147816,t0,tb142336,f0,w0,o0,bl0,d0) subflows_max:2 fallback remote_key token:cee6681e write_seq:4404854826363338256 snd_una:4404854826363338256 rcv_nxt:2238689388651859943 csum_enabled:1 retransmits:1 bytes_sent:131100 bytes_received:155136 bytes_acked:65536 last_data_sent:62312 last_data_recv:16557 last_ack_recv:62350 # TcpActiveOpens 1 0.0 # TcpInSegs 43 0.0 # TcpOutSegs 336 0.0 # TcpExtOutOfWindowIcmps 200 0.0 # TcpExtDelayedACKLost 17 0.0 # TcpExtTCPPureAcks 4 0.0 # TcpExtTCPLossProbes 1 0.0 # TcpExtTCPDSACKOldSent 17 0.0 # TcpExtTCPOrigDataSent 31 0.0 # TcpExtTCPDelivered 32 0.0 # MPTcpExtMPCapableSYNTX 1 0.0 # MPTcpExtMPCapableSYNACKRX 1 0.0 # MPTcpExtInfiniteMapTx 1 0.0 # MPTcpExtMPFailTx 1 0.0 # MPTcpExtMPFailRx 1 0.0 # Info: 5 corrupted pkts # join Rx [ OK ] # join Tx [ OK ] # ns1 dss fallback [IGNO] (flaky) got 0 dss fallback[s] in ns1 expected 1 # fallback [IGNO] (flaky) see above # checksum server [ OK ] # checksum client [ OK ] # fail tx server [ OK ] # fail rx client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # infi tx client [ OK ] # infi rx server [IGNO] (flaky) got 0 infinite map[s] RX expected 1 # fail tx client [ OK ] # fail rx server [ OK ] # 114 MP_FAIL MP_RST # Info: Test file (size 1024 KB) for client # Info: Test file (size 1024 KB) for server # Info: 1 corrupted pkts # join Rx [ OK ] # join Tx [ OK ] # checksum server [ OK ] # checksum client [ OK ] # fail tx server [ OK ] # fail rx client [ OK ] # reset tx server [ OK ] # reset rx client [ OK ] # infi tx client [ OK ] # infi rx server [ OK ] # 115 userspace pm type prevents add_addr # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 116 userspace pm no echo w/o daemon # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 117 userspace pm type rejects join # join Rx [ OK ] # join Tx [ OK ] # 118 userspace pm type does not send join # join Rx [ OK ] # join Tx [ OK ] # 119 userspace pm type prevents mp_prio # join Rx [ OK ] # join Tx [ OK ] # mp_prio tx server [ OK ] # mp_prio rx client [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 120 userspace pm type prevents rm_addr # join Rx [ OK ] # join Tx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 121 userspace pm add & remove address # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # mptcp_info subflows=2:2 [ OK ] # mptcp_info subflows_total=3:3 [ OK ] # mptcp_info add_addr_signal=2:2 [ OK ] # dump addrs signal [ OK ] # get id 10 addr [ OK ] # get id 20 addr [ OK ] # dump addrs after rm_sf 10 [ OK ] # dump addrs after rm_addr 20 [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # mptcp_info subflows=0:0 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # 122 userspace pm create destroy subflow # join Rx [ OK ] # join Tx [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=2:2 [ OK ] # dump addrs subflow [ OK ] # get id 20 addr [ OK ] # dump addrs after rm_sf 20 [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # mptcp_info subflows=0:0 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # 123 userspace pm create id 0 subflow # mptcp_info subflows=0:0 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # dump addrs id 0 subflow [ OK ] # join Rx [ OK ] # join Tx [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=2:2 [ OK ] # 124 userspace pm remove initial subflow # join Rx [ OK ] # join Tx [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=2:2 [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # reset tx client [ OK ] # reset rx server [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # 125 userspace pm send RM_ADDR for ID 0 # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=2:2 [ OK ] # mptcp_info add_addr_signal=1:1 [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # reset tx client [ OK ] # reset rx server [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # 126 implicit EP # creation [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info add_addr_signal=1:1 [ OK ] # ID change is prevented [ OK ] # modif is allowed [ OK ] # 127 delete and re-add # Info: Test file (size 4 KB) for client # Info: Test file (size 4 KB) for server # creation [ OK ] # before delete id 2 [ OK ] # mptcp_info subflows=1:1 [ OK ] # after delete id 2 [ OK ] # mptcp_info subflows=0:0 [ OK ] # after re-add id 2 [ OK ] # mptcp_info subflows=1:1 [ OK ] # after new reject [ OK ] # mptcp_info subflows=1:1 [ OK ] # after no reject [ OK ] # mptcp_info subflows=2:2 [ OK ] # after delete id 0 (1) [ OK ] # mptcp_info subflows=2:2 [ OK ] # after re-add id 0 (1) [ OK ] # mptcp_info subflows=3:3 [ OK ] # after delete id 0 (2) [ OK ] # mptcp_info subflows=2:2 [ OK ] # after re-add id 0 (2) [ OK ] # mptcp_info subflows=3:3 [ OK ] # after delete id 0 (3) [ OK ] # mptcp_info subflows=2:2 [ OK ] # after re-add id 0 (3) [ OK ] # mptcp_info subflows=3:3 [ OK ] # event ns1 LISTENER_CREATED (1) [ OK ] # event ns1 CREATED (1) [ OK ] # event ns1 ESTABLISHED (1) [ OK ] # event ns1 ANNOUNCED (0) [ OK ] # event ns1 REMOVED (4) [ OK ] # event ns1 SUB_ESTABLISHED (6) [ OK ] # event ns1 SUB_CLOSED (4) [ OK ] # event ns2 CREATED (1) [ OK ] # event ns2 ESTABLISHED (1) [ OK ] # event ns2 ANNOUNCED (0) [ OK ] # event ns2 REMOVED (0) [ OK ] # event ns2 SUB_ESTABLISHED (6) [ OK ] # event ns2 SUB_CLOSED (5) [ OK ] # join Rx [ OK ] # join Tx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 128 delete re-add signal # Info: Test file (size 4 KB) for client # Info: Test file (size 4 KB) for server # creation [ OK ] # before delete [ OK ] # mptcp_info subflows=1:1 [ OK ] # after delete [ OK ] # mptcp_info subflows=0:0 [ OK ] # after re-add [ OK ] # mptcp_info subflows=2:2 [ OK ] # after delete ID 0 [ OK ] # mptcp_info subflows=2:2 [ OK ] # after re-add ID 0 [ OK ] # mptcp_info subflows=3:3 [ OK ] # after re-delete ID 0 [ OK ] # mptcp_info subflows=2:2 [ OK ] # after re-re-add ID 0 [ OK ] # mptcp_info subflows=3:3 [ OK ] # event ns1 LISTENER_CREATED (1) [ OK ] # event ns1 CREATED (1) [ OK ] # event ns1 ESTABLISHED (1) [ OK ] # event ns1 ANNOUNCED (0) [ OK ] # event ns1 REMOVED (0) [ OK ] # event ns1 SUB_ESTABLISHED (5) [ OK ] # event ns1 SUB_CLOSED (3) [ OK ] # event ns2 CREATED (1) [ OK ] # event ns2 ESTABLISHED (1) [ OK ] # event ns2 ANNOUNCED (6) [ OK ] # event ns2 REMOVED (4) [ OK ] # event ns2 SUB_ESTABLISHED (5) [ OK ] # event ns2 SUB_CLOSED (3) [ OK ] # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # 129 flush re-add # Info: Test file (size 4 KB) for client # Info: Test file (size 4 KB) for server # before flush [ OK ] # mptcp_info subflows=0:0 [ OK ] # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # rm addr rx client [ OK ] # rm subflow server [ OK ] # # TAP version 13 # 1..129 # ok 1 - mptcp_join: no JOIN # time=16512ms # ok 2 - mptcp_join: single subflow, limited by client # time=17599ms # ok 3 - mptcp_join: single subflow, limited by server # time=25911ms # ok 4 - mptcp_join: single subflow # time=18228ms # ok 5 - mptcp_join: multiple subflows # time=18017ms # ok 6 - mptcp_join: multiple subflows, limited by server # time=17838ms # ok 7 - mptcp_join: single subflow, dev # time=17578ms # ok 8 - mptcp_join: no MPC reuse with single endpoint # time=22767ms # ok 9 - mptcp_join: multi subflows, with failing subflow # time=23868ms # ok 10 - mptcp_join: multi subflows, with subflow timeout # time=23021ms # ok 11 - mptcp_join: multi subflows, fair usage on close # time=23555ms # ok 12 - mptcp_join: unused signal address # time=18981ms # ok 13 - mptcp_join: signal address # time=18370ms # ok 14 - mptcp_join: subflow and signal # time=18443ms # ok 15 - mptcp_join: subflow and signal together # time=19999ms # ok 16 - mptcp_join: multiple subflows and signal # time=19093ms # ok 17 - mptcp_join: signal addresses # time=24067ms # ok 18 - mptcp_join: signal invalid addresses # time=23940ms # ok 19 - mptcp_join: signal addresses race test # time=26145ms # ok 20 - mptcp_join: without a laminar endpoint # time=20569ms # ok 21 - mptcp_join: with a laminar endpoint # time=20518ms # ok 22 - mptcp_join: with multiple laminar endpoints # time=20979ms # ok 23 - mptcp_join: single laminar endpoint # time=20496ms # ok 24 - mptcp_join: sublow + laminar endpoints # time=20760ms # ok 25 - mptcp_join: multiple flows, signal, link failure # time=29132ms # ok 26 - mptcp_join: multi flows, signal, bidi, link fail # time=31520ms # ok 27 - mptcp_join: backup subflow unused, link failure # time=33219ms # ok 28 - mptcp_join: backup flow used, multi links fail # time=33642ms # ok 29 - mptcp_join: backup flow used, bidi, link failure # time=37887ms # ok 30 - mptcp_join: signal address, ADD_ADDR timeout # time=27636ms # ok 31 - mptcp_join: signal address, ADD_ADDR6 timeout # time=25952ms # ok 32 - mptcp_join: signal addresses, ADD_ADDR timeout # time=43008ms # ok 33 - mptcp_join: invalid address, ADD_ADDR timeout # time=43481ms # ok 34 - mptcp_join: remove single subflow # time=27858ms # ok 35 - mptcp_join: remove multiple subflows # time=28181ms # ok 36 - mptcp_join: remove single address # time=29590ms # ok 37 - mptcp_join: remove subflow and signal # time=29136ms # ok 38 - mptcp_join: remove subflows and signal # time=46025ms # ok 39 - mptcp_join: remove addresses # time=46334ms # ok 40 - mptcp_join: remove invalid addresses # time=46109ms # ok 41 - mptcp_join: flush subflows and signal # time=28816ms # ok 42 - mptcp_join: flush subflows # time=28557ms # ok 43 - mptcp_join: flush addresses # time=28589ms # ok 44 - mptcp_join: flush invalid addresses # time=28241ms # ok 45 - mptcp_join: remove id 0 subflow # time=27536ms # ok 46 - mptcp_join: remove id 0 address # time=27823ms # ok 47 - mptcp_join: add single subflow # time=25366ms # ok 48 - mptcp_join: add signal address # time=25699ms # ok 49 - mptcp_join: add multiple subflows # time=25031ms # ok 50 - mptcp_join: add multiple subflows IPv6 # time=24915ms # ok 51 - mptcp_join: add multiple addresses IPv6 # time=24725ms # ok 52 - mptcp_join: single subflow IPv6 # time=24142ms # ok 53 - mptcp_join: unused signal address IPv6 # time=24810ms # ok 54 - mptcp_join: single address IPv6 # time=24767ms # ok 55 - mptcp_join: remove single address IPv6 # time=25582ms # ok 56 - mptcp_join: remove subflow and signal IPv6 # time=25448ms # ok 57 - mptcp_join: single subflow IPv4-mapped # time=18540ms # ok 58 - mptcp_join: signal address IPv4-mapped # time=18931ms # ok 59 - mptcp_join: single subflow v4-map-v6 # time=18528ms # ok 60 - mptcp_join: signal address v4-map-v6 # time=20013ms # ok 61 - mptcp_join: single subflow v6-map-v4 # time=19903ms # ok 62 - mptcp_join: signal address v6-map-v4 # time=20068ms # ok 63 - mptcp_join: no JOIN with diff families v4-v6 # time=18701ms # ok 64 - mptcp_join: no JOIN with diff families v4-v6-2 # time=18360ms # ok 65 - mptcp_join: no JOIN with diff families v6-v4 # time=18547ms # ok 66 - mptcp_join: IPv4 sockets do not use IPv6 addresses # time=23500ms # ok 67 - mptcp_join: simult IPv4 and IPv6 subflows # time=23340ms # ok 68 - mptcp_join: simult IPv4 and IPv6 subflows, fullmesh 1x1 # time=23855ms # ok 69 - mptcp_join: simult IPv4 and IPv6 subflows, fullmesh 2x2 # time=24037ms # ok 70 - mptcp_join: single subflow, backup # time=26635ms # ok 71 - mptcp_join: single address, backup # time=25312ms # ok 72 - mptcp_join: single address, switch to backup # time=24891ms # ok 73 - mptcp_join: single address with port, backup # time=25251ms # ok 74 - mptcp_join: mpc backup # time=24534ms # ok 75 - mptcp_join: mpc backup both sides # time=25371ms # ok 76 - mptcp_join: mpc switch to backup # time=24558ms # ok 77 - mptcp_join: mpc switch to backup both sides # time=24537ms # ok 78 - mptcp_join: signal address with port # time=20102ms # ok 79 - mptcp_join: subflow and signal with port # time=20468ms # ok 80 - mptcp_join: remove single address with port # time=27484ms # ok 81 - mptcp_join: remove subflow and signal with port # time=25974ms # ok 82 - mptcp_join: flush subflows and signal with port # time=24809ms # ok 83 - mptcp_join: multiple addresses with port # time=20489ms # ok 84 - mptcp_join: multiple addresses with ports # time=20680ms # ok 85 - mptcp_join: port-based signal endpoint must not accept mpc # time=9473ms # ok 86 - mptcp_join: single subflow with syn cookies # time=18780ms # ok 87 - mptcp_join: multiple subflows with syn cookies # time=18402ms # ok 88 - mptcp_join: subflows limited by server w cookies # time=19211ms # ok 89 - mptcp_join: signal address with syn cookies # time=19447ms # ok 90 - mptcp_join: subflow and signal w cookies # time=20232ms # ok 91 - mptcp_join: subflows and signal w. cookies # time=19506ms # ok 92 - mptcp_join: checksum test 0 0 # time=21206ms # ok 93 - mptcp_join: checksum test 1 1 # time=20850ms # ok 94 - mptcp_join: checksum test 0 1 # time=20691ms # ok 95 - mptcp_join: checksum test 1 0 # time=20319ms # ok 96 - mptcp_join: single subflow allow join id0 ns1 # time=18687ms # ok 97 - mptcp_join: single subflow allow join id0 ns2 # time=18895ms # ok 98 - mptcp_join: signal address allow join id0 ns1 # time=19070ms # ok 99 - mptcp_join: signal address allow join id0 ns2 # time=18267ms # ok 100 - mptcp_join: subflow and address allow join id0 1 # time=16994ms # ok 101 - mptcp_join: subflow and address allow join id0 2 # time=17157ms # ok 102 - mptcp_join: default limits, server deny join id 0 # time=17266ms # ok 103 - mptcp_join: fullmesh test 2x1 # time=22494ms # ok 104 - mptcp_join: fullmesh test 1x1 # time=22724ms # ok 105 - mptcp_join: fullmesh test 1x2 # time=22602ms # ok 106 - mptcp_join: fullmesh test 1x2, limited # time=22172ms # ok 107 - mptcp_join: set fullmesh flag test # time=22160ms # ok 108 - mptcp_join: set nofullmesh flag test # time=22183ms # ok 109 - mptcp_join: set backup,fullmesh flags test # time=24027ms # ok 110 - mptcp_join: set nobackup,nofullmesh flags test # time=23740ms # ok 111 - mptcp_join: fastclose test # time=18934ms # ok 112 - mptcp_join: fastclose server test # time=18627ms # ok 113 - mptcp_join: Infinite map # IGNORE Flaky time=83340ms # ok 114 - mptcp_join: MP_FAIL MP_RST # time=29684ms # ok 115 - mptcp_join: userspace pm type prevents add_addr # time=17440ms # ok 116 - mptcp_join: userspace pm no echo w/o daemon # time=17588ms # ok 117 - mptcp_join: userspace pm type rejects join # time=16652ms # ok 118 - mptcp_join: userspace pm type does not send join # time=16716ms # ok 119 - mptcp_join: userspace pm type prevents mp_prio # time=22633ms # ok 120 - mptcp_join: userspace pm type prevents rm_addr # time=23055ms # ok 121 - mptcp_join: userspace pm add & remove address # time=33007ms # ok 122 - mptcp_join: userspace pm create destroy subflow # time=25731ms # ok 123 - mptcp_join: userspace pm create id 0 subflow # time=23532ms # ok 124 - mptcp_join: userspace pm remove initial subflow # time=25456ms # ok 125 - mptcp_join: userspace pm send RM_ADDR for ID 0 # time=29239ms # ok 126 - mptcp_join: implicit EP # time=11482ms # ok 127 - mptcp_join: delete and re-add # time=56651ms # ok 128 - mptcp_join: delete re-add signal # time=42868ms # ok 129 - mptcp_join: flush re-add # time=29803ms ok 1 selftests: net/mptcp: mptcp_join.sh make[1]: Leaving directory '/home/virtme/testing/wt-12/tools/testing/selftests/net/mptcp' make: Leaving directory '/home/virtme/testing/wt-12/tools/testing/selftests' xx__-> echo $? 0 xx__-> echo scan > /sys/kernel/debug/kmemleak xx__-> echo scan > /sys/kernel/debug/kmemleak && cat /sys/kernel/debug/kmemleak unreferenced object 0xffff88800c850d00 (size 3016): comm "softirq", pid 0, jiffies 4297477124 hex dump (first 32 bytes): 0a 00 01 02 0a 00 01 01 00 00 00 00 db 98 83 27 ...............' 0a 00 07 41 00 00 00 00 00 00 00 00 00 00 00 00 ...A............ backtrace (crc 500900e4): kmem_cache_alloc_noprof+0x441/0x650 sk_prot_alloc.constprop.0+0x4e/0x1b0 sk_clone_lock+0x4b/0x1110 mptcp_sk_clone_init+0x2e/0x10d0 subflow_syn_recv_sock+0x9d1/0x16d0 tcp_check_req+0x4b9/0x1fb0 tcp_v4_rcv+0x1004/0x30a0 ip_protocol_deliver_rcu+0x82/0x350 ip_local_deliver_finish+0x35d/0x620 ip_local_deliver+0x19c/0x470 ip_rcv+0xc2/0x370 __netif_receive_skb_one_core+0x108/0x180 process_backlog+0x3b8/0x13d0 __napi_poll.constprop.0+0x9f/0x460 net_rx_action+0x489/0xd10 handle_softirqs+0x215/0x610 xx__->