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

What's the use of pm_type=1 when mptcpd manipulates the ip mptcp endpoint table anyway? And whitelist interfaces request. #292

Open
arinc9 opened this issue Jun 23, 2024 · 2 comments

Comments

@arinc9
Copy link
Contributor

arinc9 commented Jun 23, 2024

Regardless of net.mptcp.pm_type being 0 or 1, mptcpd will manipulate the endpoints accordingly with how mptcpd is configured. I've got this configuration:

log=journal
plugin-dir=/usr/lib/x86_64-linux-gnu/mptcpd
addr-flags=subflow,fullmesh
notify-flags=existing,skip_link_local,skip_loopback
load-plugins=addr_adv

I don't have an issue with the current behaviour, I'm just confused.

Another issue I'm having is interfaces that do not provide access to the internet will be added as subflows which breaks the connection. It'd be great to have an address notification flag where I can specify interfaces as a whitelist so that the plugins would only be notified with the addresses of the whitelisted interfaces.

@matttbe
Copy link
Member

matttbe commented Jul 26, 2024

Hello,

Sorry for the delay, I missed that one!

What's the use of pm_type=1 when mptcpd manipulates the ip mptcp endpoint table anyway?

mptcpd can work with the in-kernel and userspace path-managers, depending on the plugin that is selected, e.g. addr_adv is for the in-kernel PM, while sspi needs the userspace PM.

Note that the Path-Manager is selected at the creation of the connection. If the pm_type is switch later, previous connections will still use the previous PM. It is then not enough to look at the sysctl value, but I understand it can be confusing.

I'm not sure what could help as it is a daemon. Maybe a check when the plugin is loaded using one mode or another, and printing a warning in the logs?

Another issue I'm having is interfaces that do not provide access to the internet will be added as subflows which breaks the connection. It'd be great to have an address notification flag where I can specify interfaces as a whitelist so that the plugins would only be notified with the addresses of the whitelisted interfaces.

Good idea!

Do you mind creating a dedicated issue about that please, not to mix the two topics here?

@ivanbaldo
Copy link

So this seems to be a documentation issue then.
Because I don't see the plugins properly documented and clarifying which sysctl setting they need.

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

No branches or pull requests

3 participants