12b2c95c9SJulian Elischer /* 22b2c95c9SJulian Elischer * ng_eiface.h 3c398230bSWarner Losh */ 4c398230bSWarner Losh 5c398230bSWarner Losh /*- 62b2c95c9SJulian Elischer * Copyright (c) 1999-2001, Vitaly V Belekhov 72b2c95c9SJulian Elischer * All rights reserved. 82b2c95c9SJulian Elischer * 92b2c95c9SJulian Elischer * Redistribution and use in source and binary forms, with or without 102b2c95c9SJulian Elischer * modification, are permitted provided that the following conditions 112b2c95c9SJulian Elischer * are met: 122b2c95c9SJulian Elischer * 1. Redistributions of source code must retain the above copyright 132b2c95c9SJulian Elischer * notice unmodified, this list of conditions, and the following 142b2c95c9SJulian Elischer * disclaimer. 152b2c95c9SJulian Elischer * 2. Redistributions in binary form must reproduce the above copyright 162b2c95c9SJulian Elischer * notice, this list of conditions and the following disclaimer in the 172b2c95c9SJulian Elischer * documentation and/or other materials provided with the distribution. 182b2c95c9SJulian Elischer * 192b2c95c9SJulian Elischer * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 202b2c95c9SJulian Elischer * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 212b2c95c9SJulian Elischer * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 222b2c95c9SJulian Elischer * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 232b2c95c9SJulian Elischer * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 242b2c95c9SJulian Elischer * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 252b2c95c9SJulian Elischer * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 262b2c95c9SJulian Elischer * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 272b2c95c9SJulian Elischer * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 282b2c95c9SJulian Elischer * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 292b2c95c9SJulian Elischer * SUCH DAMAGE. 302b2c95c9SJulian Elischer * 312b2c95c9SJulian Elischer * $FreeBSD$ 322b2c95c9SJulian Elischer */ 332b2c95c9SJulian Elischer 34e20480bfSRuslan Ermilov #ifndef _NETGRAPH_NG_EIFACE_H_ 35e20480bfSRuslan Ermilov #define _NETGRAPH_NG_EIFACE_H_ 362b2c95c9SJulian Elischer 372b2c95c9SJulian Elischer /* Node type name and magic cookie */ 382b2c95c9SJulian Elischer #define NG_EIFACE_NODE_TYPE "eiface" 392b2c95c9SJulian Elischer #define NGM_EIFACE_COOKIE 948105892 402b2c95c9SJulian Elischer 412b2c95c9SJulian Elischer /* Interface base name */ 4280476bacSRuslan Ermilov #define NG_EIFACE_EIFACE_NAME "ngeth" 432b2c95c9SJulian Elischer #define NG_EIFACE_EIFACE_NAME_MAX 15 442b2c95c9SJulian Elischer 452b2c95c9SJulian Elischer /* My hook names */ 462b2c95c9SJulian Elischer #define NG_EIFACE_HOOK_ETHER "ether" 472b2c95c9SJulian Elischer 482b2c95c9SJulian Elischer /* MTU bounds */ 492b2c95c9SJulian Elischer #define NG_EIFACE_MTU_MIN 72 502b2c95c9SJulian Elischer #define NG_EIFACE_MTU_MAX 2312 512b2c95c9SJulian Elischer #define NG_EIFACE_MTU_DEFAULT 1500 522b2c95c9SJulian Elischer 532b2c95c9SJulian Elischer /* Netgraph commands */ 542b2c95c9SJulian Elischer enum { 552b2c95c9SJulian Elischer NGM_EIFACE_GET_IFNAME = 1, /* returns struct ng_eiface_ifname */ 562b2c95c9SJulian Elischer NGM_EIFACE_GET_IFADDRS, /* returns list of addresses */ 572b2c95c9SJulian Elischer NGM_EIFACE_SET, /* set ethernet address */ 582b2c95c9SJulian Elischer }; 592b2c95c9SJulian Elischer 602b2c95c9SJulian Elischer struct ng_eiface_ifname { 612b2c95c9SJulian Elischer char ngif_name[NG_EIFACE_EIFACE_NAME_MAX + 1]; 622b2c95c9SJulian Elischer }; 632b2c95c9SJulian Elischer 64e20480bfSRuslan Ermilov #endif /* _NETGRAPH_NG_EIFACE_H_ */ 65