ng_ether.h revision 141910
198524Sfenner
298524Sfenner/*
398524Sfenner * ng_ether.h
498524Sfenner */
598524Sfenner
698524Sfenner/*-
798524Sfenner * Copyright (c) 1996-1999 Whistle Communications, Inc.
898524Sfenner * All rights reserved.
998524Sfenner *
1098524Sfenner * Subject to the following obligations and disclaimer of warranty, use and
1198524Sfenner * redistribution of this software, in source or object code forms, with or
1298524Sfenner * without modifications are expressly permitted by Whistle Communications;
1398524Sfenner * provided, however, that:
1498524Sfenner * 1. Any and all reproductions of the source or object code must include the
1598524Sfenner *    copyright notice above and the following disclaimer of warranties; and
1698524Sfenner * 2. No rights are granted, in any manner or form, to use Whistle
1798524Sfenner *    Communications, Inc. trademarks, including the mark "WHISTLE
1898524Sfenner *    COMMUNICATIONS" on advertising, endorsements, or otherwise except as
1998524Sfenner *    such appears in the above copyright notice or in the software.
2098524Sfenner *
2198524Sfenner * THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
2298524Sfenner * TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
2398524Sfenner * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
2498524Sfenner * INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
2598524Sfenner * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
2698524Sfenner * WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
2798524Sfenner * REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
2898524Sfenner * SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
2998524Sfenner * IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
3098524Sfenner * RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
3198524Sfenner * WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
3298524Sfenner * PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
3398524Sfenner * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
3498524Sfenner * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3598524Sfenner * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3698524Sfenner * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
37127668Sbms * OF SUCH DAMAGE.
38127668Sbms *
3998524Sfenner * Author: Archie Cobbs <archie@freebsd.org>
4098524Sfenner *
4198524Sfenner * $FreeBSD: head/sys/netgraph/ng_ether.h 141910 2005-02-14 12:01:09Z glebius $
4298524Sfenner * $Whistle: ng_ether.h,v 1.1 1999/02/02 03:17:22 julian Exp $
4398524Sfenner */
4498524Sfenner
45127668Sbms#ifndef _NETGRAPH_NG_ETHER_H_
4698524Sfenner#define _NETGRAPH_NG_ETHER_H_
4798524Sfenner
4898524Sfenner/* Node type name and magic cookie */
4998524Sfenner#define NG_ETHER_NODE_TYPE	"ether"
5098524Sfenner#define NGM_ETHER_COOKIE	917786906
5198524Sfenner
5298524Sfenner/* Hook names */
5398524Sfenner#define NG_ETHER_HOOK_LOWER	"lower"		/* connection to raw device */
5498524Sfenner#define NG_ETHER_HOOK_UPPER	"upper"		/* connection to upper layers */
5598524Sfenner#define NG_ETHER_HOOK_DIVERT	"divert"	/* alias for lower */
5698524Sfenner#define NG_ETHER_HOOK_ORPHAN	"orphans"	/* like lower, unknowns only */
5798524Sfenner
5898524Sfenner/* Netgraph control messages */
5998524Sfennerenum {
6098524Sfenner	NGM_ETHER_GET_IFNAME = 1,	/* get the interface name */
6198524Sfenner	NGM_ETHER_GET_IFINDEX,		/* get the interface global index # */
6298524Sfenner	NGM_ETHER_GET_ENADDR,		/* get Ethernet address */
6398524Sfenner	NGM_ETHER_SET_ENADDR,		/* set Ethernet address */
6498524Sfenner	NGM_ETHER_GET_PROMISC,		/* get node's promiscuous mode bit */
65127668Sbms	NGM_ETHER_SET_PROMISC,		/* enable/disable promiscuous mode */
6698524Sfenner	NGM_ETHER_GET_AUTOSRC,		/* get source address override */
6798524Sfenner	NGM_ETHER_SET_AUTOSRC,		/* enable/disable src addr override */
6898524Sfenner	NGM_ETHER_ADD_MULTI,		/* add multicast membership */
6998524Sfenner	NGM_ETHER_DEL_MULTI,		/* delete multicast membership */
7098524Sfenner	NGM_ETHER_DETACH,		/* our way to be shut down */
7198524Sfenner};
72111726Sfenner
7398524Sfenner#endif /* _NETGRAPH_NG_ETHER_H_ */
7498524Sfenner