-
-
Notifications
You must be signed in to change notification settings - Fork 43
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
Subflows won't be used when the interface for the main flow is a subinterface #505
Comments
Hi, I wonder if you need to set
My setup is different (not fullmesh) but I do set the source IP to make the routing more specific. |
I don't think
|
What's the mptcp configuration on |
The host acting as an iperf3 server has
Both hosts run Ubuntu's 6.8.0-35-generic kernel. |
Hi, How about the MPTCP limits on each host? that is, Also, do you need |
The limits are fine. I can see that subflows are created if the path of the default route is utilised. So I don't think this is a case of improper configuration.
The server only needs to use a single endpoint so it is a half mesh topology. To that extend, I've taken away the fullmesh flag on both subflows:
The behaviour is the same. |
I think I'm onto something. I've been struggling with making MPTCP create subflows on a system without playing around with the routes. Limits are fine on both sides. I've noticed that subflows won't be created if the interface for the main flow is a subinterface, meaning it's a user of another interface. lan1@eth0, a DSA interface; enp3s0.3@enp3s0, a VLAN interface. I'll investigate further. Edit: I've updated the main comment with my findings. |
Tbh, I have a similar setup - multiple sub interfaces on the main interfaces (carrying different subnets). I don't have any vlan setup. I am able to establish subflows between just the sub-interfaces (with the primary flow also on the other sub-interface). |
I don't use alias interfaces so I can't make a comment. There clearly is something wrong with MPTCP when using VLAN and DSA interfaces. |
Note that the mptcp monitor shows the lack of MPTCP_EVENT_ESTABLISHED events, thus the mptcp connection will not try to establish additional subflows. Can you observe the same behavior on top of the current 'net' or 'net-next' tree? The attached tentative reproducer works fine for me on a somewhat recent 'net-next'. I guess 6.8 is lacking some fixes/improvement. Could you also please attach a pcap captures with the first few packets of the established connection? |
I will test this soon. Thanks Paolo. |
Be careful that when you specify the device when adding the endpoint, the subflow will be forced to use this outgoing interface ...
... In this case, the rule you added is not going to be used by the subflow I think, because You can check your routing rules with
|
In other words, if you added the correct interface with the endpoint, you should not need to add these rules. That's what is mentioned in the 'warning' box: https://www.mptcp.dev/pm.html |
The default route is
via 192.168.13.1 dev enp3s0.3
.I've set up the subflow I want to use:
Then described the gateway for the subflow path:
The subflow won't be used:
enp3s0.3 and enp3s0.4 are VLAN interfaces so they are enp3s0.3@enp3s0 and enp3s0.4@enp3s0. I've noticed that if the default route is a subinterface, subflows won't be created. I've also experienced this issue with DSA interfaces hence my belief that specifically subinterfaces, not just VLAN interfaces, are affected.
The text was updated successfully, but these errors were encountered: