Link failure detection algorithm for one2many netgraph node.

Evgeny Dolgopiat dolgop at mccinet.ru
Wed Jun 11 03:40:24 PDT 2003


 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 <dolgop at mccinet.ru>


More information about the freebsd-net mailing list