Hello, All! I have developed a simple link failure detection algorithm for one2many netgraph node. I called it "heartbeat algorithm" :)
This is brief description: What is it Link failure determination for one2many netgraph node. How it works It is implemented as "heartbeat" packet counters on all one2many tranked interfaces. If the number of packest hook received is less for some specified value than max number of packest, received by another hooks of the node, then interface is marked as failed (subnet or link failure). If this difference is less than this value and interface is marked as failed, then interface is up and working. How to setup Algorithm number is 2, so to configure node one should issue "setconfig {xmitAlg=1 failAlg=2}" message. There are two params of algorithm: timeout - time between sending of hearbeat packets (integer number of 1/10 sec) period - number of timeouts for failure determination statistics Default values are timeout=10 and period=10. Two new node messages: "gethbconfig" and "sethbconfig {timeout=X period=Y}" for getting and setting heartbeat algorithm params. Tech data "Heartbeat" packet uses ethernet broadcast address (ff:ff:ff:ff:ff:ff) and packet type set to NG_ONE2MANY_HEARTBEAT_PROTO in the ethernet header. Expected timings are: failure determination: average - 1.5*timeout*period worst - 2*timeout*period up determination: average - 0.5*timeout*period worst - timeout*period Author: Evgeny Dolgopiat <[EMAIL PROTECTED]>
_______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"