multipath-tcp / mptcp

⚠️⚠️⚠️ Deprecated 🚫 Out-of-tree Linux Kernel implementation of MultiPath TCP. 👉 Use https://github.com/multipath-tcp/mptcp_net-next repo instead ⚠️⚠️⚠️
https://github.com/multipath-tcp/mptcp_net-next
Other
887 stars 334 forks source link

Changing the congestion Control Mechanisms #490

Closed rezapoorzare1 closed 2 years ago

rezapoorzare1 commented 2 years ago

Hello there,

I hope you are doing well.

I have followed the instruction on "https://multipath-tcp.org/pmwiki.php/Users/AptRepository", by downloading the packages and then sudo dpkg -i linux*.deb sudo apt-get install -f Everything is fine and MPTCP is working well. However, when I want to change the features such as congestion control to lia by using: sudo sysctl net.ipv4.tcp_congestion_control=lia I encounter this error: sysctl: setting key "net.ipv4.tcp_congestion_control": No such file or directory net.ipv4.tcp_congestion_control = lia

How should I include different CCs such as lia, olia, and ...?

Thanks a lot

matttbe commented 2 years ago

Hi,

This "issue" is linked to TCP, not really MPTCP. You probably need to insert the corresponding TCP CC module, see #444, #254, etc.

In short, can you see the different CC with:

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_allowed_congestion_control

If no, you probably need to do something like modprobe mptcp_lia

rezapoorzare1 commented 2 years ago

Thanks for the answer

Yes I can see them:

net.ipv4.tcp_available_congestion_control = reno cubic vegas net.ipv4.tcp_allowed_congestion_control = reno cubic vegas

I can change between them easily. The problem is that I have not compiled the kernel?

Thanks

rezapoorzare1 commented 2 years ago

And this is the error for insmod:

insmod: ERROR: could not load module /lib/modules/4.14.24.mptcp/kernel/net/mptcp/mptcp_olia.ko: No such file or directory

matttbe commented 2 years ago

insmod: ERROR: could not load module /lib/modules/4.14.24.mptcp/kernel/net/mptcp/mptcp_olia.ko: No such file or directory

I guess you didn't install the v4.14.24 version, did you? You need to specify the path corresponding to the kernel you are using

Try these commands, maybe one works: (I didn't try, the best is to find where this mptcp_olia.ko file is located on your side)

sudo modprobe -v mptcp_olia
sudo insmod  /lib/modules/$(uname -r)/kernel/net/mptcp/mptcp_olia.ko
rezapoorzare1 commented 2 years ago

Thanks a lot Sorry for my late answer.

It has worked and I should thank you.

rezapoorzare1 commented 1 year ago

Hello There,

I am sorry for opening this issue again. The commands you said are working perfectly but the problem is that after each reboot the congestion controls are removed from the list and the commands should be run again, is it normal?

Thanks a lot

matttbe commented 1 year ago

Yes, that's normal.

But you can ask to enable the module automatically by adding it in /etc/modules if I remember well.

rezapoorzare1 commented 1 year ago

So, if I want to change the CC to BALIA, in every booting I should repeat the procedure?

Thanks

matttbe commented 1 year ago

So, if I want to change the CC to BALIA, in every booting I should repeat the procedure?

Yes you should indeed.

You can also have it automated by adding mptcp_balia in /etc/modules and net.ipv4.tcp_congestion_control = balia in /etc/sysctl.conf. Or you add the command lines in /etc/rc.local or a systemd service, etc. but that's not specific to MPTCP, just how TCP CC on Linux works.

rezapoorzare1 commented 1 year ago

Thank you so much because of your responses.