ng_one2many.h (126012) | ng_one2many.h (126035) |
---|---|
1 2/* 3 * ng_one2many.h 4 * 5 * Copyright (c) 2000 Whistle Communications, Inc. 6 * All rights reserved. 7 * 8 * Subject to the following obligations and disclaimer of warranty, use and --- 22 unchanged lines hidden (view full) --- 31 * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY 32 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34 * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY 35 * OF SUCH DAMAGE. 36 * 37 * Author: Archie Cobbs <archie@freebsd.org> 38 * | 1 2/* 3 * ng_one2many.h 4 * 5 * Copyright (c) 2000 Whistle Communications, Inc. 6 * All rights reserved. 7 * 8 * Subject to the following obligations and disclaimer of warranty, use and --- 22 unchanged lines hidden (view full) --- 31 * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY 32 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34 * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY 35 * OF SUCH DAMAGE. 36 * 37 * Author: Archie Cobbs <archie@freebsd.org> 38 * |
39 * $FreeBSD: head/sys/netgraph/ng_one2many.h 126012 2004-02-19 17:04:23Z pjd $ | 39 * $FreeBSD: head/sys/netgraph/ng_one2many.h 126035 2004-02-20 08:26:27Z pjd $ |
40 */ 41 42#ifndef _NETGRAPH_NG_ONE2MANY_H_ 43#define _NETGRAPH_NG_ONE2MANY_H_ 44 45/* Node type name and magic cookie */ 46#define NG_ONE2MANY_NODE_TYPE "one2many" 47#define NGM_ONE2MANY_COOKIE 971111383 --- 8 unchanged lines hidden (view full) --- 56 57/* Link number used to indicate the "one" hook */ 58#define NG_ONE2MANY_ONE_LINKNUM (-1) 59 60/* Algorithms for outgoing packet distribution (XXX only one so far) */ 61#define NG_ONE2MANY_XMIT_ROUNDROBIN 1 /* round-robin delivery */ 62#define NG_ONE2MANY_XMIT_ALL 2 /* send packets to all many hooks */ 63 | 40 */ 41 42#ifndef _NETGRAPH_NG_ONE2MANY_H_ 43#define _NETGRAPH_NG_ONE2MANY_H_ 44 45/* Node type name and magic cookie */ 46#define NG_ONE2MANY_NODE_TYPE "one2many" 47#define NGM_ONE2MANY_COOKIE 971111383 --- 8 unchanged lines hidden (view full) --- 56 57/* Link number used to indicate the "one" hook */ 58#define NG_ONE2MANY_ONE_LINKNUM (-1) 59 60/* Algorithms for outgoing packet distribution (XXX only one so far) */ 61#define NG_ONE2MANY_XMIT_ROUNDROBIN 1 /* round-robin delivery */ 62#define NG_ONE2MANY_XMIT_ALL 2 /* send packets to all many hooks */ 63 |
64/* Algorithms for detecting link failure */ | 64/* Algorithms for detecting link failure (XXX only one so far) */ |
65#define NG_ONE2MANY_FAIL_MANUAL 1 /* use enabledLinks[] array */ | 65#define NG_ONE2MANY_FAIL_MANUAL 1 /* use enabledLinks[] array */ |
66#define NG_ONE2MANY_FAIL_IFACE_LINK 2 /* use interface state */ | |
67 68/* Node configuration structure */ 69struct ng_one2many_config { 70 u_int32_t xmitAlg; /* how to distribute packets */ 71 u_int32_t failAlg; /* how to detect link failure */ | 66 67/* Node configuration structure */ 68struct ng_one2many_config { 69 u_int32_t xmitAlg; /* how to distribute packets */ 70 u_int32_t failAlg; /* how to detect link failure */ |
72 u_int32_t interval; /* interval for IFACE_LINK 73 failure algorithm */ | |
74 u_char enabledLinks[NG_ONE2MANY_MAX_LINKS]; 75}; 76 77/* Keep this in sync with the above structure definition */ 78#define NG_ONE2MANY_CONFIG_TYPE_INFO(atype) { \ 79 { "xmitAlg", &ng_parse_uint32_type }, \ 80 { "failAlg", &ng_parse_uint32_type }, \ | 71 u_char enabledLinks[NG_ONE2MANY_MAX_LINKS]; 72}; 73 74/* Keep this in sync with the above structure definition */ 75#define NG_ONE2MANY_CONFIG_TYPE_INFO(atype) { \ 76 { "xmitAlg", &ng_parse_uint32_type }, \ 77 { "failAlg", &ng_parse_uint32_type }, \ |
81 { "interval", &ng_parse_uint32_type }, \ | |
82 { "enabledLinks", (atype) }, \ 83 { NULL } \ 84} 85 86/* Statistics structure (one for each link) */ 87struct ng_one2many_link_stats { 88 u_int64_t recvOctets; /* total octets rec'd on link */ 89 u_int64_t recvPackets; /* total pkts rec'd on link */ --- 26 unchanged lines hidden --- | 78 { "enabledLinks", (atype) }, \ 79 { NULL } \ 80} 81 82/* Statistics structure (one for each link) */ 83struct ng_one2many_link_stats { 84 u_int64_t recvOctets; /* total octets rec'd on link */ 85 u_int64_t recvPackets; /* total pkts rec'd on link */ --- 26 unchanged lines hidden --- |