make -C tools/testing/selftests TARGETS="net/mptcp" TEST_PROGS=mptcp_join..sh TEST_GEN_PROGS="" run_tests make: Entering directory '/home/virtme/testing-11/tools/testing/selftests' make[1]: Entering directory '/home/virtme/testing-11/tools/testing/selftests/net/mptcp' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/virtme/testing-11/tools/testing/selftests/net/mptcp' make[1]: Entering directory '/home/virtme/testing-11/tools/testing/selftests/net/mptcp' TAP version 13 1..1 # timeout set to 1800 # selftests: net/mptcp: mptcp_join.sh # 001 no JOIN # syn [ OK ] # synack [ OK ] # ack [ OK ] # 002 single subflow, limited by client # syn [ OK ] # synack [ OK ] # ack [ OK ] # 003 single subflow, limited by server # syn [ OK ] # synack [ OK ] # ack [ OK ] # 004 single subflow # syn [ OK ] # synack [ OK ] # ack [ OK ] # 005 multiple subflows # syn [ OK ] # synack [ OK ] # ack [ OK ] # 006 multiple subflows, limited by server # syn [ OK ] # synack [ OK ] # ack [ OK ] # 007 single subflow, dev # syn [ OK ] # synack [ OK ] # ack [ OK ] # 008 no MPC reuse with single endpoint # syn [ OK ] # synack [ OK ] # ack [ OK ] # 009 multi subflows, with failing subflow # syn [ OK ] # synack [ OK ] # ack [ OK ] # 010 multi subflows, with subflow timeout # syn [ OK ] # synack [ OK ] # ack [ OK ] # 011 multi subflows, fair usage on close # syn [ OK ] # synack [ OK ] # ack [ OK ] # 012 unused signal address # syn [ OK ] # synack [ OK ] # ack [ OK ] # add TX [ OK ] # echo TX [ OK ] # add [ OK ] # echo [ OK ] # 013 signal address # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 014 subflow and signal # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 015 subflow and signal together # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # Info: invert # add [ OK ] # echo [ OK ] # rtx [ OK ] # rstrx [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # 016 multiple subflows and signal # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 017 signal addresses # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 018 signal invalid addresses # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 019 signal addresses race test # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 020 multiple flows, signal, link failure # Info: Test file (size 14700 KB) for client # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # stale [ OK ] # 021 multi flows, signal, bidi, link fail # Info: Test file (size 8192 KB) for server # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # stale [ OK ] # 022 backup subflow unused, link failure # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # link usage [ OK ] # 023 backup flow used, multi links fail # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # stale [ OK ] # link usage [ OK ] # 024 backup flow used, bidi, link failure # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # stale [ OK ] # link usage [ OK ] # 025 signal address, ADD_ADDR timeout # syn [ OK ] # synack [ OK ] # ack [ OK ] # add TX [ OK ] # echo TX [ OK ] # add [ OK ] # echo [ OK ] # 026 signal address, ADD_ADDR6 timeout # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 027 signal addresses, ADD_ADDR timeout # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 028 invalid address, ADD_ADDR timeout # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 029 remove single subflow # syn [ OK ] # synack [ OK ] # ack [ OK ] # rm TX [ OK ] # rm [ OK ] # rmsf [ OK ] # rtx [ OK ] # rstrx [ OK ] # 030 remove multiple subflows # syn [ OK ] # synack [ OK ] # ack [ OK ] # rm [ OK ] # rmsf [ OK ] # rtx [ OK ] # rstrx [ OK ] # 031 remove single address # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # 032 remove subflow and signal # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # rtx [ OK ] # rstrx [ OK ] # 033 remove subflows and signal # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # rtx [ OK ] # rstrx [ OK ] # 034 remove addresses # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # 035 remove invalid addresses # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # 036 flush subflows and signal # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # 037 flush subflows # syn [ OK ] # synack [ OK ] # ack [ OK ] # rm TX [ OK ] # rm [ OK ] # rmsf [ OK ] # rtx [ OK ] # rstrx [ OK ] # 038 flush addresses # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # 039 flush invalid addresses # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # 040 remove id 0 subflow # syn [ OK ] # synack [ OK ] # ack [ OK ] # rm [ OK ] # rmsf [ OK ] # rtx [ OK ] # rstrx [ OK ] # 041 remove id 0 address # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # Info: invert # 042 add single subflow # cestab 1 [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # cestab 0 [ OK ] # 043 add signal address # cestab 1 [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # cestab 0 [ OK ] # 044 add multiple subflows # cestab 1 [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # cestab 0 [ OK ] # 045 add multiple subflows IPv6 # cestab 1 [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # cestab 0 [ OK ] # 046 add multiple addresses IPv6 # cestab 1 [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # cestab 0 [ OK ] # 047 single subflow IPv6 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 048 unused signal address IPv6 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 049 single address IPv6 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 050 remove single address IPv6 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # 051 remove subflow and signal IPv6 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # 052 single subflow IPv4-mapped # syn [ OK ] # synack [ OK ] # ack [ OK ] # 053 signal address IPv4-mapped # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 054 single subflow v4-map-v6 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 055 signal address v4-map-v6 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 056 single subflow v6-map-v4 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 057 signal address v6-map-v4 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 058 no JOIN with diff families v4-v6 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 059 no JOIN with diff families v4-v6-2 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 060 no JOIN with diff families v6-v4 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 061 IPv4 sockets do not use IPv6 addresses # syn [ OK ] # synack [ OK ] # ack [ OK ] # 062 simult IPv4 and IPv6 subflows # syn [ OK ] # synack [ OK ] # ack [ OK ] # 063 simult IPv4 and IPv6 subflows, fullmesh 1x1 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 064 simult IPv4 and IPv6 subflows, fullmesh 2x2 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 065 single subflow, backup # syn [ OK ] # synack [ OK ] # ack [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 066 single address, backup # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 067 single address, switch to backup # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 068 single address with port, backup # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 069 mpc backup # syn [ OK ] # synack [ OK ] # ack [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 070 mpc backup both sides # syn [ OK ] # synack [ OK ] # ack [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 071 mpc switch to backup # syn [ OK ] # synack [ OK ] # ack [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 072 mpc switch to backup both sides # syn [ OK ] # synack [ OK ] # ack [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 073 signal address with port # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # pt [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # syn [ OK ] # ack [ OK ] # 074 subflow and signal with port # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # pt [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # syn [ OK ] # ack [ OK ] # 075 remove single address with port # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # pt [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # syn [ OK ] # ack [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # LISTENER_CREATED 10.0.2.1:10100 [ OK ] # LISTENER_CLOSED 10.0.2.1:10100 [ OK ] # 076 remove subflow and signal with port # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # pt [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # syn [ OK ] # ack [ OK ] # rm [ OK ] # rmsf [ OK ] # 077 flush subflows and signal with port # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # 078 multiple addresses with port # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # pt [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # syn [ OK ] # ack [ OK ] # 079 multiple addresses with ports # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # pt [ OK ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # syn [ OK ] # ack [ OK ] # 080 single subflow with syn cookies # syn [ OK ] # synack [ OK ] # ack [ OK ] # 081 multiple subflows with syn cookies # syn [ OK ] # synack [ OK ] # ack [ OK ] # 082 subflows limited by server w cookies # syn [ OK ] # synack [ OK ] # ack [ OK ] # 083 signal address with syn cookies # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 084 subflow and signal w cookies # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 085 subflows and signal w. cookies # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 086 checksum test 0 0 # syn [ OK ] # synack [ OK ] # ack [ OK ] # sum [ OK ] # csum [ OK ] # ftx [ OK ] # failrx [ OK ] # rtx [ OK ] # rstrx [ OK ] # itx [ OK ] # infirx [ OK ] # 087 checksum test 1 1 # syn [ OK ] # synack [ OK ] # ack [ OK ] # sum [ OK ] # csum [ OK ] # ftx [ OK ] # failrx [ OK ] # rtx [ OK ] # rstrx [ OK ] # itx [ OK ] # infirx [ OK ] # 088 checksum test 0 1 # syn [ OK ] # synack [ OK ] # ack [ OK ] # sum [ OK ] # csum [ OK ] # ftx [ OK ] # failrx [ OK ] # rtx [ OK ] # rstrx [ OK ] # itx [ OK ] # infirx [ OK ] # 089 checksum test 1 0 # syn [ OK ] # synack [ OK ] # ack [ OK ] # sum [ OK ] # csum [ OK ] # ftx [ OK ] # failrx [ OK ] # rtx [ OK ] # rstrx [ OK ] # itx [ OK ] # infirx [ OK ] # 090 single subflow allow join id0 ns1 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 091 single subflow allow join id0 ns2 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 092 signal address allow join id0 ns1 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 093 signal address allow join id0 ns2 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 094 subflow and address allow join id0 1 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 095 subflow and address allow join id0 2 # syn [ OK ] # synack [ OK ] # ack [ OK ] # 096 fullmesh test 2x1 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 097 fullmesh test 1x1 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 098 fullmesh test 1x2 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 099 fullmesh test 1x2, limited # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 100 set fullmesh flag test # syn [ OK ] # synack [ OK ] # ack [ OK ] # rm [ OK ] # rmsf [ OK ] # 101 set nofullmesh flag test # syn [ OK ] # synack [ OK ] # ack [ OK ] # rm [ OK ] # rmsf [ OK ] # 102 set backup,fullmesh flags test # syn [ OK ] # synack [ OK ] # ack [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # rm [ OK ] # rmsf [ OK ] # 103 set nobackup,nofullmesh flags test # syn [ OK ] # synack [ OK ] # ack [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # rm [ OK ] # rmsf [ OK ] # 104 fastclose test # Info: Test file (size 1024 KB) for client # Info: Test file (size 1024 KB) for server # syn [ OK ] # synack [ OK ] # ack [ OK ] # ctx [ OK ] # fclzrx [ OK ] # rtx [ OK ] # rstrx [ OK ] # Info: invert # 105 fastclose server test # Info: Test file (size 1024 KB) for client # Info: Test file (size 1024 KB) for server # syn [ OK ] # synack [ OK ] # ack [ OK ] # ctx [ OK ] # fclzrx [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # 106 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 0 # Server ns stats # TcpPassiveOpens 1 0.0 # TcpInSegs 21 0.0 # TcpOutSegs 113 0.0 # TcpRetransSegs 16 0.0 # TcpExtTCPPureAcks 13 0.0 # TcpExtTCPLossUndo 9 0.0 # TcpExtTCPTimeouts 9 0.0 # TcpExtTCPLossProbes 10 0.0 # TcpExtTCPDSACKRecv 9 0.0 # TcpExtTCPSackShiftFallback 9 0.0 # TcpExtTCPOrigDataSent 108 0.0 # TcpExtTCPDelivered 111 0.0 # TcpExtTcpTimeoutRehash 9 0.0 # TcpExtTCPDSACKRecvSegs 9 0.0 # MPTcpExtMPCapableSYNRX 1 0.0 # MPTcpExtMPCapableACKRX 1 0.0 # MPTcpExtMPTCPRetrans 7 0.0 # MPTcpExtDataCsumErr 1 0.0 # MPTcpExtMPFailTx 1 0.0 # MPTcpExtMPFailRx 1 0.0 # Client ns stats # TcpActiveOpens 1 0.0 # TcpInSegs 41 0.0 # TcpOutSegs 322 0.0 # TcpExtOutOfWindowIcmps 200 0.0 # TcpExtDelayedACKLost 16 0.0 # TcpExtTCPPureAcks 4 0.0 # TcpExtTCPDSACKOldSent 16 0.0 # TcpExtTCPOrigDataSent 19 0.0 # TcpExtTCPDelivered 20 0.0 # MPTcpExtMPCapableSYNTX 1 0.0 # MPTcpExtMPCapableSYNACKRX 1 0.0 # MPTcpExtInfiniteMapTx 1 0.0 # MPTcpExtMPFailTx 1 0.0 # MPTcpExtMPFailRx 1 0.0 # # netns ns1-kbJBsM socket stat for 10105: # 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]:10105 [::ffff:10.0.1.2]:46812 timer:(on,6.172sec,0) ino:0 sk:1 cgroup:unreachable:1 <-> # ts sack cubic wscale:7,7 rto:22143 rtt:3141.61/4750.15 ato:40 mss:1448 pmtu:1500 rcvmss:1420 advmss:1448 cwnd:58 bytes_sent:166912 bytes_retrans:20096 bytes_acked:138624 bytes_received:24576 segs_out:128 segs_in:33 data_segs_out:124 data_segs_in:19 send 213862bps lastsnd:15971 lastrcv:60962 lastack:22627 pacing_rate 427720bps delivery_rate 4976bps delivered:112 busy:59978ms unacked:6 retrans:0/16 dsack_dups:9 rcv_space:14600 rcv_ssthresh:94016 minrtt:0.027 snd_wnd:263936 rcv_wnd:94080 rehash:9 tcp-ulp-mptcp flags:Mec token:0000(id:0)/9b760e98(id:0) seq:39d49fe3bac3c194 sfseq:4001 ssnoff:ffd69b51 maplen:2000 # mptcp FIN-WAIT-1 0 0 [::ffff:10.0.1.1]:10105 [::ffff:10.0.1.2]:46812 timer:(keepalive,29sec,0) ino:0 sk:2 cgroup:unreachable:1 --- # subflows_max:2 remote_key token:9b760e98 write_seq:3556847594932802445 snd_una:3556847594932679536 rcv_nxt:4167131355664343444 csum_enabled:1 bytes_retrans:57344 bytes_sent:89472 bytes_received:24576 bytes_acked:8192 subflows_total:1 last_data_sent:60771 last_data_recv:60978 last_ack_recv:60978 # TcpPassiveOpens 1 0.0 # TcpInSegs 21 0.0 # TcpOutSegs 113 0.0 # TcpRetransSegs 16 0.0 # TcpExtTCPPureAcks 13 0.0 # TcpExtTCPLossUndo 9 0.0 # TcpExtTCPTimeouts 9 0.0 # TcpExtTCPLossProbes 10 0.0 # TcpExtTCPDSACKRecv 9 0.0 # TcpExtTCPSackShiftFallback 9 0.0 # TcpExtTCPOrigDataSent 108 0.0 # TcpExtTCPDelivered 111 0.0 # TcpExtTcpTimeoutRehash 9 0.0 # TcpExtTCPDSACKRecvSegs 9 0.0 # MPTcpExtMPCapableSYNRX 1 0.0 # MPTcpExtMPCapableACKRX 1 0.0 # MPTcpExtMPTCPRetrans 7 0.0 # MPTcpExtDataCsumErr 1 0.0 # MPTcpExtMPFailTx 1 0.0 # MPTcpExtMPFailRx 1 0.0 # # netns ns2-4ogHRx socket stat for 10105: # 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 106525 10.0.1.2:46812 10.0.1.1:10105 timer:(persist,10sec,6) ino:0 sk:1001 cgroup:unreachable:1 <-- # ts sack cubic wscale:7,7 rto:201 backoff:6 rtt:0.075/0.038 ato:40 mss:1448 pmtu:1500 rcvmss:1420 advmss:1448 cwnd:27 bytes_sent:420312 bytes_acked:24577 bytes_received:146816 segs_out:322 segs_in:129 data_segs_out:308 data_segs_in:124 send 4170240000bps lastsnd:2734 lastrcv:22702 lastack:16046 pacing_rate 8271550408bps delivery_rate 275809520bps delivered:20 busy:61037ms rcv_rtt:460.808 rcv_space:14480 rcv_ssthresh:280238 notsent:106525 minrtt:0.01 snd_wnd:94080 rcv_wnd:280320 tcp-ulp-mptcp flags:Mmec token:0000(id:0)/9774cbca(id:0) seq:315c760ae82c30f0 sfseq:21d81 ssnoff:51d8eb6 maplen:2000 # mptcp FIN-WAIT-2 0 0 10.0.1.2:46812 10.0.1.1:10105 timer:(keepalive,59sec,0) ino:0 sk:1002 cgroup:unreachable:1 --- # subflows_max:2 fallback remote_key token:9774cbca write_seq:4167131355664449969 snd_una:4167131355664449969 rcv_nxt:3556847594932818160 csum_enabled:1 bytes_sent:131100 bytes_received:146816 bytes_acked:73728 last_data_sent:61034 last_data_recv:22703 last_ack_recv:61038 # TcpActiveOpens 1 0.0 # TcpInSegs 41 0.0 # TcpOutSegs 322 0.0 # TcpExtOutOfWindowIcmps 200 0.0 # TcpExtDelayedACKLost 16 0.0 # TcpExtTCPPureAcks 4 0.0 # TcpExtTCPDSACKOldSent 16 0.0 # TcpExtTCPOrigDataSent 19 0.0 # TcpExtTCPDelivered 20 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 # syn [ OK ] # synack [ OK ] # ack [ OK ] # sum [ OK ] # csum [ OK ] # ftx [ OK ] # failrx [ OK ] # rtx [ OK ] # rstrx [ OK ] # itx [ OK ] # infirx [IGNO] (flaky) got 0 infinite map[s] RX expected 1 # ftx [ OK ] # failrx [ OK ] # Info: invert # 107 MP_FAIL MP_RST # Info: Test file (size 1024 KB) for client # Info: Test file (size 1024 KB) for server # Info: 1 corrupted pkts # syn [ OK ] # synack [ OK ] # ack [ OK ] # sum [ OK ] # csum [ OK ] # ftx [ OK ] # failrx [ OK ] # rtx [ OK ] # rstrx [ OK ] # itx [ OK ] # infirx [ OK ] # 108 userspace pm type prevents add_addr # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 109 userspace pm no echo w/o daemon # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # 110 userspace pm type rejects join # syn [ OK ] # synack [ OK ] # ack [ OK ] # 111 userspace pm type does not send join # syn [ OK ] # synack [ OK ] # ack [ OK ] # 112 userspace pm type prevents mp_prio # syn [ OK ] # synack [ OK ] # ack [ OK ] # ptx [ OK ] # prx [ OK ] # syn backup [ OK ] # synack backup [ OK ] # 113 userspace pm type prevents rm_addr # syn [ OK ] # synack [ OK ] # ack [ OK ] # rm [ OK ] # rmsf [ OK ] # 114 userspace pm add & remove address # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ 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 [ OK ] # rmsf [ OK ] # Info: invert # mptcp_info subflows=0:0 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # 115 userspace pm create destroy subflow # write: Connection reset by peer # syn [ OK ] # synack [ OK ] # ack [ 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 [ OK ] # rmsf [ OK ] # mptcp_info subflows=0:0 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # 116 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 ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=2:2 [ OK ] # 117 userspace pm remove initial subflow # syn [ OK ] # synack [ OK ] # ack [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=2:2 [ OK ] # rm [ OK ] # rmsf [ OK ] # rtx [ OK ] # rstrx [ OK ] # Info: invert # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # 118 userspace pm send RM_ADDR for ID 0 # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=2:2 [ OK ] # mptcp_info add_addr_signal=1:1 [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # rtx [ OK ] # rstrx [ OK ] # Info: invert # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # 119 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 ] # 120 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 ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # rm [ OK ] # rmsf [ OK ] # 121 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 ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # 122 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 ] # syn [ OK ] # synack [ OK ] # ack [ OK ] # add [ OK ] # echo [ OK ] # rm [ OK ] # rmsf [ OK ] # Info: invert # # TAP version 13 # 1..122 # ok 1 - mptcp_join: no JOIN # ok 2 - mptcp_join: single subflow, limited by client # ok 3 - mptcp_join: single subflow, limited by server # ok 4 - mptcp_join: single subflow # ok 5 - mptcp_join: multiple subflows # ok 6 - mptcp_join: multiple subflows, limited by server # ok 7 - mptcp_join: single subflow, dev # ok 8 - mptcp_join: no MPC reuse with single endpoint # ok 9 - mptcp_join: multi subflows, with failing subflow # ok 10 - mptcp_join: multi subflows, with subflow timeout # ok 11 - mptcp_join: multi subflows, fair usage on close # ok 12 - mptcp_join: unused signal address # ok 13 - mptcp_join: signal address # ok 14 - mptcp_join: subflow and signal # ok 15 - mptcp_join: subflow and signal together # ok 16 - mptcp_join: multiple subflows and signal # ok 17 - mptcp_join: signal addresses # ok 18 - mptcp_join: signal invalid addresses # ok 19 - mptcp_join: signal addresses race test # ok 20 - mptcp_join: multiple flows, signal, link failure # ok 21 - mptcp_join: multi flows, signal, bidi, link fail # ok 22 - mptcp_join: backup subflow unused, link failure # ok 23 - mptcp_join: backup flow used, multi links fail # ok 24 - mptcp_join: backup flow used, bidi, link failure # ok 25 - mptcp_join: signal address, ADD_ADDR timeout # ok 26 - mptcp_join: signal address, ADD_ADDR6 timeout # ok 27 - mptcp_join: signal addresses, ADD_ADDR timeout # ok 28 - mptcp_join: invalid address, ADD_ADDR timeout # ok 29 - mptcp_join: remove single subflow # ok 30 - mptcp_join: remove multiple subflows # ok 31 - mptcp_join: remove single address # ok 32 - mptcp_join: remove subflow and signal # ok 33 - mptcp_join: remove subflows and signal # ok 34 - mptcp_join: remove addresses # ok 35 - mptcp_join: remove invalid addresses # ok 36 - mptcp_join: flush subflows and signal # ok 37 - mptcp_join: flush subflows # ok 38 - mptcp_join: flush addresses # ok 39 - mptcp_join: flush invalid addresses # ok 40 - mptcp_join: remove id 0 subflow # ok 41 - mptcp_join: remove id 0 address # ok 42 - mptcp_join: add single subflow # ok 43 - mptcp_join: add signal address # ok 44 - mptcp_join: add multiple subflows # ok 45 - mptcp_join: add multiple subflows IPv6 # ok 46 - mptcp_join: add multiple addresses IPv6 # ok 47 - mptcp_join: single subflow IPv6 # ok 48 - mptcp_join: unused signal address IPv6 # ok 49 - mptcp_join: single address IPv6 # ok 50 - mptcp_join: remove single address IPv6 # ok 51 - mptcp_join: remove subflow and signal IPv6 # ok 52 - mptcp_join: single subflow IPv4-mapped # ok 53 - mptcp_join: signal address IPv4-mapped # ok 54 - mptcp_join: single subflow v4-map-v6 # ok 55 - mptcp_join: signal address v4-map-v6 # ok 56 - mptcp_join: single subflow v6-map-v4 # ok 57 - mptcp_join: signal address v6-map-v4 # ok 58 - mptcp_join: no JOIN with diff families v4-v6 # ok 59 - mptcp_join: no JOIN with diff families v4-v6-2 # ok 60 - mptcp_join: no JOIN with diff families v6-v4 # ok 61 - mptcp_join: IPv4 sockets do not use IPv6 addresses # ok 62 - mptcp_join: simult IPv4 and IPv6 subflows # ok 63 - mptcp_join: simult IPv4 and IPv6 subflows, fullmesh 1x1 # ok 64 - mptcp_join: simult IPv4 and IPv6 subflows, fullmesh 2x2 # ok 65 - mptcp_join: single subflow, backup # ok 66 - mptcp_join: single address, backup # ok 67 - mptcp_join: single address, switch to backup # ok 68 - mptcp_join: single address with port, backup # ok 69 - mptcp_join: mpc backup # ok 70 - mptcp_join: mpc backup both sides # ok 71 - mptcp_join: mpc switch to backup # ok 72 - mptcp_join: mpc switch to backup both sides # ok 73 - mptcp_join: signal address with port # ok 74 - mptcp_join: subflow and signal with port # ok 75 - mptcp_join: remove single address with port # ok 76 - mptcp_join: remove subflow and signal with port # ok 77 - mptcp_join: flush subflows and signal with port # ok 78 - mptcp_join: multiple addresses with port # ok 79 - mptcp_join: multiple addresses with ports # ok 80 - mptcp_join: single subflow with syn cookies # ok 81 - mptcp_join: multiple subflows with syn cookies # ok 82 - mptcp_join: subflows limited by server w cookies # ok 83 - mptcp_join: signal address with syn cookies # ok 84 - mptcp_join: subflow and signal w cookies # ok 85 - mptcp_join: subflows and signal w. cookies # ok 86 - mptcp_join: checksum test 0 0 # ok 87 - mptcp_join: checksum test 1 1 # ok 88 - mptcp_join: checksum test 0 1 # ok 89 - mptcp_join: checksum test 1 0 # ok 90 - mptcp_join: single subflow allow join id0 ns1 # ok 91 - mptcp_join: single subflow allow join id0 ns2 # ok 92 - mptcp_join: signal address allow join id0 ns1 # ok 93 - mptcp_join: signal address allow join id0 ns2 # ok 94 - mptcp_join: subflow and address allow join id0 1 # ok 95 - mptcp_join: subflow and address allow join id0 2 # ok 96 - mptcp_join: fullmesh test 2x1 # ok 97 - mptcp_join: fullmesh test 1x1 # ok 98 - mptcp_join: fullmesh test 1x2 # ok 99 - mptcp_join: fullmesh test 1x2, limited # ok 100 - mptcp_join: set fullmesh flag test # ok 101 - mptcp_join: set nofullmesh flag test # ok 102 - mptcp_join: set backup,fullmesh flags test # ok 103 - mptcp_join: set nobackup,nofullmesh flags test # ok 104 - mptcp_join: fastclose test # ok 105 - mptcp_join: fastclose server test # ok 106 - mptcp_join: Infinite map # IGNORE Flaky # ok 107 - mptcp_join: MP_FAIL MP_RST # ok 108 - mptcp_join: userspace pm type prevents add_addr # ok 109 - mptcp_join: userspace pm no echo w/o daemon # ok 110 - mptcp_join: userspace pm type rejects join # ok 111 - mptcp_join: userspace pm type does not send join # ok 112 - mptcp_join: userspace pm type prevents mp_prio # ok 113 - mptcp_join: userspace pm type prevents rm_addr # ok 114 - mptcp_join: userspace pm add & remove address # ok 115 - mptcp_join: userspace pm create destroy subflow # ok 116 - mptcp_join: userspace pm create id 0 subflow # ok 117 - mptcp_join: userspace pm remove initial subflow # ok 118 - mptcp_join: userspace pm send RM_ADDR for ID 0 # ok 119 - mptcp_join: implicit EP # ok 120 - mptcp_join: delete and re-add # ok 121 - mptcp_join: delete re-add signal # ok 122 - mptcp_join: flush re-add ok 1 selftests: net/mptcp: mptcp_join.sh make[1]: Leaving directory '/home/virtme/testing-11/tools/testing/selftests/net/mptcp' make: Leaving directory '/home/virtme/testing-11/tools/testing/selftests' xx__-> echo $? 0 xx__->