redundant ethernet interfaces

Ruslan Ermilov ru at FreeBSD.org
Fri Feb 18 00:52:26 PST 2005


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 
> to have the same IP address in case that my redundant 
> switch stop responding. Bridge is not an option, 
> I tried with netgraph but I did not succeed. 
> Does anyone have some solution?
> 
> I followed the examples from google groups and I stuck with
> duplicated packets when both ethernets are plugged and 
> 50% packet loss when one ethernet is unplugged, damn !!#@!#@!$%^@$#@
> 
> here is my config 
> 
> rc.conf 
> ifconfig_bge0="1.2.3.4 netmask 255.255.0.0 media 100baseTX mediaopt
> full-duplex"
> ifconfig_bge1="media 100baseTX mediaopt full-duplex"
> 
> and  /usr/local/etc/rc.d/bonding.sh
> 
>  #!/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=1 failAlg=1 enabledLinks =[ 1
> 1 ] }" 
> 
> manual for this sucks 
> 
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=2 (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,
-- 
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20050218/880abc40/attachment.bin


More information about the freebsd-net mailing list