new bonding type

Home Page Forums Network Management ZeroShell new bonding type

This topic contains 5 replies, has 0 voices, and was last updated by  renato.morano 6 years, 2 months ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #43390

    Ciao,

    mode=0 (balance-rr)
    Round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance.

    mode=1 (active-backup)
    Active-backup policy: Only one slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. The bond’s MAC address is externally visible on only one port (network adapter) to avoid confusing the switch. This mode provides fault tolerance. The primary option affects the behavior of this mode.

    mode=2 (balance-xor)
    XOR policy: Transmit based on [(source MAC address XOR’d with destination MAC address) modulo slave count]. This selects the same slave for each destination MAC address. This mode provides load balancing and fault tolerance.

    mode=3 (broadcast)
    Broadcast policy: transmits everything on all slave interfaces. This mode provides fault tolerance.

    mode=4 (802.3ad)
    IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings. Utilizes all slaves in the active aggregator according to the 802.3ad specification.

    Pre-requisites:
    1. Ethtool support in the base drivers for retrieving
    the speed and duplex of each slave.
    2. A switch that supports IEEE 802.3ad Dynamic link
    aggregation.
    Most switches will require some type of configuration
    to enable 802.3ad mode.

    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.

    Prerequisite:
    Ethtool support in the base drivers for retrieving the
    speed of each slave.

    mode=6 (balance-alb)
    Adaptive load balancing: includes balance-tlb plus receive load balancing (rlb) for IPV4 traffic, and does not require any special switch support. The receive load balancing is achieved by ARP negotiation. The bonding driver intercepts the ARP Replies sent by the local system on their way out and overwrites the source hardware address with the unique hardware address of one of the slaves in the bond such that different peers use different hardware addresses for the server.

    The most used are the first four mode types…

    Now we have mode=0 (balance-rr) and mode=1 (active-backup).

    but if we need mode 5,6 we can change the file
    /root/kerbynet.cgi/template/bondconfig

    and add the rows:


    onclick=”typechanged()”>  Adaptive transmit load
    balancing


    onclick=”typechanged()”>  Adaptive load balancing

    to have an persistent configuration

    in active profile mkdir dir bond
    and cp /root/kerbynet.cgi/template/bondconfig /Database/bond/
    then in tab Pre Boot script
    we add

    cat /Database/bond/bondconfig >/root/kerbynet.cgi/template/bondconfig

    .
    at the end

    #52370

    webtime
    Member

    Hi Renato,

    i see in this document http://www.kernel.org/doc/Documentation/networking/bonding.txt

    that is possible to specify the parameter: arp_interval and arp_ip_target…

    IS this possible in zeroshell???? If yes how???
    Thanks..

    Grazie!!!!!

    #52371

    Hi,

    you have to change the file /root/kerbynet.cgi/scripts/mkbonddev

    Please let we know your “experiment” are working and why you need to do this .

    Another question: but when you speak about “other hardware” what hardware is ?

    ciao

    #52372

    webtime
    Member

    Renato,
    thanks for answer…
    This is my net schema:

    VPN00 –> VPN with another site (we call this Site1)
    ETH02 –> VPN IPSEC with site1 (private address of connection 172.16.x.1 and 172.16.x.2)

    I make a bond with two interfaces (eth02 and vpn00) with eth02 as primary.

    This above interfaces arent gateway for zeroshelll….. there is a static route
    with site1 private address on bond00.

    I need that the bond route traffic between eth02 and vpn00 only when private ip (172.16xxx) are not pingable..

    …. other hardware: my zeroshell developer version is on virtualbox… my real hardware is an mini atx atom…

    #52373

    Hi,

    so you can’t use the net balance and bond ( active-backup) neither too ?

    mode=1 (active-backup)
    Active-backup policy: Only one slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. The bond’s MAC address is externally visible on only one port (network adapter) to avoid confusing the switch. This mode provides fault tolerance. The primary option affects the behavior of this mode.

    #52374

    dandcg
    Member

    Does this patch work on across VPN connections?

    Looking to bond two different ADSL connection with different speeds without suffering the ill affects of round robin.

    At the moment I just get double the slowest speed.

    #52375

    Mani
    Member

    @dandcg wrote:

    Does this patch work on across VPN connections?

    Looking to bond two different ADSL connection with different speeds without suffering the ill affects of round robin.

    At the moment I just get double the slowest speed.

    It doesn’t work for me.

    Every time I try to set it to “Adaptive Load Balancing” it switches back to “Fault Tolerance only”.

    Maybe fulvio adds mode 5 and 6 officially in a future release of ZS?

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.