svn commit: r219660 - in stable/8: share/man/man4 sys/netgraph
Andrey V. Elsukov
ae at FreeBSD.org
Tue Mar 15 07:15:05 UTC 2011
Author: ae
Date: Tue Mar 15 07:15:04 2011
New Revision: 219660
URL: http://svn.freebsd.org/changeset/base/219660
Log:
MFC r219127:
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
Modified:
stable/8/share/man/man4/ng_one2many.4
stable/8/sys/netgraph/ng_one2many.c
stable/8/sys/netgraph/ng_one2many.h
Directory Properties:
stable/8/share/man/man4/ (props changed)
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
Modified: stable/8/share/man/man4/ng_one2many.4
==============================================================================
--- stable/8/share/man/man4/ng_one2many.4 Tue Mar 15 06:53:33 2011 (r219659)
+++ stable/8/share/man/man4/ng_one2many.4 Tue Mar 15 07:15:04 2011 (r219660)
@@ -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.
Modified: stable/8/sys/netgraph/ng_one2many.c
==============================================================================
--- stable/8/sys/netgraph/ng_one2many.c Tue Mar 15 06:53:33 2011 (r219659)
+++ stable/8/sys/netgraph/ng_one2many.c Tue Mar 15 07:15:04 2011 (r219660)
@@ -278,6 +278,7 @@ ng_one2many_rcvmsg(node_p node, item_p i
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
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:
Modified: stable/8/sys/netgraph/ng_one2many.h
==============================================================================
--- stable/8/sys/netgraph/ng_one2many.h Tue Mar 15 06:53:33 2011 (r219659)
+++ stable/8/sys/netgraph/ng_one2many.h Tue Mar 15 07:15:04 2011 (r219660)
@@ -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 */
More information about the svn-src-stable-8
mailing list