Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add MPTCP socket protocol (optional) #466

Merged
merged 10 commits into from
Jul 17, 2023
Merged

add MPTCP socket protocol (optional) #466

merged 10 commits into from
Jul 17, 2023

Conversation

Martichou
Copy link
Contributor

PR Type

Feature

Overview

Add the possibility to use the MPTCP protocol at the socket level for users of ServerBuilder.

MPTCP is now more widely available since Linux Kernel version >= 5.6. But it still need to be enabled manually using: sysctl net.mptcp.enabled=1 (of course, MPTCP is only available on Linux).

The new MPTCP struct give the user the option to determine how we'll handle the case where MPTCP is not available on the host, either we crash, or we fallback to regular TCP.

@Martichou
Copy link
Contributor Author

Martichou commented Sep 10, 2022

note: this PR will fail until socket2 make a new release with the new Protocol::MPTCP, but the content can still be reviewed

(see rust-lang/socket2@4c43681)

Martichou added a commit to Martichou/actix-web that referenced this pull request Sep 10, 2022
Add the possibility to use the MPTCP protocol.
(recently added here too: actix/actix-net#466)

Check the link above (PR 466) to see the details
about this change (it's pretty much the same).

Signed-off-by: Martin Andre <martin.andre@tessares.net>
Martichou added a commit to Martichou/actix-web that referenced this pull request Sep 10, 2022
Add the possibility to use the MPTCP protocol.
(recently added here too: actix/actix-net#466)

Check the link above (PR 466) to see the details
about this change (it's pretty much the same).

Signed-off-by: Martin Andre <martin.andre@tessares.net>
@Martichou
Copy link
Contributor Author

Unfortunately, the socket2 version needed is the 0.5.

I see there was a comment # TODO(MSRV 1.64) update to 0.5. What is the status on that? (cc @robjtede)
This is the only thing still needed for MPTCP in Actix 🥇

Martichou and others added 10 commits July 15, 2023 22:24
Add the possibility to use the MPTCP protocol at the
socket level for users of ServerBuilder.

MPTCP is now more widely available since Linux Kernel
version >= 5.6. But it still need to be enabled
manually using: `sysctl net.mptcp.enabled=1`.
(of course, MPTCP is only available on Linux)

The new MPTCP struct give the user the option to
determine how we'll handle the case where MPTCP is
not available on the host, either we crash, or we
fallback to regular TCP.

Signed-off-by: Martin Andre <martin.andre@tessares.net>
Signed-off-by: Martichou <m@rtin.fyi>
@robjtede
Copy link
Member

Thanks for pushing this. My tweaks are mostly mechanical. We're expecting Windows CI failures atm so no worries there.

@robjtede robjtede merged commit 755b231 into actix:master Jul 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants