12345Scsgr
22345Scsgr/*
32345Scsgr * ng_ether.h
42345Scsgr */
52345Scsgr
62345Scsgr/*-
72345Scsgr * Copyright (c) 1996-1999 Whistle Communications, Inc.
82345Scsgr * All rights reserved.
92345Scsgr *
102345Scsgr * Subject to the following obligations and disclaimer of warranty, use and
112345Scsgr * redistribution of this software, in source or object code forms, with or
122345Scsgr * without modifications are expressly permitted by Whistle Communications;
132345Scsgr * provided, however, that:
142345Scsgr * 1. Any and all reproductions of the source or object code must include the
152345Scsgr *    copyright notice above and the following disclaimer of warranties; and
162345Scsgr * 2. No rights are granted, in any manner or form, to use Whistle
172345Scsgr *    Communications, Inc. trademarks, including the mark "WHISTLE
182345Scsgr *    COMMUNICATIONS" on advertising, endorsements, or otherwise except as
192345Scsgr *    such appears in the above copyright notice or in the software.
202345Scsgr *
212345Scsgr * THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
222345Scsgr * TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
232345Scsgr * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
242345Scsgr * INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
252345Scsgr * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
262345Scsgr * WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
272345Scsgr * REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
282345Scsgr * SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
292345Scsgr * IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
302345Scsgr * RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
312345Scsgr * WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
322345Scsgr * PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
332345Scsgr * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
342345Scsgr * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3527976Scharnier * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3650477Speter * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
372345Scsgr * OF SUCH DAMAGE.
382345Scsgr *
392345Scsgr * Author: Archie Cobbs <archie@freebsd.org>
402345Scsgr *
4178455Smikeh * $FreeBSD$
4278455Smikeh * $Whistle: ng_ether.h,v 1.1 1999/02/02 03:17:22 julian Exp $
4378455Smikeh */
4478455Smikeh
4527976Scharnier#ifndef _NETGRAPH_NG_ETHER_H_
462345Scsgr#define _NETGRAPH_NG_ETHER_H_
472345Scsgr
4827976Scharnier/* Node type name and magic cookie */
492345Scsgr#define NG_ETHER_NODE_TYPE	"ether"
5027976Scharnier#define NGM_ETHER_COOKIE	917786906
512345Scsgr
5278455Smikeh/* Hook names */
5378455Smikeh#define NG_ETHER_HOOK_LOWER	"lower"		/* connection to raw device */
5478455Smikeh#define NG_ETHER_HOOK_UPPER	"upper"		/* connection to upper layers */
552345Scsgr#define NG_ETHER_HOOK_DIVERT	"divert"	/* alias for lower */
562345Scsgr#define NG_ETHER_HOOK_ORPHAN	"orphans"	/* like lower, unknowns only */
572345Scsgr
582345Scsgr/* Netgraph control messages */
592345Scsgrenum {
6078455Smikeh	NGM_ETHER_GET_IFNAME = 1,	/* get the interface name */
6178455Smikeh	NGM_ETHER_GET_IFINDEX,		/* get the interface global index # */
622345Scsgr	NGM_ETHER_GET_ENADDR,		/* get Ethernet address */
632345Scsgr	NGM_ETHER_SET_ENADDR,		/* set Ethernet address */
6427976Scharnier	NGM_ETHER_GET_PROMISC,		/* get node's promiscuous mode bit */
6527976Scharnier	NGM_ETHER_SET_PROMISC,		/* enable/disable promiscuous mode */
662345Scsgr	NGM_ETHER_GET_AUTOSRC,		/* get source address override */
672345Scsgr	NGM_ETHER_SET_AUTOSRC,		/* enable/disable src addr override */
688874Srgrimes	NGM_ETHER_ADD_MULTI,		/* add multicast membership */
6978455Smikeh	NGM_ETHER_DEL_MULTI,		/* delete multicast membership */
7078455Smikeh	NGM_ETHER_DETACH,		/* our way to be shut down */
712345Scsgr};
722345Scsgr
732345Scsgr#endif /* _NETGRAPH_NG_ETHER_H_ */
7478455Smikeh