xref: /dflybsd-src/share/man/man4/ng_eiface.4 (revision 8fec8f53c37e2e8a234b9929294099ab617e2ccd)
17dab44e5SSascha Wildner.\" Copyright (c) 2004 Gleb Smirnoff
27dab44e5SSascha Wildner.\" All rights reserved.
37dab44e5SSascha Wildner.\"
47dab44e5SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
57dab44e5SSascha Wildner.\" modification, are permitted provided that the following conditions
67dab44e5SSascha Wildner.\" are met:
77dab44e5SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
87dab44e5SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
97dab44e5SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
107dab44e5SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
117dab44e5SSascha Wildner.\"    documentation and/or other materials provided with the distribution.
127dab44e5SSascha Wildner.\"
137dab44e5SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
147dab44e5SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
157dab44e5SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
167dab44e5SSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
177dab44e5SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
187dab44e5SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
197dab44e5SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
207dab44e5SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
217dab44e5SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
227dab44e5SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
237dab44e5SSascha Wildner.\" SUCH DAMAGE.
247dab44e5SSascha Wildner.\"
257dab44e5SSascha Wildner.\" $FreeBSD: src/share/man/man4/ng_eiface.4,v 1.3.2.1 2005/02/03 13:49:18 ru Exp $
267dab44e5SSascha Wildner.\"
277dab44e5SSascha Wildner.Dd February 3, 2005
287dab44e5SSascha Wildner.Dt NG_EIFACE 4
297dab44e5SSascha Wildner.Os
307dab44e5SSascha Wildner.Sh NAME
317dab44e5SSascha Wildner.Nm ng_eiface
327dab44e5SSascha Wildner.Nd "generic Ethernet interface netgraph node type"
337dab44e5SSascha Wildner.Sh SYNOPSIS
34*8fec8f53SSascha Wildner.In netgraph/eiface/ng_eiface.h
357dab44e5SSascha Wildner.Sh DESCRIPTION
367dab44e5SSascha WildnerThe
377dab44e5SSascha Wildner.Vt eiface
387dab44e5SSascha Wildnernetgraph node implements the generic Ethernet interface.
397dab44e5SSascha WildnerWhen
407dab44e5SSascha Wildner.Vt eiface
417dab44e5SSascha Wildnernode is created, a new interface appears which is accessible via
427dab44e5SSascha Wildner.Xr ifconfig 8 .
437dab44e5SSascha WildnerThese interfaces are named
447dab44e5SSascha Wildner.Dq Li ngeth0 ,
457dab44e5SSascha Wildner.Dq Li ngeth1 ,
467dab44e5SSascha Wildneretc.
477dab44e5SSascha WildnerWhen a node is shut down, the corresponding interface is removed,
487dab44e5SSascha Wildnerand the interface name becomes available for reuse by future
497dab44e5SSascha Wildner.Vt eiface
507dab44e5SSascha Wildnernodes.
517dab44e5SSascha WildnerNew nodes always take the first unused interface.
527dab44e5SSascha Wildner.Sh HOOKS
537dab44e5SSascha WildnerAn
547dab44e5SSascha Wildner.Vt eiface
557dab44e5SSascha Wildnernode has a single hook named
567dab44e5SSascha Wildner.Va ether ,
577dab44e5SSascha Wildnerwhich should be connected to the
58a280d6c4SSascha WildnerEthernet downstream.
59a280d6c4SSascha Wildner.\", for example, to the
60a280d6c4SSascha Wildner.\".Xr ng_vlan 4
61a280d6c4SSascha Wildner.\"node.
627dab44e5SSascha WildnerPackets transmitted via the interface flow out this hook.
637dab44e5SSascha WildnerSimilarly, packets received on the hook go to the protocol stack as
647dab44e5SSascha Wildnerpackets received by any real Ethernet interface.
657dab44e5SSascha Wildner.Sh CONTROL MESSAGES
667dab44e5SSascha WildnerThis node type supports the generic control messages, plus the following:
677dab44e5SSascha Wildner.Bl -tag -width indent
687dab44e5SSascha Wildner.It Dv NGM_EIFACE_SET Pq Li set
697dab44e5SSascha WildnerSet link-level address of the interface.
707dab44e5SSascha WildnerRequires
717dab44e5SSascha Wildner.Vt "struct ether_addr"
727dab44e5SSascha Wildneras an argument.
737dab44e5SSascha WildnerThis message also has an
747dab44e5SSascha Wildner.Tn ASCII
757dab44e5SSascha Wildnerversion, called
767dab44e5SSascha Wildner.Dq Li set ,
777dab44e5SSascha Wildnerwhich requires as an argument an
787dab44e5SSascha Wildner.Tn ASCII
797dab44e5SSascha Wildnerstring consisting of 6 colon-separated hex digits.
807dab44e5SSascha Wildner.It Dv NGM_EIFACE_GET_IFNAME Pq Li getifname
817dab44e5SSascha WildnerReturn the name of the associated interface as a
827dab44e5SSascha Wildner.Dv NUL Ns -terminated
837dab44e5SSascha Wildner.Tn ASCII
847dab44e5SSascha Wildnerstring.
857dab44e5SSascha Wildner.It Dv NGM_EIFACE_GET_IFADDRS
867dab44e5SSascha WildnerReturn the list of link-level addresses associated with the node.
877dab44e5SSascha Wildner.El
887dab44e5SSascha Wildner.Sh SHUTDOWN
897dab44e5SSascha WildnerThis node shuts down upon receipt of a
907dab44e5SSascha Wildner.Dv NGM_SHUTDOWN
917dab44e5SSascha Wildnercontrol message.
927dab44e5SSascha WildnerThe associated interface is removed and its name becomes
937dab44e5SSascha Wildneravailable for reuse by future
947dab44e5SSascha Wildner.Vt eiface
957dab44e5SSascha Wildnernodes.
967dab44e5SSascha Wildner.Pp
977dab44e5SSascha WildnerUnlike most other node types, an
987dab44e5SSascha Wildner.Vt eiface
997dab44e5SSascha Wildnernode does
1007dab44e5SSascha Wildner.Em not
1017dab44e5SSascha Wildnergo away when all hooks have been disconnected; rather, and explicit
1027dab44e5SSascha Wildner.Dv NGM_SHUTDOWN
1037dab44e5SSascha Wildnercontrol message is required.
1047dab44e5SSascha Wildner.Sh SEE ALSO
1057dab44e5SSascha Wildner.Xr netgraph 4 ,
1067dab44e5SSascha Wildner.Xr ng_ether 4 ,
1077dab44e5SSascha Wildner.Xr ng_iface 4 ,
108a280d6c4SSascha Wildner.\".Xr ng_vlan 4 ,
1097dab44e5SSascha Wildner.Xr ifconfig 8 ,
1107dab44e5SSascha Wildner.Xr ngctl 8
1117dab44e5SSascha Wildner.Sh HISTORY
1127dab44e5SSascha WildnerThe
1137dab44e5SSascha Wildner.Vt eiface
1147dab44e5SSascha Wildnernode type was implemented in
1157dab44e5SSascha Wildner.Fx 4.6 .
1167dab44e5SSascha Wildner.Sh AUTHORS
1177dab44e5SSascha Wildner.An -nosplit
1187dab44e5SSascha WildnerThe
1197dab44e5SSascha Wildner.Vt eiface
1207dab44e5SSascha Wildnernode type was written by
1217dab44e5SSascha Wildner.An Vitaly V Belekhov .
1227dab44e5SSascha WildnerThis manual page was written by
1237dab44e5SSascha Wildner.An Gleb Smirnoff .
124