I am trying to use MPTCP that is included in linux-5.6.x. I assume this is a version of https://www.multipath-tcp.org/ but it does not seem to be the same.
Does the in-kernel MPTCP correspond to any version of https://www.multipath-tcp.org/ ?
To test I use a small program mptcp.c and a VM setup like;
According to wireshark MPTCP is used but only one sub-flow over the default path (upper).
What must I do (configure?) to make MPTCP aware that the second path exist and make use of it?
As already noted multi-subflow was not supported in linux-5.6.x but is supported in linux-5.7.x. I found no documentation but new test programs are added;
The
pm_nl_ctl
I guess stands for path-manager-netlink-control.These scripts and programs can be examined to get a hint on how to configure a subflow.
In the config above the server runs on
vm-001
and a client connects fromvm-221
;Now a subflow is setup on the lower path. Here is a capture from
vm-202
;Also
nstat
onvm-001
shows the join;It is a bit tricky to compile
pm_nl_ctl.c
on a machine that does not have the linux-5.7 headers installed (which you most likely don't have). You must install the headers and use them;The traffic data still only uses the first subflow and there is no fail-over if the upper data-path is disabled. So there are more issues for a useful MPTCP but that is another question.