Releases: multipath-tcp/mptcp
Multipath TCP Linux Kernel v0.96
The MPTCP v0.96 release is based on the Linux Kernel Longterm Support release v5.4. Here are its new features compared to the v0.95 release are:
- Full Support of RFC 8684 (MPTCPv1)
- ECF scheduler
- mptcp_enabled sysctl is now a bitfield with two new values:
- 0x01: Enable MPTCP (globally)
- 0x02: Disabled, and only can be enabled through the socket-option
- 0x04: Disable MPTCP on Clients
- 0x08: Disable MPTCP on Servers
- Allow using IPPROTO_MPTCP from MPTCP Upstream
- Support SOF_TIMESTAMPING_TX_ACK
- MIB-counter for subflows on different port-numbers
- Maintain a "Current Established" counter for MPTCP
- Support IPV6_TCLASS socket option + full support for IP_TOS and SO_MARK when modified via BPF.
- mptcp: Aggressively kill closed MPTCP-connections without subflows
- Support SOL_MPTCP (MPTCP_INFO, MPTCP_TCPINFO, MPTCP_SUBFLOW_ADDRS) from MPTCP Upstream
- Dynamic allocation of MPTCP hashtables
This release includes a total of 188 commits.
Note that the kernel v5.4 will be the last one being supported by this MPTCP fork.
We recommend to switch new developments to the Upstream project: it is now mature enough, see mptcp.dev website. For production deployments, it is also recommended to use the last stable kernel, at least v6.1.
ChangeLog:
(features only)
Christoph Paasch [email protected]:
- Merge tag 'v4.20' into mptcp_trunk
- Merge tag 'v5.0' into mptcp_trunk
- Merge tag 'v5.1' into mptcp_trunk
- mptcp: Initialize subflow-specific variables
- Merge tag 'v5.3' into mptcp_trunk
- Merge tag 'v5.4' into mptcp_trunk
- mptcp: fastopen: Allow recovery after SYN-loss
- mptcp: Better debugging
- mptcp: Cleanup
- mptcp: Add SHA-256 implementation
- mptcp: New MP_CAPABLE exchange - sender side
- mptcp: New MP_CAPABLE receiver side
- mptcp: Adopt SHA-256 for MPTCP Version 1
- mptcp: Correctly implement RFC8684 ADD_ADDR
- mptcp: Allow client-side-only and server-side-only sysctl configuration
- mptcp: Allow using IPPROTO_MPTCP
- mptcp: Support SOF_TIMESTAMPING_TX_ACK
- mptcp: MIB-counter for subflows on different port-numbers
- mptcp: Maintain a "Current Established" counter for MPTCP
- Merge tag 'v5.4.96' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge tag 'v5.4.132' into mptcp_v0.96
- mptcp: Fix incorrect version "negotiation"
- Merge tag 'v5.4.148' into mptcp_v0.96
- mptcp: Fix TCP_MD5 and MPTCP coexistence
- mptcp: Support for some more socket-options
- Merge tag 'v5.4.155' into mptcp_v0.96
- mptcp: Correctly handle tcp_v4_send_reset call when coming from backlog
- mptcp: Reduce stack-size of __mptcp_init4/6_subsockets
- mptcp: Aggressively kill closed MPTCP-connections without subflows
- mptcp: Import header-file symbols and structures from upstream
- mptcp: Count add_addr_signals
- mptcp: Count incoming ADD_ADDR that are accepted by the PM
- mptcp: Fill in mptcp_info_upstream
- mptcp: Fill in MPTCP_TCPINFO
- mptcp: Fill in for MPTCP_SUBFLOW_ADDRS
- mptcp: Include port-number in ADD_ADDR HMAC computation
- mptcp: Fix MPTCPv1 listener when facing "broken" client
- mptcp: Avoid redundant calls to mptcp_reqsk_remove_tk
- mptcp: Only force ACK upon new_session for MPTCPv0
- mptcp: Force TCP-ack if we need to announce an address in v1
- mptcp: Fix MP_CAPABLE+DATA length computation
Daniel Weber [email protected]:
- mptcp: Earliest Completion First (ECF) Scheduler
- mptcp: Reduce code-duplication for other schedulers
- mptcp: Remove code-duplication from ECF scheduler
Matthieu Baerts [email protected]:
- mptcp: fix unused-variable warning
- mptcp: select CRYPTO_LIB_SHA256
- Merge tag 'v5.4.144' into mptcp_v0.96
- mptcp: fix compilation error without CONFIG_MPTCP
- Merge tag 'v5.4.170' into mptcp_v0.96
- Merge tag 'v5.4.178' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge tag 'v5.4.184' into mptcp_v0.96
- Merge tag 'v5.4.190' into mptcp_v0.96
- Merge tag 'v5.4.193' into mptcp_v0.96
- Merge tag 'v5.4.194' into mptcp_v0.96
- Merge tag 'v5.4.197' into mptcp_v0.96
- Merge tag 'v5.4.202' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge tag 'v5.4.209' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge tag 'v5.4.211' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge tag 'v5.4.217' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge tag 'v5.4.223' into mptcp_v0.96
- mptcp: kconfig: add default option for ECF scheduler
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge tag 'v5.4.226' into mptcp_v0.96
- Merge tag 'v5.4.227' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- mptcp: fullmesh: extract ADD_ADDR space check
- mptcp: fullmesh: extract ADD_ADDR option filling
- mptcp: netlink: support MPTCPv1's ADD_ADDR
- mptcp: netlink: only force ACK when possible
- mptcp: fullmesh: extract RM_ADDR option manipulation
- mptcp: fullmesh: isolate rm addr signaling
- mptcp: netlink: refactor rm addr signaling
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- mptcp: fix compilation error without MPTCP
- mptcp: fix compilation error without MPTCP
- mptcp: fix compilation error without MPTCP
- Merge branch 'mptcp_trunk' into mptcp_v0.96
- Merge tag 'v5.4.230' into mptcp_v0.96
- Merge branch 'mptcp_trunk' into mptcp_v0.96
Tim Froidcoeur [email protected]:
- mptcp: dynamic allocation of mptcp hashtables
Check this commit to see all commits including fixes: 01480fa
Debian and RPM Packages
Available here below.
# sha256sum
bee74d6055e98b5314e2e68813052dcb094c0e61c7c7f3bf1c5a970213c65051 kernel-5.4.230.mptcp-13.x86_64.rpm
5c1f8312d5b11cc2b57abef0bc433b4b92a0472847f97419d27da5de0cea2cf1 kernel-5.4.230.mptcp.tar.gz
43b9d2b2acf171d4c09a1d5089971173e7dd3c652010352fed007db95aae02d9 kernel-devel-5.4.230.mptcp-13.x86_64.rpm
9bd44b73a7d3c58ce9385af900334e2f72388e6d6aad34b85bbb0674aaeb8aa6 kernel-headers-5.4.230.mptcp-13.x86_64.rpm
3bc02a312e2edcc967ea1743cf1e4e954aef70f5efa5240e7be092e851b753c8 linux-headers-5.4.230.mptcp_20230203134326-1_amd64.deb
bb0ead0b648f6d28702ddc9295363053637586acfe138b142b48815fafdd2d63 linux-image-5.4.230.mptcp_20230203134326-1_amd64.deb
8a46068d8d1e424ebf71f9524205e19f216239d2ee0057cc05ef58aeafaa640c linux-image-5.4.230.mptcp-dbg_20230203134326-1_amd64.deb
d415b7aa4129f2b3eb4bea3189feddca4486817d1a018df3e5e8e4563957bd92 linux-libc-dev_20230203134326-1_amd64.deb
843e695d5fd4166843b663181ecb9ea80d7962936ac814e524ec290deb71bf9f linux-mptcp_v0.96_20230203134326-1_all.deb
Multipath TCP Linux Kernel v0.95.3
ChangeLog:
Benjamin Hesmans [email protected] (3):
[83280fa] mptcp: remember backup flag sent in the join SYN+ACK
[c53b72e] mptcp: copy DSS and flags on TCP fragment
[2b1f3e5] mptcp: Fix TSQ issue with mptcp
Christoph Paasch [email protected] (20):
[1f40fde] mptcp: Avoid one more mptcp_sock_def_error_report
[611ae2e] mptcp: Don't allow SOCK_ZEROCOPY
[1e3d563] mptcp: Handle fallback while meta is closed
[155c086] mptcp: Avoid processing packets when we fall back
[3986a2f] mptcp: Properly handle failures in mptcp_create_master_sk
[7d37219] mptcp: Avoid tcp_fin warning
[6beb03c] mptcp: Don't warn when creating 32 subflows
[90cbda9] mptcp: Prevent mptcp_sock_def_error_report
[a446c6e] mptcp: Never disable MPTCP's static branch
[a0ff38f] mptcp: Set tp->mptcp to NULL when free'ing
[b800164] mptcp: Do not race forced-closure with packet reception
[54147de] mptcp: Avoid ever-increasing count of orphan sockets
[25595a8] mptcp: Clear highest_sack when emptying rtx-queue
[c55a266] mptcp: First check for TIME_WAIT_SOCK in mptcp_v4/6_do_rcv
[5387f81] mptcp: Don't unset inet_num
[d616ea5] mptcp: Don't sock_put too early if we still access the meta
[a93fb99] mptcp: Fix input-path when mapping is covering several skbs but ends on a partial skb
[7a04d3a] mptcp: Only announce ADD_ADDR when fully established in MPTCPv1
[df83322] mptcp: Fix mptcp_check_lock warning
[8cb79b5] mptcp: Fix unlocking-check on wrong socket
Gregory Detal [email protected] (1):
[2aff4dc] mptcp: ensure meta-level retrans counters are updated
Matthieu Baerts [email protected] (22):
[fd847b8] mptcp: uapi: fix SPDX License comment
[6cd36b3] Merge tag 'v4.19.239' into mptcp_v0.95
[14e685d] Merge tag 'v4.19.243' into mptcp_v0.95
[7fa887b] mptcp: Build-Fix
[6126036] Merge tag 'v4.19.246' into mptcp_v0.95
[76d63a6] mptcp: add missing default for netlink PM
[c066cf5] Merge tag 'v4.19.249' into mptcp_v0.95
[60deb55] mptcp: properly increase retrans-segs MIB
[8e6ba37] mptcp: increment data bytes retransmitted stats
[5b3c4f8] Merge tag 'v4.19.254' into mptcp_v0.95
[a47d1cd] mptcp: un-expose skb_clone_fraglist()
[064a1b5] mptcp: Fix a data-race around sysctl_tcp_retries1
[b99c47a] mptcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts
[b077dab] Merge tag 'v4.19.256' into mptcp_v0.95
[d561319] Merge tag 'v4.19.261' into mptcp_v0.95
[5ba80b8] Merge tag 'v4.19.264' into mptcp_v0.95
[0a70c78] mptcp: kconfig: add default option for BLEST scheduler
[35f83c6] Merge tag 'v4.19.268' into mptcp_v0.95
[a35e190] Merge tag 'v4.19.269' into mptcp_v0.95
[6baa3e5] mptcp: set icsk_af_ops to mptcp_v6 one if mptcp
[ef38acf] Merge tag 'v4.19.271' into mptcp_v0.95
[9125b7b] mptcp: Stable Release v0.95.3
Tim Froidcoeur [email protected] (8):
[0de8b06] mptcp: fix tcp-mem accounting
[fc18541] mptcp: fix accounting on rmem
[2d72c14] mptcp: missing memory schedule on FIN
[9a87f1c] kernel: mptcp lock debug instrumentation
[071adf4] mptcp: correct user owned check during FIN_ACK1
[2964098] mptcp: correct check user owned socket
[1ac080e] mptcp: fix master unlock race in mptcp_disconnect
[10572d4] mptcp: lock meta in tcp_compressed_ack_kick
ytxing [email protected] (1):
[5a4d81e] mptcp: redundant: avoid multiple retransmissions
Debian and RPM Packages
Available here below.
# sha256sum *
4df950605bb11790f684e8c15117a21bbe19147464d308f4900e73a7c5c85ce0 kernel-4.19.271.mptcp-12.x86_64.rpm
92aa2956f867c59406a588bf4b2d7407e770c796332aeaf74dd005824d8d52c7 kernel-4.19.271.mptcp.tar.gz
6396ad706d0043fccba0f8385d8811a9d1dd637984ac5ca473dc28ce577cc46c kernel-devel-4.19.271.mptcp-12.x86_64.rpm
1f839e17b90cc33f1ef92b389352dcf153325d649662b1ee9bf58b97b5834002 kernel-headers-4.19.271.mptcp-12.x86_64.rpm
2583ba2e8fb8b1a75249af8f62eb78728cbdce50a5ad02c1e4841c7ce4e1c26a linux-headers-4.19.271.mptcp_20230203130037-1_amd64.deb
30aecac96b69f2cf0c31a4762d74856b5503472864b9b391bed1c13c8b85e85d linux-image-4.19.271.mptcp_20230203130037-1_amd64.deb
24865afdcaa6b66aa0f5ff2b36f866b5435e363fb0329ff26b78d8128e144521 linux-libc-dev_20230203130037-1_amd64.deb
f74b9496ee337a376499e4aceadff38c86cfee0e7a3461e5173bf36b0d2443b1 linux-mptcp_v0.95.3_20230203130037-1_all.deb
Multipath TCP Linux Kernel v0.94.9
ChangeLog:
Benjamin Hesmans [email protected] (2):
[a09a768] mptcp: remember backup flag sent in the join SYN+ACK
[44df01d] mptcp: copy DSS and flags on TCP fragment
Christoph Paasch [email protected] (19):
[7d9611b] mptcp: Avoid one more mptcp_sock_def_error_report
[140297d] mptcp: Don't allow SOCK_ZEROCOPY
[7ea6f5f] mptcp: Handle fallback while meta is closed
[d456244] mptcp: Properly handle failures in mptcp_create_master_sk
[1c9734b] mptcp: Avoid tcp_fin warning
[3603f76] mptcp: Don't warn when creating 32 subflows
[a55f21d] mptcp: Prevent mptcp_sock_def_error_report
[5f21f89] mptcp: Never disable MPTCP's static branch
[e8b198b] mptcp: Set tp->mptcp to NULL when free'ing
[aea1af3] mptcp: Do not race forced-closure with packet reception
[c35e7c2] mptcp: Avoid ever-increasing count of orphan sockets
[e885b99] mptcp: Clear highest_sack when emptying rtx-queue
[aa0aa06] mptcp: First check for TIME_WAIT_SOCK in mptcp_v4/6_do_rcv
[fbb5123] mptcp: Don't unset inet_num
[74a258e] mptcp: Don't sock_put too early if we still access the meta
[092cd78] mptcp: Fix input-path when mapping is covering several skbs but ends on a partial skb
[edb51a4] mptcp: Only announce ADD_ADDR when fully established in MPTCPv1
[1c6edd5] mptcp: Fix mptcp_check_lock warning
[49eb5c1] mptcp: Fix unlocking-check on wrong socket
Gregory Detal [email protected] (1):
[4bb3c24] mptcp: ensure meta-level retrans counters are updated
Matthieu Baerts [email protected] (20):
[08c571d] Revert "mptcp: Handle fallback while meta is closed"
[a3b0502] Merge tag 'v4.14.276' into mptcp_v0.94
[2ed0817] Merge tag 'v4.14.279' into mptcp_v0.94
[1c20abf] mptcp: Build-Fix
[978c884] Merge tag 'v4.14.282' into mptcp_v0.94
[ff2e628] mptcp: add missing default for netlink PM
[6ca26ec] Merge tag 'v4.14.285' into mptcp_v0.94
[684e738] mptcp: properly increase retrans-segs MIB
[ad5d20a] Merge tag 'v4.14.290' into mptcp_v0.94
[cac7f8f] mptcp: un-expose skb_clone_fraglist()
[37fdf52] mptcp: Fix a data-race around sysctl_tcp_retries1
[d25af0e] mptcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts
[3bad6f0] mptcp: remove copy_skb_header()
[81df2c0] Merge tag 'v4.14.291' into mptcp_v0.94
[285eef3] Merge tag 'v4.14.295' into mptcp_v0.94
[51dfbfd] Merge tag 'v4.14.298' into mptcp_v0.94
[f425af6] Merge tag 'v4.14.302' into mptcp_v0.94
[73ff6b6] mptcp: set icsk_af_ops to mptcp_v6 one if mptcp
[20e3d8e] Merge tag 'v4.14.304' into mptcp_v0.94
[f13bc2b] mptcp: Stable Release v0.94.9
Tim Froidcoeur [email protected] (7):
[7ae3325] mptcp: fix tcp-mem accounting
[2c0da2b] mptcp: fix accounting on rmem
[872a566] mptcp: missing memory schedule on FIN
[00d2cf8] kernel: mptcp lock debug instrumentation
[44095ee] mptcp: correct user owned check during FIN_ACK1
[17343e8] mptcp: correct check user owned socket
[b6c7594] mptcp: fix master unlock race in mptcp_disconnect
Debian and RPM Packages
Available here below.
# sha256sum *
3b5e008385bc15398b350a788d2d914bf45d2f71b00111a6cfc66baafacb84f0 kernel-4.14.304.mptcp-11.x86_64.rpm
9ac9d04356377eceb5e850b5af0fe5c8d504d823d28382145082618a74bf7b64 kernel-4.14.304.mptcp.tar.gz
f2e97725468cbb8f3059ddde9b47ad35c74653c332ed42794ca4ea57bbc989ac kernel-devel-4.14.304.mptcp-11.x86_64.rpm
dd65410185d9c2e4ae58a666020fbbfc320bd392d8ddba71a812a428794b0bfb kernel-headers-4.14.304.mptcp-11.x86_64.rpm
9381148369fe30c2def344c3c9e1022268462c6ce0b100b687aba06f976d7b38 linux-headers-4.14.304.mptcp_20230203114611-1_amd64.deb
cf631c2ec1261e251bdb6a90ccd890dff6b488ad8e04bc4a8339691a93b4cc1c linux-image-4.14.304.mptcp_20230203114611-1_amd64.deb
7c249ee24b7dc313f1b9b020e5f2e62044974e125d98c84f2bcd7ca646174074 linux-libc-dev_20230203114611-1_amd64.deb
4b9a5f9792fbf60a627e4cc7816aeeeec67e1d4c76e93c9f9a3e0a9db292156b linux-mptcp-4.14_v0.94.9_20230203114611-1_all.deb
Multipath TCP Linux Kernel v0.95.2
ChangeLog:
Christoph Paasch [email protected] (13):
[66ef83e] Merge tag 'v4.19.132' into mptcp_v0.95
[7f37dc8] mptcp: Set icsk_accept_queue to 0 after sk_clone_lock
[1b49105] mptcp: Always release meta if it gets closed half-way through
[2ec4990] mptcp: Use correct MSS for space-computation
[5b127fb] Merge tag 'v4.19.142' into mptcp_v0.95
[d1c53d9] mptcp: Fix use-after-free in the redundant scheduler
[575e790] mptcp: Avoid double-free of fastopen_req
[d6c8c0c] mptcp: Do not iterate indefinitely over write-queue
[cdd6ff9] mptcp: Properly reset sockets in tcp_disconnect
[ef76cf9] mptcp: Avoid tcp_done and mptcp_sock_def_error_report warnings
[4b2a245] mptcp: Don't leak request-sockets when socket-creation fails
[95d34c6] mptcp: Avoid last mptcp_sock_def_error_report warning
[4d5658c] mptcp: Restart sending missing data when falling back at the beginning
Matthieu Baerts [email protected] (18):
[eac61ef] mptcp: fullmesh: missing comma in addr list
[347a7ea] Merge tag 'v4.19.155' into mptcp_v0.95
[3684491] Merge tag 'v4.19.160' into mptcp_v0.95
[1e364a1] Merge tag 'v4.19.165' into mptcp_v0.95
[5e1b689] Merge tag 'v4.19.184' into mptcp_v0.95
[85aa7a9] Merge tag 'v4.19.190' into mptcp_v0.95
[f88439f] mptcp: netlink: fix doc for MPTCP_CMD_SUB_CREATE
[bdb5b36] mptcp: remove unused mptcp_prune_ofo_queue
[6095986] mptcp: disable BH before increase stats from rcu-critical sections
[cd9deaa] mptcp: sched: avoid calling tcp_current_mss() twice
[7074854] Merge tag 'v4.19.196' into mptcp_v0.95
[0732c14] Merge tag 'v4.19.206' into mptcp_v0.95
[4857473] mptcp: Netlink PM events: add missing param list
[62c19e2] Merge tag 'v4.19.224' into mptcp_v0.95
[0052fdb] Merge tag 'v4.19.228' into mptcp_v0.95
[9b78db2] Revert "mptcp: Don't leak request-sockets when socket-creation fails"
[e4fccf4] Merge tag 'v4.19.234' into mptcp_v0.95
[d869476] mptcp: Stable Release v0.95.2
Tim Froidcoeur [email protected] (3):
[89fabbf] mptcp: correct chronos for meta and subflows
[f8b7c5e] mptcp: avoid meta window shrink impacting subflow
[697185f] mptcp: correctly ensure to not overfill subflows
Debian and RPM Packages
Available here below.
Multipath TCP Linux Kernel v0.94.8
ChangeLog:
Christoph Paasch [email protected] (14):
[0fde783] Merge tag 'v4.14.150' into mptcp_v0.94
[f81f166] mptcp: Only mpcb-put if the time-wait sk is still in the list
[e00f7a7] mptcp: Make sure that inside_tk_table is 0 when creating a TCP-socket
[830a817] mptcp: Avoid tcp_fin impossible state by stop processing upon fast-close
[c83abf4] mptcp: Avoid over-scheduling on a subflow
[0bcd6a4] mptcp: Correctly set cwnd_validated
[32c7940] mptcp: Make sure that we don't overfill subflows
[1ddc334] mptcp: Use correct MSS for space-computation
[793f69a] mptcp: Avoid double-free of fastopen_req
[f08ddc1] mptcp: Properly reset sockets in tcp_disconnect
[d0b3246] mptcp: Avoid tcp_done and mptcp_sock_def_error_report warnings
[973acc1] mptcp: Don't leak request-sockets when socket-creation fails
[d912d9e] mptcp: Avoid last mptcp_sock_def_error_report warning
[142af6d] mptcp: Restart sending missing data when falling back at the beginning
Matthieu Baerts [email protected] (26):
[af1269b] mptcp: fix bad conflict resolution
[43aab7d] mptcp: fix Kconfig warning
[9df2829] Merge tag 'v4.14.172' into mptcp_v0.94
[1b1d69d] Merge tag 'v4.14.174' into mptcp_v0.94
[d3eb721] Merge tag 'v4.14.177' into mptcp_v0.94
[17bdbd5] Merge tag 'v4.14.184' into mptcp_v0.94
[36dba1f] Merge tag 'v4.14.205' into mptcp_v0.94
[a8996d9] Merge tag 'v4.14.209' into mptcp_v0.94
[5956aae] Merge tag 'v4.14.213' into mptcp_v0.94
[1c78c1f] Merge tag 'v4.14.228' into mptcp_v0.94
[6c69983] Merge tag 'v4.14.232' into mptcp_v0.94
[9bfaf98] mptcp: remove unused mptcp_prune_ofo_queue
[cc5ddcb] mptcp: disable BH before increase stats from rcu-critical sections
[8167963] mptcp: sched: avoid calling tcp_current_mss() twice
[8a137af] Merge tag 'v4.14.238' into mptcp_v0.94
[7aab281] Revert "mptcp: sched: avoid calling tcp_current_mss() twice"
[ea0f3dc] Revert "mptcp: correctly ensure to not overfill subflows"
[89b1feb] Revert "mptcp: Use correct MSS for space-computation"
[cfe9141] Revert "mptcp: Make sure that we don't overfill subflows"
[067f5df] Merge tag 'v4.14.246' into mptcp_v0.94
[d08fe22] Merge tag 'v4.14.261' into mptcp_v0.94
[9e51c02] Merge tag 'v4.14.265' into mptcp_v0.94
[b4d562f] Revert "mptcp: Don't leak request-sockets when socket-creation fails"
[ddf21bd] Revert "mptcp: Restart sending missing data when falling back at the beginning"
[3a8bed9] Merge tag 'v4.14.271' into mptcp_v0.94
[3a36582] mptcp: Stable Release v0.94.8
Tim Froidcoeur [email protected] (7):
[a498076] mptcp: fix delayed acks when ofo queue blocked
[5d25660] mptcp: correctly refcount congestion control module
[29a2ad2] mptcp: propagate TCP_CONGESTION sockopt to subflows
[4607ccf] mptcp: honor per destination congestion control
[3965021] mptcp: correct chronos for meta and subflows
[c41b6bd] mptcp: avoid meta window shrink impacting subflow
[088ed7d] mptcp: correctly ensure to not overfill subflows
Debian and RPM Packages
Available here below.
Multipath TCP Linux Kernel v0.95.1
ChangeLog:
Benjamin Hesmans [email protected] (1):
[c62d9f6] mptcp: TFO: check both queues when syn data not acked
Christoph Paasch [email protected] (12):
[e095fd3] mptcp: Only update meta-RTO when we have a valid RTT measurement
[68a3431] mptcp: Fix HARDENED_USERCOPY warnings
[3723149] mptcp: Close all subflows when fallen back and probe timer expires
[7c9a3a4] mptcp: Take meta-lock when creating secondary subflow
[551680a] mptcp: Only mpcb-put if the time-wait sk is still in the list
[b864616] mptcp: Make sure that inside_tk_table is 0 when creating a TCP-socket
[719ef01] mptcp: Make sure only valid skb's are pointed to by the redundant scheduler
[c059bf9] mptcp: Schedule TCP_TSQ_DEFERRED on subflow
[d368759] mptcp: Avoid tcp_fin impossible state by stop processing upon fast-close
[7b3db0c] mptcp: Avoid over-scheduling on a subflow
[c5b2710] mptcp: Correctly set cwnd_validated
[b8affe8] mptcp: Make sure that we don't overfill subflows
Daniel Weber [email protected] (3):
[ed81202] mptcp: Add tracepoint also to BLEST scheduler for mptcp_retransmit
[4e10ec5] mptcp: penalize all slow subflows also with BLEST scheduler
[e74aa8d] mptcp: fix sk_buff NULL pointer dereference in BLEST scheduler
John Haxby [email protected] (1):
[f04a56b] ipv6: fix restrict IPV6_ADDRFORM operation
Matthieu Baerts [email protected] (3):
[a289cca] mptcp:sched: penalise all slow subflows
[b56d4e2] mptcp: fix Kconfig warning
[1afee53] mptcp:redundant: fix rtx-tree migration bug
Tim Froidcoeur [email protected] (4):
[b498036] mptcp: fix TCP delayed ack checks
[aed52a7] mptcp: correctly refcount congestion control module
[cc8a98e] mptcp: propagate TCP_CONGESTION sockopt to subflows
[eabd587] mptcp: honor per destination congestion control
Debian and RPM Packages
Available here below.
Multipath TCP Linux Kernel v0.94.7
ChangeLog:
Christoph Paasch [email protected] (3):
[ddcaa35] mptcp: Only update meta-RTO when we have a valid RTT measurement
[412817c] Merge tag 'v4.14.143' into mptcp_v0.94
[66f6e3e] mptcp: Close all subflows when fallen back and probe timer expires
Matthieu Baerts [email protected] (6):
[7501eda] mptcp:sched: penalise all slow subflows
[cf0fc2a] Merge tag 'v4.14.133' into mptcp_v0.94
[8b50684] Merge tag 'v4.14.138' into mptcp_v0.94
[31a9850] Merge tag 'v4.14.142' into mptcp_v0.94
[4bb5599] Merge tag 'v4.14.146' into mptcp_v0.94
[59c05c4] mptcp: Stable Release v0.94.7
Debian and RPM Packages
Available here below.
Multipath TCP Linux Kernel v0.95
Highlights:
- Support for the Desynchronized Multi-Channel TCP congestion control from Cheng Cui (see http://ieeexplore.ieee.org/abstract/document/6911722/ and https://doi.org/10.1016/j.comcom.2015.07.010)
- A new Netlink-based path-manager API. This allows to create a user-space path-manager that steers the subflow creation/destruction (by Gregory Detal and Matthieu Baerts). To steer the path-manager a user-space daemon is under development at https://github.com/intel/mptcpd (by Ossama Othman). Documentation about the API can be found https://github.com/multipath-tcp/mptcp/blob/mptcp_v0.95/include/uapi/linux/mptcp.h.
- BLocking ESTimation-based (BLEST) Scheduler (by Daniel Weber and Simone Ferlin), taking head-of-line blocking into account when scheduling data.
- Lockless subflow establishment provides an additional performance gain.
This release includes a total of 145 commits.
Debian Packages:
https://bintray.com/cpaasch/deb/mptcp/v0.95
RPM Packages:
https://bintray.com/cpaasch/rpm/mptcp/v0.95
ChangeLog:
AlexanderFroemmgen [email protected] (1):
[f6efc9d] Fix redundant scheduler for the rt-tree based retransmit queue
Benjamin Hesmans [email protected] (1):
[b073f12] mptcp: checksum corner case
Cheng Cui [email protected] (1):
[a50a5f5] mptcp: Desynchronized Multi-Channel TCP congestion control
Christoph Paasch [email protected] (91):
[1285e39] mptcp: Build-Fix
[3957d58] mptcp: Cleanup mptcp_init_buffer_space
[17683a6] mptcp: Don't clone empty DATA_FIN in tcp_transmit_skb
[5a1dbd7] mptcp: Set correct skb in mptcp_find_and_set_pathmask
[1e430af] mptcp: Check the rtx-queue in mptcp_retransmit_timer
[df8d015] mptcp: Correctly use sk_write_queue or rtx_rbtree when reinjecting
[1da82c8] mptcp: Account for the right queue in mptcp_fragment
[cdb1b92] mptcp: Need to safe/restore/cleanup tsorted_anchor
[b4dd961] mptcp: Initialize tcp_rtx_queue when creating a new socket
[0dcf836] mptcp: Fix TCP_FASTOPEN server-side processing
[c06d277] mptcp: Get correct data-pointer in fastopen case
[ff65232] mptcp: Adopt refcount_t for mptcp_cb->mpcb_refcnt
[7aff306] mptcp_fullmesh: Better debugging
[69cdc26] mptcp_fullmesh: Avoid updating wrong events when IPs match
[290a06a] mptcp: Build-Fix
[58ce162] mptcp: Better Debugging
[f894d97] mptcp: Mark subflow as fully established upon DATA_ACK when meta is closed
[64be35a] mptcp: Don't forcefully bind the master to a device
[d7d1db1] mptcp: Properly free skb when exiting tcp_v4(6)_rcv
[73c7939] mptcp: Properly fix static-key handling in interrupt context
[4123103] mptcp: Update skb timestamps when the meta sends
[5820ef3] mptcp: Don't access mpcb before checking it's non-NULL
[29a9429] mptcp: Don't prevent scheduling on subflows with TSQ-flag set
[afa44f7] mptcp: Make sure we fill skb->cb at the right place
[1cb94de] mptcp: Disable bottom-half when taking the tw_lock
[1b95146] mptcp: Cleanup
[d5e0d6a] mptcp: Improved debugging
[edf4b81] mptcp: Use correct tcp_queue when calling mptcp_fragment
[068ba20] mptcp: Use mptcp_can_new_subflow where possible
[343a132] mptcp: Render mptcp_sub_inherit_sockopts lockless
[e426daa] mptcp: Make mptcp_set_new_pathindex lockless
[b079a18] mptcp: Remove cnt_subflows
[773f0e5] mptcp: Remove cnt_established
[411ffb5] mptcp: Rename tw_lock to mpcb_list_lock
[7a662b6] mptcp: Make subflow-list an RCU-list
[4966859] mptcp: Don't take meta-lock when receiving third ACK
[005d56c] mptcp: Make mptcp_do_join_short and mptcp_lookup_join lockless
[e4eeb82] mptcp: Reset tsorted_anchor after call to tcp_fragment
[92a6e05] mptcp: Pick correct sk when iterating in mptcp_set_rto
[8b05397] mptcp: Fix: Correct version-negotiation when SYN-cookies are set
[ccd0390] mptcp: Disable MPTCP when interface is non-MPTCP
[80671d2] mptcp: Iterate over subflow-list while holding the lock in tcp_splice_read
[f92ca04] mptcp: Build-Fix
[1696c18] mptcp: Reset sk_it to NULL as we keep on iterating
[81a1965] mptcp: Close remaining subflows when falling back in mptcp_verif_dss_csum
[1569564] mptcp: Restart subflow-selection when we force a re-evaluation
[db9347f] mptcp: Don't free skb when tcp_transmit_skb without cloning
[c45c952] mptcp: Use spin_lock_bh where appropriate for mpcb_list_lock
[4b41ddb] mptcp: Build-Fix
[8e3743b] mptcp: Remove IPv6 duplicated address detection
[8562bd5] mptcp: Always call sk_data_ready
[708e2af] mptcp: Correctly initialize IPv6 fields
[e7ca428] net: Prevent invalid access to skb->prev in __qdisc_drop_all
[6a9aee5] mptcp: Fix tsorted_anchor usage
[ff213d9] mptcp: Disable bottom-half before processing SYN/ACK
[a05a1f4] mptcp: Fix sparse's type-cast warnings
[a221796] mptcp: Fix lockdep warnings
[88eee5e] mptcp: Reinject data when the write-queue gets purged
[14e9764] mptcp: Trigger sending when new subflow gets established
[aaa4e0c] mptcp: Stable Release v0.95-rc
[7454ef5] mptcp: Build-Fix for mptcp_push_pending_frames
[04a77b0] mptcp: Don't allow TCP_REPAIR on MPTCP-sockets
[78bab8d] mptcp: Rework mptcp_disconnect
[e75f410] mptcp: Initialize IPv6-fields even more correctly
[cf55e69] mptcp: Fully disable MD5SIG
[dba9d5c] mptcp: Reset icsk_bind_hash to NULL to avoid use-after-free in inet_put_port
[4d0b871] mptcp: Initialize meta_tp after potentially failing instructions
[b6be245] mptcp: Don't free mpcb when mptcp_alloc_mpcb succeeded
[80100cd] mptcp: Prevent circular locking dependency on tcp_close()
[8e81c81] mptcp: Ensure proper free'ing of master_sk upon failure
[b5b758c] mptcp: Handle error-case for MPTCP-Fastopen
[0439a74] mptcp: Unify usage of rcu_read_lock_bh,...
[79d7578] mptcp: Fix error-cases in TCP_SYNCOOKIES path
[95520ec] mptcp: Support randomized Timestamps on SYN-Cookies
[bd9b7a1] mptcp: Do not lock in tcp_get_info for MPTCP_INFO
[0e60986] mptcp: Reduce noisy warnings in MPTCP
[98b2293] mptcp: Trigger meta-retransmission always when the timer fired
[fc29b3a] mptcp: Don't update meta-RTO from subflows that are retransmitting
[1ffbe0e] mptcp: Reevalute and reschedule meta-level RTO for new subflows
[7570b4d] mptcp: Handle IP_OPTIONS only at subflow level
[3cf601a] mptcp: Don't close meta in mptcp_sock_def_error_report upon tcp_disconnect
[ece771f] mptcp: Fully cleanup meta-socket in mptcp_disconnect
[3c8383f] mptcp: Move subflows to time-wait when we are in infinite mapping mode
[c807137] mptcp: Correctly set the tcp_tsorted_anchor on skbs
[833ff90] mptcp: Fix zero-window probes at the meta-level
[adeb477] mptcp: Don't set rmem_alloc in mptcp_add_sock
[ed39d2f] mptcp: mpcb-put when canceling a workqueue for closing subflows
[725ea4f] mptcp: Fix error-cases in TCP_SYNCOOKIES path (finally)
[ea0df99] mptcp: Fix error-case when in hash-dance
[57f459e] mptcp: Use CONFIG_JUMP_LABEL
[8bf32af] mptcp: New Release
Daniel Weber [email protected] (2):
[4ffe6a4] mptcp: BLocking ESTimation-based (BLEST) Scheduler
[fa1d0ee] mptcp: apply consistent naming scheme to all schedulers
Frank LENORMAND [email protected] (1):
[79cc56e] mptcp: fix compilation error when CONFIG_MPTCP is undefined
Gregory Detal [email protected] (3):
[2e4ce38] mptcp: correct refcnt for sk in tcp_v{4,6}_rcv
[ab9bfbd] mptcp: new callbacks for path managers
[68031f0] mptcp: allow to fix the source port when establishing a subflow
Henrique Cabral [email protected] (1):
[17b79b7] mptcp: fix ID of address removal announcement
Kacper Kołodziej [email protected] (1):
[64a8085] Fix building mptcp_fullmesh as module
Kostas Peletidis [email protected] (2):
[6f1b2a0] Export tcp_send_ack symbol to fix build issue with mptcp_fullmesh module (mptcp_trunk). This commit should make it possible to revert 64a8085.
[4b72016] Revert "Fix building mptcp_fullmesh as module"
Mat Martineau [email protected] (2):
[87bf61f] mptcp: Merge fixes due to gso and checksum changes
[4379ee6] mptcp: Fix up build error for mptcp proc filesystem
Matthieu Baerts [email protected] (10):
[e2b2f25] mptcp:fullmesh: fix compilation warning if no IPv6
[98209f8] mptcp:minisocks: fix refcnt when adding to backlog
[f2632fa] mptcp: Use tcp_abort correctly for MPTCP
[06f6f6b] mptcp: Build-Fix with CONFIG_MEMCG
[849e3ed] Revert "mptcp: Recreate subflows after a timeout"
[ed30364] mptcp:fm: recreate subflows after an error
[4ea5dee] mptcp: new netlink-based path manager
[f446ba3] mptcp:uapi: switch to GPL-2.0 with note
[1c6f694] mptcp:netlink: fix sf creation without SADDR attr
[e6972ed] tcp: fix compilation error with CHELSIO drivers
Patrick Havelange [email protected] (1):
[87...
Multipath TCP Linux Kernel v0.94.6
ChangeLog:
Merge with upstream v4.14.127
Debian Packages:
https://bintray.com/cpaasch/deb/mptcp/v0.94.6
RPM Packages:
Multipath TCP Linux Kernel v0.94.5
ChangeLog:
Christoph Paasch [email protected] (7):
[0a7e92d] mptcp: Fix zero-window probes at the meta-level
[08fcc3f] mptcp: Don't set rmem_alloc in mptcp_add_sock
[0758ef5] mptcp: mpcb-put when canceling a workqueue for closing subflows
[4c77567] mptcp: Fix error-cases in TCP_SYNCOOKIES path (finally)
[b68eaaf] mptcp: Fix error-case when in hash-dance
[8b30a23] mptcp: Don't access write-queue unconditionally
[69c160d] mptcp: Stable Release v0.94.5
Frank LENORMAND [email protected] (1):
[53d5353] mptcp: fix compilation error when CONFIG_MPTCP is undefined
Debian Packages:
https://bintray.com/cpaasch/deb/mptcp/v0.94.5