Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/netgraph/ng_eiface.h
34372 views
1
/*
2
* ng_eiface.h
3
*/
4
5
/*-
6
* SPDX-License-Identifier: BSD-2-Clause
7
*
8
* Copyright (c) 1999-2001, Vitaly V Belekhov
9
* All rights reserved.
10
*
11
* Redistribution and use in source and binary forms, with or without
12
* modification, are permitted provided that the following conditions
13
* are met:
14
* 1. Redistributions of source code must retain the above copyright
15
* notice unmodified, this list of conditions, and the following
16
* disclaimer.
17
* 2. Redistributions in binary form must reproduce the above copyright
18
* notice, this list of conditions and the following disclaimer in the
19
* documentation and/or other materials provided with the distribution.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
22
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
25
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31
* SUCH DAMAGE.
32
*/
33
34
#ifndef _NETGRAPH_NG_EIFACE_H_
35
#define _NETGRAPH_NG_EIFACE_H_
36
37
/* Node type name and magic cookie */
38
#define NG_EIFACE_NODE_TYPE "eiface"
39
#define NGM_EIFACE_COOKIE 948105892
40
41
/* Interface base name */
42
#define NG_EIFACE_EIFACE_NAME "ngeth"
43
44
/* My hook names */
45
#define NG_EIFACE_HOOK_ETHER "ether"
46
47
/* MTU bounds */
48
#define NG_EIFACE_MTU_MIN 72
49
#define NG_EIFACE_MTU_MAX ETHER_MAX_LEN_JUMBO
50
#define NG_EIFACE_MTU_DEFAULT 1500
51
52
/* Netgraph commands */
53
enum {
54
NGM_EIFACE_GET_IFNAME = 1, /* get the interface name */
55
NGM_EIFACE_GET_IFADDRS, /* returns list of addresses */
56
NGM_EIFACE_SET, /* set ethernet address */
57
};
58
59
#endif /* _NETGRAPH_NG_EIFACE_H_ */
60
61