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
888 stars 335 forks source link

Strange behavior of tcp connection with BLEST scheduler + NIC in backup mode + debug enabled #384

Open andyxator opened 4 years ago

andyxator commented 4 years ago

Hello!

Recently found a very strange behavior of the connection in case of using blest scheduler with network interface in backup mode and debug enabled. Here is how it can be reproduced. I will provide any additional information if required.

I hope for your help. Thank you!

Server info:

root@server:~# dmesg | grep -i mptcp
[    0.387604] MPTCP: Stable release v0.95

root@server:~# sysctl -a 2>/dev/null | grep mptcp
net.mptcp.mptcp_checksum = 1
net.mptcp.mptcp_debug = 0
net.mptcp.mptcp_enabled = 1
net.mptcp.mptcp_path_manager = fullmesh
net.mptcp.mptcp_scheduler = blest
net.mptcp.mptcp_syn_retries = 3
net.mptcp.mptcp_version = 0

Client info:

root@client:~# dmesg | grep -i mptcp
[    0.448818] MPTCP: Stable release v0.95

root@client:~# sysctl -a 2>/dev/null | grep mptcp
net.mptcp.mptcp_checksum = 1
net.mptcp.mptcp_debug = 0
net.mptcp.mptcp_enabled = 1
net.mptcp.mptcp_path_manager = fullmesh
net.mptcp.mptcp_scheduler = blest
net.mptcp.mptcp_syn_retries = 3
net.mptcp.mptcp_version = 0

Run on server

root@server:~# mkfifo fifo; cat fifo | netcat -l 8844 > fifo

Configure client

root@client:~# ip link set dev eth1 multipath backup
root@client:~# sysctl -w net.mptcp.mptcp_debug=1

Got on client

root@client:~# { for i in hello world yeah; do echo $i; sleep 1; done } | tee /dev/stderr | netcat server 8844
hello
hello
world
yeah

Expected

root@client:~# { for i in hello world yeah; do echo $i; sleep 1; done } | tee /dev/stderr | netcat server 8844
hello
hello
world
world
yeah
yeah
cpaasch commented 4 years ago

I tried it out on the latest v0.95, and I cannot reproduce the issue:

root@client:~# { for i in hello world yeah; do echo $i; sleep 1; done } | tee /dev/stderr | netcat 10.2.1.1 8844
hello
hello
world
world
yeah
yeah

How many interfaces do you have? Only 1, right?

raghava514 commented 4 years ago

Hello Friends , This is Raghava, i am new to MPTCP, and i am doing my research in mptcp. Can any one help to share code of BLEST and STTF. How to Run MPTCP. Thank you.

raghava514 commented 4 years ago

my mail id is raghava514.k@gmail.com