VPN Bonding diferent speed links (T1 + DSL)

Forums Network Management ZeroShell VPN Bonding diferent speed links (T1 + DSL)

  • This topic is empty.
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #42156

    Hello All,

    My current situation is as follows (some is done, some is not)

    1. Zeroshell running on a linux box at the datacenter
    2. Zeroshell running on a Soekris Net5501 at the office.
    3. Internet T1 at the office ( 1.5/1.5 )
    4. Internet ADSL at the office ( 6.0/0.8 )

    5. established two VPN connections between the office and datacenter going over separate gateways.

    6. create the bond interfaces on each end including the two vpn connections.

    My issue with this topology is, zeroshell gui does not seem to expose most of the functionality of the bond module. Specifically because these connections have a considerable variation in bandwidth, round-robin distribution would seem ineffective to me, what I would like to use is something like mode5 balance-tlb to distribute traffic across the slaves based on their available capacity, so I could theoretically get 7.5down and 2.3up. My prediction to a simple round-robin would result in 3.0down and 1.6up

    Any suggestions on how to do this playing nicely with zeroshell would be appreciated.

    mode=5 (balance-tlb)
    Adaptive transmit load balancing: channel bonding that does not require any special switch support. The outgoing traffic is distributed according to the current load (computed relative to the speed) on each slave. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed receiving slave.
    Ethtool support in the base drivers for retrieving the
    speed of each slave.

    Thank You!


    So after further review and testing, I realized even balance-tbl is no good as it is fetching the speed from the interface, which is not accurate, i.e. a 6.0/0.8 DSL would be considered 10meg symmetrical.

    Users doing vpn bonding over variable speed links certainly have seen issues with performance, am i the only person to try this so far? am I missing something?

    consider it like this:

    you have two customs agents open at the airport and you have a family of 10 travelling together. There is an employee in front of customs directing each person to alternating agent line round-robin without considering how fast each line moves. Now consider that each agent is processing people at a different rate, say agentA is 1 person per minute and agentB is 2 persons per minute… basically it will not matter that one agent is faster because the family cannot move on until they have all cleared customs. sorry maybe this is a stupid example but its 2:30am.


    I am now looking for patches that implement weighted RR in the bonding module, i would like to avoid reinventing the wheel if possible….. and if I cannot find anything I will write a patch myself to expose the slave speeds/weight to sysfs to be set manually.


    I have been looking into this as well and found this forum thread on the bonding sourceforge page. http://sourceforge.net/projects/bonding/forums/forum/77912/topic/2048022

    The guy made a patch that adds a new balance mode. This works like balance-rr but with weights. Hope this is helpful for someone. I have not tried it myself.


    Here is a good post about VPN bonding with zeroshell:

    I am planning to try the Broadband Bonding boxes by Mushroom for our T1 and ADSL line, as there is no simple way to deal with the latency difference on T1 and ADSL, round robin won’t cut it…

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.