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 [EMAIL PROTECTED]@[EMAIL > PROTECTED]@ > > 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 [EMAIL PROTECTED] FreeBSD committer
pgpjsdxZgHy4Y.pgp
Description: PGP signature