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

support of ndiffport #280

Closed
hansomesong opened this issue Jun 5, 2022 · 3 comments
Closed

support of ndiffport #280

hansomesong opened this issue Jun 5, 2022 · 3 comments
Labels

Comments

@hansomesong
Copy link

Hi Folks,

I would like to know if the upstream implementation of MPTCP supports ndiffport mode, in which we can set up a series of different subflows specified by ndiffport, across the same pair of ip address between end hosts. The motivation behind this question is that we would like to leverage the power of SDN, allocating n different transmission paths between a pair of single-homed end hosts.

If ndiffport feature is supported, how to configure this parameter with MPTCPv1 implementation?

Thanks for any feedback in advance.

@matttbe
Copy link
Member

matttbe commented Jun 7, 2022

Hi @hansomesong

The current implementation doesn't support ndiffport as the one present in the out-of-tree implementations where the clients create additional sublfows on a different without any interaction with the end server.

But it is possible to get something similar with the new MPTCP Upstream implementation:

  • Either you use the in-kernel path-manager on the server side to announce the same IP address with a specific port (ip mptcp endpoint add ADDRESS dev NAME port NR signal). On the client side, you might need to use the fullmesh path manager if it has only one IP.
  • Or you use the Netlink path-manager on the client side and a userspace daemon (e.g. mptcpd) can ask the kernel to create new subflows on the same IP but to a different port.

Please note that on the server side, an additional listening socket might need to be created to accept new subflows on a different port, see issue #203.

Please report any issues if this is not working as expected.

how to configure this parameter with MPTCPv1 implementation?

Small side note: MPTCPv1 is the protocol, not the Linux implementation ;-)
https://github.com/multipath-tcp/mptcp_net-next/wiki#mptcpv0-vs-mptcpv1=

@matttbe
Copy link
Member

matttbe commented Jun 23, 2022

Hi @hansomesong

Do you mind if I close this story?
Or are the proposed solutions not OK for you?
Feel free to re-open it if not.

Do not hesitate to create a PR or an issue to have "ndiffport" support in mptcpd.

@matttbe matttbe closed this as completed Jun 23, 2022
@ossama-othman
Copy link
Member

Mat is currently working on a ndiffports plugin for mptcpd. See multipath-tcp/mptcpd#248.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants