Add XMIT_FAILOVER transmit algorithm to ng_one2many node. Packets are
delivered out the first active "many" hook. PR: kern/137775 Submitted by: Maxim Ignatenko MFC after: 2 weeks
This commit is contained in:
parent
ac095af538
commit
633c5bdac8
@ -34,7 +34,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd February 19, 2006
|
||||
.Dd March 1, 2011
|
||||
.Dt NG_ONE2MANY 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -96,6 +96,10 @@ hooks.
|
||||
Each packet goes out each
|
||||
.Dv many
|
||||
hook.
|
||||
.It Dv NG_ONE2MANY_XMIT_FAILOVER
|
||||
Packets are delivered out the first active
|
||||
.Dv many
|
||||
hook.
|
||||
.El
|
||||
.Pp
|
||||
In the future other algorithms may be added as well.
|
||||
|
@ -278,6 +278,7 @@ ng_one2many_rcvmsg(node_p node, item_p item, hook_p lasthook)
|
||||
switch (conf->xmitAlg) {
|
||||
case NG_ONE2MANY_XMIT_ROUNDROBIN:
|
||||
case NG_ONE2MANY_XMIT_ALL:
|
||||
case NG_ONE2MANY_XMIT_FAILOVER:
|
||||
break;
|
||||
default:
|
||||
error = EINVAL;
|
||||
@ -473,6 +474,9 @@ ng_one2many_rcvdata(hook_p hook, item_p item)
|
||||
NG_SEND_DATA_ONLY(error, mdst->hook, m2);
|
||||
}
|
||||
break;
|
||||
case NG_ONE2MANY_XMIT_FAILOVER:
|
||||
dst = &priv->many[priv->activeMany[0]];
|
||||
break;
|
||||
#ifdef INVARIANTS
|
||||
default:
|
||||
panic("%s: invalid xmitAlg", __func__);
|
||||
@ -583,6 +587,7 @@ ng_one2many_update_many(priv_p priv)
|
||||
priv->nextMany %= priv->numActiveMany;
|
||||
break;
|
||||
case NG_ONE2MANY_XMIT_ALL:
|
||||
case NG_ONE2MANY_XMIT_FAILOVER:
|
||||
break;
|
||||
#ifdef INVARIANTS
|
||||
default:
|
||||
|
@ -61,6 +61,7 @@
|
||||
/* Algorithms for outgoing packet distribution (XXX only one so far) */
|
||||
#define NG_ONE2MANY_XMIT_ROUNDROBIN 1 /* round-robin delivery */
|
||||
#define NG_ONE2MANY_XMIT_ALL 2 /* send packets to all many hooks */
|
||||
#define NG_ONE2MANY_XMIT_FAILOVER 3 /* send packets to first active "many" */
|
||||
|
||||
/* Algorithms for detecting link failure (XXX only one so far) */
|
||||
#define NG_ONE2MANY_FAIL_MANUAL 1 /* use enabledLinks[] array */
|
||||
|
Loading…
Reference in New Issue
Block a user