# skmem:(r0,rb1190211,t0,tb119808,f740,w0,o0,bl0,d1) ts sack cubic wscale:7,7 rto:201 rtt:0.748/0.935 ato:40 mss:1448 pmtu:1500 rcvmss:1448 advmss:1448 cwnd:45 bytes_sent:131100 bytes_acked:131100 bytes_received:131101 segs_out:116 segs_in:121 data_segs_out:98 data_segs_in:99 send 696898396bps lastsnd:30573 lastrcv:30570 lastack:30566 pacing_rate 1393098376bps delivery_rate 200878608bps delivered:99 busy:9ms rcv_rtt:203.646 rcv_space:65536 rcv_ssthresh:245657 minrtt:0.071 snd_wnd:112384 rcv_wnd:245760 tcp-ulp-mptcp flags:Mec token:0000(id:0)/6df74502(id:0) seq:6199440799984345223 sfseq:131101 ssnoff:2192374009 maplen:0 # mptcp FIN-WAIT-2 0 0 [::ffff:10.0.1.1]:10119 [::ffff:10.0.1.2]:59760 timer:(keepalive,59sec,0) ino:0 sk:2 cgroup:unreachable:1 --- # skmem:(r0,rb1179212,t0,tb123904,f3356,w0,o0,bl0,d0) subflows_max:2 fallback remote_key token:6df74502 write_seq:17149650031434523119 snd_una:17149650031434523119 rcv_nxt:6199440799984345223 csum_enabled:1 bytes_sent:131100 bytes_received:131100 bytes_acked:131101 last_data_sent:30612 last_data_recv:30609 last_ack_recv:30612 # TcpPassiveOpens 1 # TcpInSegs 44 # TcpOutSegs 117 # TcpExtDelayedACKLost 1 # TcpExtTCPPureAcks 19 # TcpExtTCPDSACKOldSent 1 # TcpExtTCPOrigDataSent 98 # TcpExtTCPDelivered 98 # MPTcpExtMPCapableSYNRX 1 # MPTcpExtMPCapableACKRX 1 # MPTcpExtInfiniteMapRx 1 # MPTcpExtDataCsumErr 1 # MPTcpExtMPFailTx 1 # MPTcpExtMPFailRx 1 # MPTcpExtDssFallback 1 # # netns ns2-zcdSBv (connector) socket stat for 10119: # Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port # tcp FIN-WAIT-2 0 0 10.0.1.2:59760 10.0.1.1:10119 timer:(timewait,29sec,0) ino:0 sk:1001 # # TcpActiveOpens 1 # TcpInSegs 40 # TcpOutSegs 120 # TcpRetransSegs 1 # TcpExtTW 1 # TcpExtTCPPureAcks 18 # TcpExtTCPLossProbes 1 # TcpExtTCPDSACKRecv 1 # TcpExtTCPDSACKIgnoredNoUndo 1 # TcpExtTCPFromZeroWindowAdv 1 # TcpExtTCPToZeroWindowAdv 1 # TcpExtTCPWantZeroWindowAdv 5 # TcpExtTCPOrigDataSent 100 # TcpExtTCPDelivered 102 # TcpExtTCPDSACKRecvSegs 1 # MPTcpExtMPCapableSYNTX 1 # MPTcpExtMPCapableSYNACKRX 1 # MPTcpExtInfiniteMapTx 1 # MPTcpExtMPFailTx 1 # MPTcpExtMPFailRx 1 # Info: 4 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 ] # fail tx client [ OK ] # fail rx server [ OK ] # 121 MP_FAIL MP_RST # Info: Test file (size 1024 KB) for client # Info: Test file (size 1024 KB) for server # Info: 5 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 ] # 122 userspace pm type prevents add_addr # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 123 userspace pm no echo w/o daemon # join Rx [ OK ] # join Tx [ OK ] # add addr rx [ OK ] # add addr echo rx [ OK ] # 124 userspace pm type rejects join # join Rx [ OK ] # join Tx [ OK ] # 125 userspace pm type does not send join # join Rx [ OK ] # join Tx [ OK ] # 126 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 ] # 127 userspace pm type prevents rm_addr # join Rx [ OK ] # join Tx [ OK ] # rm addr rx server [ OK ] # rm subflow client [ OK ] # 128 userspace pm add & remove address # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # 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 ] # 129 userspace pm create destroy subflow # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # 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 ] # 130 userspace pm create id 0 subflow # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # 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 ] # 131 userspace pm remove initial subflow # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # 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 ] # 132 userspace pm send RM_ADDR for ID 0 # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # 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 ] # 133 userspace pm no dup close events after error # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # mptcp_info subflows=1:1 [ OK ] # mptcp_info subflows_total=2:2 [ OK ] # mptcp_info subflows_total=1:1 [ OK ] # event ns2 SUB_CLOSED (2, error: 2) [ OK ] # 134 implicit EP # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # 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 ] # 135 delete and re-add # Info: Test file (size 128 KB) for client # Info: Test file (size 128 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 ] # 136 delete re-add signal # Info: Test file (size 128 KB) for client # Info: Test file (size 128 KB) for server # creation [ OK ] # before delete [ OK ] # mptcp_info subflows=1:1 [ OK ] # mptcp_info add_addr_signal=2:1 [ OK ] # after delete [ OK ] # mptcp_info subflows=0:0 [ OK ] # mptcp_info add_addr_signal=0:0 [ OK ] # after re-add [ OK ] # mptcp_info subflows=2:2 [ OK ] # mptcp_info add_addr_signal=2:2 [ OK ] # after delete ID 0 [ OK ] # mptcp_info subflows=2:2 [ OK ] # mptcp_info add_addr_signal=2:2 [ OK ] # after re-add ID 0 [ OK ] # mptcp_info subflows=3:3 [ OK ] # mptcp_info add_addr_signal=3:2 [ OK ] # after re-delete ID 0 [ OK ] # mptcp_info subflows=2:2 [ OK ] # mptcp_info add_addr_signal=2:2 [ OK ] # after re-re-add ID 0 [ OK ] # mptcp_info subflows=3:3 [ OK ] # mptcp_info add_addr_signal=3:2 [ 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 ] # 137 flush re-add # Info: Test file (size 128 KB) for client # Info: Test file (size 128 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..137 # ok 1 - mptcp_join: no JOIN # time=2877ms # ok 2 - mptcp_join: single subflow, limited by client # time=3063ms # ok 3 - mptcp_join: single subflow, limited by server # time=3037ms # ok 4 - mptcp_join: single subflow # time=3056ms # ok 5 - mptcp_join: multiple subflows # time=3112ms # ok 6 - mptcp_join: multiple subflows, limited by server # time=3139ms # ok 7 - mptcp_join: single subflow, dev # time=3033ms # ok 8 - mptcp_join: no MPC reuse with single endpoint # time=8100ms # ok 9 - mptcp_join: multi subflows, with failing subflow # time=8403ms # ok 10 - mptcp_join: multi subflows, with subflow timeout # time=8154ms # ok 11 - mptcp_join: multi subflows, fair usage on close # time=8141ms # ok 12 - mptcp_join: unused signal address # time=3108ms # ok 13 - mptcp_join: signal address # time=3109ms # ok 14 - mptcp_join: subflow and signal # time=3151ms # ok 15 - mptcp_join: subflow and signal together # time=3246ms # ok 16 - mptcp_join: multiple subflows and signal # time=3222ms # ok 17 - mptcp_join: signal addresses # time=8223ms # ok 18 - mptcp_join: signal invalid addresses # time=8244ms # ok 19 - mptcp_join: signal addresses race test # time=8500ms # ok 20 - mptcp_join: without a laminar endpoint # time=3313ms # ok 21 - mptcp_join: with a laminar endpoint # time=3311ms # ok 22 - mptcp_join: with multiple laminar endpoints # time=3450ms # ok 23 - mptcp_join: single laminar endpoint # time=3431ms # ok 24 - mptcp_join: sublow + laminar endpoints # time=3428ms # ok 25 - mptcp_join: multiple flows, signal, link failure # time=11509ms # ok 26 - mptcp_join: multi flows, signal, bidi, link fail # time=12931ms # ok 27 - mptcp_join: backup subflow unused, link failure # time=18365ms # ok 28 - mptcp_join: backup flow used, multi links fail # time=17890ms # ok 29 - mptcp_join: backup flow used, bidi, link failure # time=22118ms # ok 30 - mptcp_join: signal address, ADD_ADDR timeout # time=8549ms # ok 31 - mptcp_join: signal address, ADD_ADDR6 timeout # time=8383ms # ok 32 - mptcp_join: signal addresses, ADD_ADDR timeout # time=25223ms # ok 33 - mptcp_join: invalid address, ADD_ADDR timeout # time=25188ms # ok 34 - mptcp_join: remove single subflow # time=8285ms # ok 35 - mptcp_join: remove multiple subflows # time=8316ms # ok 36 - mptcp_join: remove single address # time=8423ms # ok 37 - mptcp_join: remove subflow and signal # time=8452ms # ok 38 - mptcp_join: remove subflows and signal # time=25333ms # ok 39 - mptcp_join: remove signal+subflow with limits # time=8335ms # ok 40 - mptcp_join: remove addresses # time=25196ms # ok 41 - mptcp_join: remove invalid addresses # time=25216ms # ok 42 - mptcp_join: flush subflows and signal # time=8478ms # ok 43 - mptcp_join: flush subflows # time=8419ms # ok 44 - mptcp_join: flush addresses # time=8466ms # ok 45 - mptcp_join: flush invalid addresses # time=8384ms # ok 46 - mptcp_join: remove id 0 subflow # time=8319ms # ok 47 - mptcp_join: remove id 0 address # time=8356ms # ok 48 - mptcp_join: add single subflow # time=8252ms # ok 49 - mptcp_join: add signal address # time=8261ms # ok 50 - mptcp_join: add multiple subflows # time=8243ms # ok 51 - mptcp_join: add multiple subflows IPv6 # time=8223ms # ok 52 - mptcp_join: add multiple addresses IPv6 # time=8281ms # ok 53 - mptcp_join: single subflow IPv6 # time=8284ms # ok 54 - mptcp_join: unused signal address IPv6 # time=8225ms # ok 55 - mptcp_join: single address IPv6 # time=8327ms # ok 56 - mptcp_join: remove single address IPv6 # time=8388ms # ok 57 - mptcp_join: remove subflow and signal IPv6 # time=8414ms # ok 58 - mptcp_join: single subflow IPv4-mapped # time=3248ms # ok 59 - mptcp_join: signal address IPv4-mapped # time=3300ms # ok 60 - mptcp_join: single subflow v4-map-v6 # time=3256ms # ok 61 - mptcp_join: signal address v4-map-v6 # time=3314ms # ok 62 - mptcp_join: single subflow v6-map-v4 # time=3266ms # ok 63 - mptcp_join: signal address v6-map-v4 # time=3332ms # ok 64 - mptcp_join: no JOIN with diff families v4-v6 # time=3215ms # ok 65 - mptcp_join: no JOIN with diff families v4-v6-2 # time=3106ms # ok 66 - mptcp_join: no JOIN with diff families v6-v4 # time=3182ms # ok 67 - mptcp_join: IPv4 sockets do not use IPv6 addresses # time=8200ms # ok 68 - mptcp_join: simult IPv4 and IPv6 subflows # time=8263ms # ok 69 - mptcp_join: simult IPv4 and IPv6 subflows, fullmesh 1x1 # time=8256ms # ok 70 - mptcp_join: simult IPv4 and IPv6 subflows, fullmesh 2x2 # time=8311ms # ok 71 - mptcp_join: single subflow, backup # time=8399ms # ok 72 - mptcp_join: single address, backup # time=8457ms # ok 73 - mptcp_join: single address, switch to backup # time=8480ms # ok 74 - mptcp_join: single address with port, backup # time=8447ms # ok 75 - mptcp_join: mpc backup # time=8343ms # ok 76 - mptcp_join: mpc backup both sides # time=8499ms # ok 77 - mptcp_join: mpc switch to backup # time=8374ms # ok 78 - mptcp_join: mpc switch to backup both sides # time=8388ms # ok 79 - mptcp_join: signal address with port # time=3494ms # ok 80 - mptcp_join: subflow and signal with port # time=3499ms # ok 81 - mptcp_join: remove single address with port # time=8916ms # ok 82 - mptcp_join: remove subflow and signal with port # time=8541ms # ok 83 - mptcp_join: flush subflows and signal with port # time=8505ms # ok 84 - mptcp_join: multiple addresses with port # time=3592ms # ok 85 - mptcp_join: multiple addresses with ports # time=3485ms # ok 86 - mptcp_join: port-based signal endpoint must not accept mpc # time=1926ms # ok 87 - mptcp_join: bind main address v4, no join v4 # time=3298ms # ok 88 - mptcp_join: bind main address v6, no join v6 # time=3329ms # ok 89 - mptcp_join: multiple bind to allow joins v4 # time=3335ms # ok 90 - mptcp_join: multiple bind to allow joins v6 # time=3220ms # ok 91 - mptcp_join: multiple bind to allow joins v6 link-local routing # time=5183ms # ok 92 - mptcp_join: multiple bind to allow joins v6 link-local laminar # time=5242ms # ok 93 - mptcp_join: single subflow with syn cookies # time=3265ms # ok 94 - mptcp_join: multiple subflows with syn cookies # time=3313ms # ok 95 - mptcp_join: subflows limited by server w cookies # time=3264ms # ok 96 - mptcp_join: signal address with syn cookies # time=3270ms # ok 97 - mptcp_join: subflow and signal w cookies # time=3367ms # ok 98 - mptcp_join: subflows and signal w. cookies # time=3382ms # ok 99 - mptcp_join: checksum test 0 0 # time=3443ms # ok 100 - mptcp_join: checksum test 1 1 # time=3482ms # ok 101 - mptcp_join: checksum test 0 1 # time=3466ms # ok 102 - mptcp_join: checksum test 1 0 # time=3498ms # ok 103 - mptcp_join: single subflow allow join id0 ns1 # time=3334ms # ok 104 - mptcp_join: single subflow allow join id0 ns2 # time=3293ms # ok 105 - mptcp_join: signal address allow join id0 ns1 # time=3374ms # ok 106 - mptcp_join: signal address allow join id0 ns2 # time=3355ms # ok 107 - mptcp_join: subflow and address allow join id0 1 # time=3366ms # ok 108 - mptcp_join: subflow and address allow join id0 2 # time=3369ms # ok 109 - mptcp_join: default limits, server deny join id 0 # time=3394ms # ok 110 - mptcp_join: fullmesh test 2x1 # time=8361ms # ok 111 - mptcp_join: fullmesh test 1x1 # time=8366ms # ok 112 - mptcp_join: fullmesh test 1x2 # time=8243ms # ok 113 - mptcp_join: fullmesh test 1x2, limited # time=8353ms # ok 114 - mptcp_join: set fullmesh flag test # time=8302ms # ok 115 - mptcp_join: set nofullmesh flag test # time=8319ms # ok 116 - mptcp_join: set backup,fullmesh flags test # time=8464ms # ok 117 - mptcp_join: set nobackup,nofullmesh flags test # time=8452ms # ok 118 - mptcp_join: fastclose test # time=3559ms # ok 119 - mptcp_join: fastclose server test # time=3546ms # ok 120 - mptcp_join: Infinite map # IGNORE Flaky time=34452ms # ok 121 - mptcp_join: MP_FAIL MP_RST # time=13250ms # ok 122 - mptcp_join: userspace pm type prevents add_addr # time=3298ms # ok 123 - mptcp_join: userspace pm no echo w/o daemon # time=3306ms # ok 124 - mptcp_join: userspace pm type rejects join # time=3199ms # ok 125 - mptcp_join: userspace pm type does not send join # time=3257ms # ok 126 - mptcp_join: userspace pm type prevents mp_prio # time=8366ms # ok 127 - mptcp_join: userspace pm type prevents rm_addr # time=8310ms # ok 128 - mptcp_join: userspace pm add & remove address # time=7326ms # ok 129 - mptcp_join: userspace pm create destroy subflow # time=5106ms # ok 130 - mptcp_join: userspace pm create id 0 subflow # time=4482ms # ok 131 - mptcp_join: userspace pm remove initial subflow # time=4903ms # ok 132 - mptcp_join: userspace pm send RM_ADDR for ID 0 # time=6414ms # ok 133 - mptcp_join: userspace pm no dup close events after error # time=3280ms # ok 134 - mptcp_join: implicit EP # time=2768ms # ok 135 - mptcp_join: delete and re-add # time=9854ms # ok 136 - mptcp_join: delete re-add signal # time=8093ms # ok 137 - mptcp_join: flush re-add # time=5795ms ok 1 selftests: net/mptcp: mptcp_join.sh make: Leaving directory '/srv/vmksft/testing/wt-12/tools/testing/selftests' xx__-> echo $? 0 xx__-> echo scan > /sys/kernel/debug/kmemleak xx__->