zehome / MLVPN

Multi-link VPN (ADSL/SDSL/xDSL/Network aggregation / bonding)
http://www.mlvpn.fr/
BSD 2-Clause "Simplified" License
518 stars 127 forks source link

A couple of bandwidth_upload-related fixes #80

Open stapelberg opened 8 years ago

stapelberg commented 8 years ago

It took me a while to figure out why configuring bandwidth_upload is necessary and what would happen if one didn’t configure it, so here are a bunch of small improvements on the documentation.

markfoodyburton commented 8 years ago

I've set bandwidth_upload on both server and client side. On the client side it seems to have little effect, is that expected. In the 1.0 to 2.x upgrade.m it suggests: bandwidth_download must be replaced by bandwidth_upload on the server side and removed client side. Does that mean that on the client side you can't set bandwidth? Cheers Mark.

zehome commented 8 years ago

First, sorry for the late anwser.

mlvpn release has a bug in the roundrobind algorithm. The system calculates a weight based on "bandwidth_upload" of all the active links. The result is set as a float ( 1024Kbps on one link, 768Kbps on the other will make a wrr of like 1 on the first link and 0.75 on the other). The problem is that the system which choose what link to send a packet to does not handle properly the floating point values and uses integers.

As a result, a weigh of 0.75 is considered like a 1.0, so the balancing does not take into account the weight properly.

I'm working on a patch which will solves this problem.

bandwidth_download and bandwidth_upload was used the following way:

It was not very clear in the configuration what this system was doing, so it was replaced by a single parameters on BOTH sides: "bandwidth_upload".

If your server is the one with big bandwidth, then, bandwidth_upload corresponds to the "client" download speed, and the other way around for the client upload speed.

You'll need to set it on both side corresponding to the expected maximum speed you want.

zehome commented 8 years ago

Btw thank you for the merge request, I'll need some more time to get back from holidays and work on thoses patches

markfoodyburton commented 8 years ago

Seems like that explains my issue.

stapelberg commented 8 years ago

Addressed your comments. Please take another look.