12b2c95c9SJulian Elischer /* 22b2c95c9SJulian Elischer * ng_eiface.h 3c398230bSWarner Losh */ 4c398230bSWarner Losh 5c398230bSWarner Losh /*- 6*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 7fe267a55SPedro F. Giffuni * 82b2c95c9SJulian Elischer * Copyright (c) 1999-2001, Vitaly V Belekhov 92b2c95c9SJulian Elischer * All rights reserved. 102b2c95c9SJulian Elischer * 112b2c95c9SJulian Elischer * Redistribution and use in source and binary forms, with or without 122b2c95c9SJulian Elischer * modification, are permitted provided that the following conditions 132b2c95c9SJulian Elischer * are met: 142b2c95c9SJulian Elischer * 1. Redistributions of source code must retain the above copyright 152b2c95c9SJulian Elischer * notice unmodified, this list of conditions, and the following 162b2c95c9SJulian Elischer * disclaimer. 172b2c95c9SJulian Elischer * 2. Redistributions in binary form must reproduce the above copyright 182b2c95c9SJulian Elischer * notice, this list of conditions and the following disclaimer in the 192b2c95c9SJulian Elischer * documentation and/or other materials provided with the distribution. 202b2c95c9SJulian Elischer * 212b2c95c9SJulian Elischer * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 222b2c95c9SJulian Elischer * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 232b2c95c9SJulian Elischer * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 242b2c95c9SJulian Elischer * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 252b2c95c9SJulian Elischer * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 262b2c95c9SJulian Elischer * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 272b2c95c9SJulian Elischer * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 282b2c95c9SJulian Elischer * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 292b2c95c9SJulian Elischer * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 302b2c95c9SJulian Elischer * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 312b2c95c9SJulian Elischer * SUCH DAMAGE. 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 442b2c95c9SJulian Elischer /* My hook names */ 452b2c95c9SJulian Elischer #define NG_EIFACE_HOOK_ETHER "ether" 462b2c95c9SJulian Elischer 472b2c95c9SJulian Elischer /* MTU bounds */ 482b2c95c9SJulian Elischer #define NG_EIFACE_MTU_MIN 72 49abe80e12SMarko Zec #define NG_EIFACE_MTU_MAX ETHER_MAX_LEN_JUMBO 502b2c95c9SJulian Elischer #define NG_EIFACE_MTU_DEFAULT 1500 512b2c95c9SJulian Elischer 522b2c95c9SJulian Elischer /* Netgraph commands */ 532b2c95c9SJulian Elischer enum { 54c60878f0SRuslan Ermilov NGM_EIFACE_GET_IFNAME = 1, /* get the interface name */ 552b2c95c9SJulian Elischer NGM_EIFACE_GET_IFADDRS, /* returns list of addresses */ 562b2c95c9SJulian Elischer NGM_EIFACE_SET, /* set ethernet address */ 572b2c95c9SJulian Elischer }; 582b2c95c9SJulian Elischer 59e20480bfSRuslan Ermilov #endif /* _NETGRAPH_NG_EIFACE_H_ */ 60