View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0008904 | libmicrohttpd | other | public | 2024-06-06 16:38 | 2024-06-06 16:38 |
Reporter | matttbe | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | new | Resolution | open | ||
Platform | Linux | ||||
Summary | 0008904: Add Multipath TCP (MPTCP) support | ||||
Description | Hello, First, thank you for developing and maintaining this useful lib! Could it be possible to add MPTCP support on Linux please? > Multipath TCP or MPTCP is an extension to the standard TCP and is described in RFC 8684. It allows a device to make use of multiple interfaces at once to send and receive TCP packets over a single MPTCP connection. MPTCP can aggregate the bandwidth of multiple interfaces or prefer the one with the lowest latency. It also allows a fail-over if one path is down, and the traffic is seamlessly reinjected on other paths. Please see this website for more details: https://www.mptcp.dev Adding MPTCP support in applications is very simple: when creating the socket, the `IPPROTO_MPTCP` flag has to be set instead of TCP, e.g.: socket(AF_INET(6), SOCK_STREAM, IPPROTO_MPTCP); That's it! Note that when MPTCP is not supported by the kernel, this syscall will fail. If needed, the app can decide to create a "plain" TCP one instead. For more details: https://www.mptcp.dev/implementation.html Also, when a listening MPTCP socket is created, MPTCP will only be used when requested by the client. If not, the 'accepted' socket will be a plain TCP one, like before. Thanks to that, and with a minimal impact on the "existing traffic", MPTCP can easily be enabled by default on the server side. | ||||
Tags | Linux | ||||