backup ethernet interface (bonding on linux)



I have servers with 2 nics connected to two redudant switches.
The bonding on linux works fine, but on BSD servers I can't get it to work.

Here's the picture

|-------
|BSD - Bge0 -------------> switch1
|Server
| - Bge1 -------------> switch2
|-------

There is some info in man 8 ifconfig with link[0-2] but I don't
understand how it works and didn't find any examples.

Also I've tried with ngctl and ng_one2many but didn't work.
Ping have packet loss but services don' work. Here is the
script that I found on news.

#!/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 ] }"

Does anybody have working example in rc.conf or any?

--
One cannot sell the earth upon which the people walk
Tacunka Witco
.