-
Notifications
You must be signed in to change notification settings - Fork 339
Redundant scheduler works unexpectedly in real networks. #474
Comments
Hi,
This may cause redundant scheduler set I replace the |
Yes, I think you are right. This should be |
hi I think I will make a pull request later. is there anything I need to know about making a PR? Since there is only one change, it should be simple right?
|
@ytxing : thanks! If it is easier, you can also send a patch to the mailing-list: https://multipath-tcp.org/pmwiki.php/Developer/SubmitAPatch What is important is to have an explanation of the fix in the commit message, your "Signed-off-by" and ideally these two lines at the end, just above your Signed-off-by:
|
Previously redsched_correct_skb_pointers set red_p->skb = NULL when red_p->skb_start_seq == meta_tp->snd_una. This issue causes the redundant scheduler keep sending reinjected packets. Replace !after with before in line 192. Closes: multipath-tcp#474 Fixes: 7835e78 ("mptcp: Fix use-after-free in the redundant scheduler") Signed-off-by: ytxing <[email protected]>
Previously redsched_correct_skb_pointers set red_p->skb = NULL when red_p->skb_start_seq == meta_tp->snd_una. This issue causes the redundant scheduler to keep sending reinjected packets again and again. Replace '!after' with 'before' fixes this issue. Closes: #474 Fixes: 7835e78 ("mptcp: Fix use-after-free in the redundant scheduler") Signed-off-by: ytxing <[email protected]> Signed-off-by: Matthieu Baerts <[email protected]>
Previously redsched_correct_skb_pointers set red_p->skb = NULL when red_p->skb_start_seq == meta_tp->snd_una. This issue causes the redundant scheduler to keep sending reinjected packets again and again. Replace '!after' with 'before' fixes this issue. Closes: #474 Fixes: 7835e78 ("mptcp: Fix use-after-free in the redundant scheduler") Signed-off-by: ytxing <[email protected]> Signed-off-by: Matthieu Baerts <[email protected]> (cherry picked from commit 5ffee1d) Signed-off-by: Matthieu Baerts <[email protected]>
Hello, the goodput seems to be good now. However, the multiple retransmissions problem still exists when throuput setting is a little high (ex: 2Mbps). Although the goodput works as expected, many packets are dropped due to multiple retransmissions. The multiple retransmissions problem disappear when the throughput setting is slow (0.2 Mpbs). Thanks |
Previously redsched_correct_skb_pointers set red_p->skb = NULL when red_p->skb_start_seq == meta_tp->snd_una. This issue causes the redundant scheduler to keep sending reinjected packets again and again. Replace '!after' with 'before' fixes this issue. Closes: multipath-tcp/mptcp#474 Fixes: 7835e78 ("mptcp: Fix use-after-free in the redundant scheduler") Signed-off-by: ytxing <[email protected]> Signed-off-by: Matthieu Baerts <[email protected]> (cherry picked from commit 5ffee1dcb2617a8a2f496addca614cb56e2e123f) Signed-off-by: Matthieu Baerts <[email protected]>
Previously redsched_correct_skb_pointers set red_p->skb = NULL when red_p->skb_start_seq == meta_tp->snd_una. This issue causes the redundant scheduler to keep sending reinjected packets again and again. Replace '!after' with 'before' fixes this issue. Closes: multipath-tcp/mptcp#474 Fixes: 7835e7847026 ("mptcp: Fix use-after-free in the redundant scheduler") Signed-off-by: ytxing <[email protected]> Signed-off-by: Matthieu Baerts <[email protected]> (cherry picked from commit 5ffee1dcb2617a8a2f496addca614cb56e2e123f) Signed-off-by: Matthieu Baerts <[email protected]> (cherry picked from commit 55abfd02c06ac3f7704efb8e94e0099d1965a4bc) Signed-off-by: Matthieu Baerts <[email protected]> Signed-off-by: Diaz1401 <[email protected]>
Yes, redundant again.
I am trying to test MPTCP in real network environments. I deploy a server on the cloud, with MPTCP v0.95.2 (4.19.234+ by
uname -r
). It works well when using default and round-robin scheduler, but not when it switches to redundant.To be specific, we download some files from the server and record the completion time. When using the two schedulers, it can achieve about 90mbps. But with redundant, it can barely reach 1mbps. We also check the byte count in
/proc/net/dev
before and after downloading then we can get how many bytes each nic receives. When downloading a 10M file, using redundant scheduler receives 239221246 (for LTE) plus 1103235282 (for WLAN) bytes. In a word, it is way more than 10M.The server has only one nic and the client has two. Using fullmesh for both side. Using
requests
packet ofpython3
to download files and usingpython3 httpserver
for the server.Need help. Any idea why?
The text was updated successfully, but these errors were encountered: