I have an AWS EC2 instance running RHEL 8 as a server with MPTCP 0.95.1 (I installed the rpm packages from https://github.com/multipath-tcp/mptcp/releases/tag/v0.95.1) and a Raspberry Pi 3 as a client running MPTCP 0.95.1 (I followed the cross-compiler guide from https://github.com/the-loudspeaker/raspi-mptcp-kernel). The RHEL 8 instance only has 1 network interface, while the RPi 3 is connected to the internet via ethernet (50 Mbps) and USB tethering (Mbps). I manually configured routing on the RPi 3 because the scripts didn't work for me, but on the RHEL 8 instance I wasn't allowed to configure routing. They both use the fullmesh path manager and the default scheduler, but RPi 3 uses LIA for congestion control and RHEL 8 uses Cubic (I didn't know how to change it to LIA).
Why when I run iperf3 does the bandwidth not increase on the client? I almost always get an average bandwidth of 50 Mbps, when I expect to get 100 Mbps on average.
Note: Using Wireshark I can verify that the two flows are created on the MPTCP connection.
maybe the network blocking MPTCP → what if the flow is initialised on the other link first?
is it a download (server sending with CUBIC) or upload? LIA → if you want to maximum the use of your network, you should not use LIA but CUBIC or other non coupled ones
Perfs:
Maybe limited by the CPU? → check htop
one of the host is setting mptcp checksum? → net.mptcp.mptcp_checksum sysctl
or RPi buses that are shared? → what if you run 2 plain TCP connections
limited by network:
maybe there is a high BDP → increase net.ipv4.tcp_[rw]mem?
Hello everybody
I have an AWS EC2 instance running RHEL 8 as a server with MPTCP 0.95.1 (I installed the rpm packages from https://github.com/multipath-tcp/mptcp/releases/tag/v0.95.1) and a Raspberry Pi 3 as a client running MPTCP 0.95.1 (I followed the cross-compiler guide from https://github.com/the-loudspeaker/raspi-mptcp-kernel). The RHEL 8 instance only has 1 network interface, while the RPi 3 is connected to the internet via ethernet (50 Mbps) and USB tethering (Mbps). I manually configured routing on the RPi 3 because the scripts didn't work for me, but on the RHEL 8 instance I wasn't allowed to configure routing. They both use the fullmesh path manager and the default scheduler, but RPi 3 uses LIA for congestion control and RHEL 8 uses Cubic (I didn't know how to change it to LIA).
Why when I run iperf3 does the bandwidth not increase on the client? I almost always get an average bandwidth of 50 Mbps, when I expect to get 100 Mbps on average.
Note: Using Wireshark I can verify that the two flows are created on the MPTCP connection.