Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Feb 2005 10:52:28 +0200
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        Marko Lerota <marko.lerota@optima-telekom.hr>
Cc:        Gleb Smirnoff <glebius@FreeBSD.org>
Subject:   Re: redundant ethernet interfaces
Message-ID:  <20050218085228.GB47403@ip.net.ua>
In-Reply-To: <86ll9mcm4y.fsf@redcloud.local>
References:  <86ll9mcm4y.fsf@redcloud.local>

next in thread | previous in thread | raw e-mail | index | archive | help

--Bn2rw/3z4jIqBvZU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Feb 18, 2005 at 09:23:09AM +0100, Marko Lerota wrote:
> I have two nic bge0 and bge0, and I would like them=20
> to have the same IP address in case that my redundant=20
> switch stop responding. Bridge is not an option,=20
> I tried with netgraph but I did not succeed.=20
> Does anyone have some solution?
>=20
> I followed the examples from google groups and I stuck with
> duplicated packets when both ethernets are plugged and=20
> 50% packet loss when one ethernet is unplugged, damn !!#@!#@!$%^@$#@
>=20
> here is my config=20
>=20
> rc.conf=20
> ifconfig_bge0=3D"1.2.3.4 netmask 255.255.0.0 media 100baseTX mediaopt
> full-duplex"
> ifconfig_bge1=3D"media 100baseTX mediaopt full-duplex"
>=20
> and  /usr/local/etc/rc.d/bonding.sh
>=20
>  #!/bin/sh
> ifconfig bge1 up
> kldload /boot/kernel/ng_ether.ko
> kldload /boot/kernel/ng_one2many.ko
> ngctl mkpeer bge0: one2many upper one
> ngctl connect bge0: bge0:upper lower many0
> ngctl connect bge1: bge0:upper lower many1
> ngctl msg bge1: setpromisc 1
> ngctl msg bge1: setautosrc 0
> ngctl msg bge0:upper setconfig "{xmitAlg=3D1 failAlg=3D1 enabledLinks =3D=
[ 1
> 1 ] }"=20
>=20
> manual for this sucks=20
>=20
This isn't going to work -- packets will be transmitted in round-robin
manner, which is not what you want for failure protection.  What you
need is to use xmitAlg=3D2 (NG_ONE2MANY_XMIT_ALL) so that each frame is
delivered out of all interfaces, and then enable STP on your switches.
I didn't test it, but it should work.  The example in the ng_one2many(4)
manpage, like the one you quote above but with four interfaces, is to
demonstrate how to set up a 400Mbit/s connection between two hosts.


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--Bn2rw/3z4jIqBvZU
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFCFazMqRfpzJluFF4RAsBWAJ0U20EJ7EMR+G51J/SaZF35PHeU0ACgj1xE
xb6TdNjx2bAi3Dp4bmWIzp4=
=9fmk
-----END PGP SIGNATURE-----

--Bn2rw/3z4jIqBvZU--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050218085228.GB47403>