Davide DG wrote:
> Hello everybody!
>
>
> I have the need to implement a load-balancing fail-over connection
> between 2 sites with 2 54-Mbps RADIO Bridges, each one connected to a
> 3-homed linux boxes.
>
> The network topology should be as follows:
> (please use a fixed-width font to display correctly)
>
> eth1 eth1
> /--[( radio bridge 1 )]--\
> eth0 / \ eth0
> LAN_A -----LINUX_A LINUX_B-----LAN_B
> \ /
> \--[( radio bridge 2 )]--/
> eth2 eth2
>
> or as follows:
>
> eth1 eth1
> |--| /--( radio bridge 1 )--\ |--|
> eth0 | | / \ | | eth0
> LAN_A -----LINUX_A switch switch
LINUX_B-----LAN_B
> | | \ / | |
> |--| \--( radio bridge 2 )--/ |--|
> eth2 eth2
This second setup is a bit unclear to me. Is this to be a high end
switch to perform "pre-linux" trunking? Connected only to linux?
Would be more usual to have the switch behind linux, wouldn't it?
> The goals of the projects are:
> A) If both links are working, to load-balance the network traffic.
> B) If one link fails (for example the antennas move), to use the
other
> link (fail-over) until the restoration of the failed link.
> C) If possible, not loose the ESTABLISHED connections when one link
> fails.
>
> The initial solution (suggested by our chief) was to use 2 NICs with
> Load Balancing features built-in: 2 3Com 3C996B-T with the BASP
driver.
>
> I succeded in building both the bcm5700 and basp driver, but I don't
> know how to configure the basp driver properly. I don't know what
value
> for the TEAM_TYPE field ... I tried with 0 (SLB), but it seems to
> "elect" eth1 devices as "primary" on both machines, so that eth2 are
> used *only* if both eth1 links are down (so no load-balancing
> features!). [I tried with a flooding ping on both sides]
These are Broadcom chip based nics and the readme from BASP indicates
that _only_ Nextreme (Broadcom) nics support what you want. Is that
why you inserted switch in second layout -- to provide such support?
See Readme quote below.
> This is a problem, because goal A would not be achieved.
>
> Moreover, radio bridges with a broken or a misaligned antenna, do not
> signal the ethernet link (at the linux sides), which instead remains
up.
>
That's ugly ;-(
> ----------------
>
> Talking with a colleague, he suggested me the possibility to use the
> OSPF protocol. With this approach, the ospf protocol would give the
> information on a broken link (no response) and a Multi-Path
Equal-Cost
> Routing would give the Load Balancing feature.
Haven't read the docs closely -- this _may_ work.
> Based on the goals to achieve, which solution (of course even
different
> from the two proposed) should be implemented? May someone point me to
> some *specific* documentation and-or how-to?
>
> Thank you all in advance for any hints ;P
>
> Good bye!
Not sure where you got your drivers but Broadcom posted the latest
7/29/04 and you should have gotten the documentation re: configure
_scripts_.
Readme is a bit terse, but seems to read that a nic can be designated
as Primary (load balancing) _or_ Hot-standby for failover (not both).
[quote]
BASP is a kernel module designed for 2.4.x and 2.6.x kernels and
provides load-balancing, fault-tolerance, and VLAN features. These
features are provided by creating teams that consist of multiple NIC
interfaces. A team can consist of 1 to 8 NIC interfaces and each
interface can be designated primary, ***or*** hot-standby (SLB team
only). All ***primary*** NIC interfaces in a team will participate in
***Load-balancing*** operations by sending and receiving a portion of
the total traffic. ***Hot-standby*** interfaces will ***take over*** in
the event that ***all primary interfaces*** have lost their links.
[end quuote]
In effect, if you're load balancing with two primaries and _one_ of
them goes down then the remaining one will carry the whole load.
Hot-standby is for _both_ primaries going down -- for your setup can't
see that HSB will get you anything.
The configure script examples document the options available. See eg.,
basplnx-6.2.9/scripts/team-sample found in linux_basp_ia32-6.2.9.zip
# Configurable parameters:
# TEAM_ID: this number uniquely identifies a team.
# TEAM_TYPE: 0 = SLB, 1 = Generic Trunking/GEC/FEC, 2= 802.3ad
# 3 = SLB (Auto-Fallback Disable)
# TEAM_NAME: ascii name of the team
# TEAM_PAx_NAME: ascii name of the physical interface x,
# where x can be 0 to 7.
# TEAM_PAx_ROLE: role of the physical interface x
# 0 = Primary, 1 = Hot-standby. This field
# must be 0 for Generic Trunking/GEC/FEC
# and IEEE 802.3ad team.
# TEAM_VAx_NAME: ascii name of the virtual interface x,
# where x can be 0 to 63
# TEAM_VAx_VLAN: 802.1p VLAN ID of the virtual interface x.
# For untagged virtual interface, i.e. without
# VLAN enable, set it to 0. The valid VLAN ID
# can be 0 to 4094.
# TEAM_VAx_IP: IP address of the virtual interface x. The
# format should be aa.bb.cc.dd.
# TEAM_VAx_NETMASK: Subnet mask of the virtual interface x.
# The format should mm.nn.oo.pp.
# TEAM_VAx_BROADCAST: Optional broadcast address of the virtual
# interface x. The format should qq.rr.ss.tt.
# TEAM_VAx_GW: Optional default gateway. The format should
# be ww.xx.yy.zz. Usually one default gateway
# is specified for the system and it should
# be reacheable from one network interface.
The download is here:
http://network.free-driver-download....ASP(i386).html
(has code for 3com and intel nics also).
hth,
prg
email above disabled